@programinglive/dev-workflow-mcp-server 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/.agent/workflows/dev-workflow-bugfix.md +250 -250
  2. package/.agent/workflows/dev-workflow-feature.md +201 -201
  3. package/.agent/workflows/dev-workflow-full-cycle.md +400 -400
  4. package/.agent/workflows/dev-workflow-refactor.md +238 -238
  5. package/.github/ISSUE_TEMPLATE/bug_report.md +34 -34
  6. package/.github/ISSUE_TEMPLATE/feature_request.md +25 -25
  7. package/.github/pull_request_template.md +22 -22
  8. package/.github/workflows/npm-publish.yml +50 -50
  9. package/.husky/commit-msg +0 -0
  10. package/CHANGELOG.md +749 -739
  11. package/CODE_OF_CONDUCT.md +79 -79
  12. package/CONTRIBUTING.md +60 -60
  13. package/LICENSE +21 -21
  14. package/README.md +632 -632
  15. package/SECURITY.md +20 -20
  16. package/db/index.js +204 -204
  17. package/docs/NETLIFY_DEPLOYMENT.md +125 -125
  18. package/docs/PLESK_DEPLOYMENT.md +170 -170
  19. package/docs/WORKFLOW-BEST-PRACTICES.md +58 -58
  20. package/docs/antigravity/EXAMPLES.md +535 -535
  21. package/docs/antigravity/GETTING-STARTED.md +292 -292
  22. package/docs/antigravity/TROUBLESHOOTING.md +742 -742
  23. package/docs/antigravity/WALKTHROUGH.md +25 -25
  24. package/docs/antigravity/WORKFLOW-TEMPLATES.md +670 -670
  25. package/docs/product/PRD.md +67 -67
  26. package/docs/release-notes/RELEASE_NOTES.md +226 -226
  27. package/docs/web-dashboard.md +175 -175
  28. package/exec.js +49 -49
  29. package/index.js +279 -279
  30. package/install.js +73 -73
  31. package/package.json +4 -4
  32. package/release-wrapper.js +192 -192
  33. package/scripts/build-docs.js +63 -63
  34. package/scripts/hello-world.js +1 -1
  35. package/scripts/release.cjs +252 -252
  36. package/scripts/update-release-notes.cjs +178 -178
  37. package/server.json +23 -23
  38. package/tailwind.config.js +8 -8
  39. package/tests/build.test.js +83 -91
  40. package/tests/exec.test.js +35 -35
  41. package/tests/handlers.test.js +1058 -1058
  42. package/tests/hello-world.test.js +13 -13
  43. package/tests/mcpRegistry.test.js +65 -65
  44. package/tests/release-wrapper.test.js +107 -107
  45. package/tests/workflowState.test.js +505 -505
  46. package/tools/definitions.js +332 -332
  47. package/tools/handlers.js +1019 -1019
  48. package/vite.config.js +43 -43
  49. package/vite.web.config.js +23 -23
  50. package/web/README.md +36 -36
  51. package/web/app/docs/page.tsx +202 -202
  52. package/web/app/globals.css +90 -90
  53. package/web/app/layout.tsx +36 -36
  54. package/web/app/page.tsx +15 -15
  55. package/web/components/ApiReference.tsx +20 -20
  56. package/web/components/Features.tsx +61 -61
  57. package/web/components/Footer.tsx +9 -9
  58. package/web/components/Hero.tsx +96 -97
  59. package/web/components/History.tsx +143 -143
  60. package/web/components/Navbar.tsx +64 -64
  61. package/web/components/Terminal.tsx +114 -114
  62. package/web/eslint.config.mjs +18 -18
  63. package/web/lib/db.js +131 -131
  64. package/web/lib/docs.js +73 -73
  65. package/web/netlify.toml +3 -6
  66. package/web/next.config.ts +12 -7
  67. package/web/package-lock.json +6560 -6560
  68. package/web/package.json +28 -28
  69. package/web/postcss.config.mjs +9 -9
  70. package/web/server.js +31 -31
  71. package/web/tailwind.config.ts +19 -19
  72. package/web/tsconfig.json +42 -42
  73. package/workflow-state.js +612 -612
  74. package/web/app/api/docs/route.ts +0 -32
  75. package/web/app/api/history/route.ts +0 -12
  76. package/web/app/api/npm-downloads/route.ts +0 -21
  77. package/web/app/api/summary/route.ts +0 -13
  78. package/web/app/api/version/route.ts +0 -8
package/web/lib/docs.js CHANGED
@@ -1,73 +1,73 @@
1
- import { readFile, access } from "fs/promises";
2
- import { join, dirname } from "path";
3
- import { existsSync } from "fs";
4
- import path from "path";
5
-
6
- function getProjectRoot() {
7
- const initCwd = process.env.INIT_CWD || process.cwd();
8
- let projectRoot = initCwd;
9
- while (projectRoot !== path.dirname(projectRoot)) {
10
- if (existsSync(path.join(projectRoot, "package.json")) && existsSync(path.join(projectRoot, "docs"))) return projectRoot;
11
- projectRoot = path.dirname(projectRoot);
12
- }
13
- return path.join(process.cwd(), "..");
14
- }
15
-
16
- const projectRoot = getProjectRoot();
17
-
18
- const docSources = {
19
- "README.md": {
20
- markdown: join(projectRoot, "README.md"),
21
- html: join(projectRoot, "dist", "docs", "README.html"),
22
- },
23
- "web-dashboard.md": {
24
- markdown: join(projectRoot, "docs", "web-dashboard.md"),
25
- html: join(projectRoot, "dist", "docs", "web-dashboard.html"),
26
- },
27
- "GETTING-STARTED.md": {
28
- markdown: join(projectRoot, "docs", "antigravity", "GETTING-STARTED.md"),
29
- html: join(projectRoot, "dist", "docs", "GETTING-STARTED.html"),
30
- },
31
- "EXAMPLES.md": {
32
- markdown: join(projectRoot, "docs", "antigravity", "EXAMPLES.md"),
33
- html: join(projectRoot, "dist", "docs", "EXAMPLES.html"),
34
- },
35
- "WORKFLOW-TEMPLATES.md": {
36
- markdown: join(projectRoot, "docs", "antigravity", "WORKFLOW-TEMPLATES.md"),
37
- html: join(projectRoot, "dist", "docs", "WORKFLOW-TEMPLATES.html"),
38
- },
39
- "TROUBLESHOOTING.md": {
40
- markdown: join(projectRoot, "docs", "antigravity", "TROUBLESHOOTING.md"),
41
- html: join(projectRoot, "dist", "docs", "TROUBLESHOOTING.html"),
42
- },
43
- "RELEASE_NOTES.md": {
44
- markdown: join(projectRoot, "docs", "release-notes", "RELEASE_NOTES.md"),
45
- html: join(projectRoot, "dist", "docs", "RELEASE_NOTES.html"),
46
- },
47
- };
48
-
49
- export async function resolveDocContent(docKey) {
50
- const entry = docSources[docKey];
51
- if (!entry) {
52
- return { exists: false };
53
- }
54
-
55
- // Try HTML first, fall back to Markdown in development or if HTML missing.
56
- const candidates = [entry.html, entry.markdown];
57
- for (const candidate of candidates) {
58
- try {
59
- await access(candidate);
60
- const content = await readFile(candidate, "utf-8");
61
- const format = candidate.endsWith(".html") ? "html" : "markdown";
62
- return { exists: true, content, format };
63
- } catch {
64
- // try next candidate
65
- }
66
- }
67
-
68
- return { exists: false };
69
- }
70
-
71
- export function getAvailableDocs() {
72
- return Object.keys(docSources);
73
- }
1
+ import { readFile, access } from "fs/promises";
2
+ import { join, dirname } from "path";
3
+ import { existsSync } from "fs";
4
+ import path from "path";
5
+
6
+ function getProjectRoot() {
7
+ const initCwd = process.env.INIT_CWD || process.cwd();
8
+ let projectRoot = initCwd;
9
+ while (projectRoot !== path.dirname(projectRoot)) {
10
+ if (existsSync(path.join(projectRoot, "package.json")) && existsSync(path.join(projectRoot, "docs"))) return projectRoot;
11
+ projectRoot = path.dirname(projectRoot);
12
+ }
13
+ return path.join(process.cwd(), "..");
14
+ }
15
+
16
+ const projectRoot = getProjectRoot();
17
+
18
+ const docSources = {
19
+ "README.md": {
20
+ markdown: join(projectRoot, "README.md"),
21
+ html: join(projectRoot, "dist", "docs", "README.html"),
22
+ },
23
+ "web-dashboard.md": {
24
+ markdown: join(projectRoot, "docs", "web-dashboard.md"),
25
+ html: join(projectRoot, "dist", "docs", "web-dashboard.html"),
26
+ },
27
+ "GETTING-STARTED.md": {
28
+ markdown: join(projectRoot, "docs", "antigravity", "GETTING-STARTED.md"),
29
+ html: join(projectRoot, "dist", "docs", "GETTING-STARTED.html"),
30
+ },
31
+ "EXAMPLES.md": {
32
+ markdown: join(projectRoot, "docs", "antigravity", "EXAMPLES.md"),
33
+ html: join(projectRoot, "dist", "docs", "EXAMPLES.html"),
34
+ },
35
+ "WORKFLOW-TEMPLATES.md": {
36
+ markdown: join(projectRoot, "docs", "antigravity", "WORKFLOW-TEMPLATES.md"),
37
+ html: join(projectRoot, "dist", "docs", "WORKFLOW-TEMPLATES.html"),
38
+ },
39
+ "TROUBLESHOOTING.md": {
40
+ markdown: join(projectRoot, "docs", "antigravity", "TROUBLESHOOTING.md"),
41
+ html: join(projectRoot, "dist", "docs", "TROUBLESHOOTING.html"),
42
+ },
43
+ "RELEASE_NOTES.md": {
44
+ markdown: join(projectRoot, "docs", "release-notes", "RELEASE_NOTES.md"),
45
+ html: join(projectRoot, "dist", "docs", "RELEASE_NOTES.html"),
46
+ },
47
+ };
48
+
49
+ export async function resolveDocContent(docKey) {
50
+ const entry = docSources[docKey];
51
+ if (!entry) {
52
+ return { exists: false };
53
+ }
54
+
55
+ // Try HTML first, fall back to Markdown in development or if HTML missing.
56
+ const candidates = [entry.html, entry.markdown];
57
+ for (const candidate of candidates) {
58
+ try {
59
+ await access(candidate);
60
+ const content = await readFile(candidate, "utf-8");
61
+ const format = candidate.endsWith(".html") ? "html" : "markdown";
62
+ return { exists: true, content, format };
63
+ } catch {
64
+ // try next candidate
65
+ }
66
+ }
67
+
68
+ return { exists: false };
69
+ }
70
+
71
+ export function getAvailableDocs() {
72
+ return Object.keys(docSources);
73
+ }
package/web/netlify.toml CHANGED
@@ -1,6 +1,3 @@
1
- [build]
2
- command = "npm run build"
3
- publish = ".next"
4
-
5
- [[plugins]]
6
- package = "@netlify/plugin-nextjs"
1
+ [build]
2
+ command = "npm run build"
3
+ publish = "out"
@@ -1,7 +1,12 @@
1
- import type { NextConfig } from "next";
2
-
3
- const nextConfig: NextConfig = {
4
- // Netlify handles the build output automatically
5
- };
6
-
7
- export default nextConfig;
1
+ import type { NextConfig } from "next";
2
+
3
+ const nextConfig: NextConfig = {
4
+ // Static export for Netlify deployment
5
+ output: 'export',
6
+ // Disable image optimization for static export
7
+ images: {
8
+ unoptimized: true,
9
+ },
10
+ };
11
+
12
+ export default nextConfig;