@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.
- package/.agent/workflows/dev-workflow-bugfix.md +250 -250
- package/.agent/workflows/dev-workflow-feature.md +201 -201
- package/.agent/workflows/dev-workflow-full-cycle.md +400 -400
- package/.agent/workflows/dev-workflow-refactor.md +238 -238
- package/.github/ISSUE_TEMPLATE/bug_report.md +34 -34
- package/.github/ISSUE_TEMPLATE/feature_request.md +25 -25
- package/.github/pull_request_template.md +22 -22
- package/.github/workflows/npm-publish.yml +50 -50
- package/.husky/commit-msg +0 -0
- package/CHANGELOG.md +749 -739
- package/CODE_OF_CONDUCT.md +79 -79
- package/CONTRIBUTING.md +60 -60
- package/LICENSE +21 -21
- package/README.md +632 -632
- package/SECURITY.md +20 -20
- package/db/index.js +204 -204
- package/docs/NETLIFY_DEPLOYMENT.md +125 -125
- package/docs/PLESK_DEPLOYMENT.md +170 -170
- package/docs/WORKFLOW-BEST-PRACTICES.md +58 -58
- package/docs/antigravity/EXAMPLES.md +535 -535
- package/docs/antigravity/GETTING-STARTED.md +292 -292
- package/docs/antigravity/TROUBLESHOOTING.md +742 -742
- package/docs/antigravity/WALKTHROUGH.md +25 -25
- package/docs/antigravity/WORKFLOW-TEMPLATES.md +670 -670
- package/docs/product/PRD.md +67 -67
- package/docs/release-notes/RELEASE_NOTES.md +226 -226
- package/docs/web-dashboard.md +175 -175
- package/exec.js +49 -49
- package/index.js +279 -279
- package/install.js +73 -73
- package/package.json +4 -4
- package/release-wrapper.js +192 -192
- package/scripts/build-docs.js +63 -63
- package/scripts/hello-world.js +1 -1
- package/scripts/release.cjs +252 -252
- package/scripts/update-release-notes.cjs +178 -178
- package/server.json +23 -23
- package/tailwind.config.js +8 -8
- package/tests/build.test.js +83 -91
- package/tests/exec.test.js +35 -35
- package/tests/handlers.test.js +1058 -1058
- package/tests/hello-world.test.js +13 -13
- package/tests/mcpRegistry.test.js +65 -65
- package/tests/release-wrapper.test.js +107 -107
- package/tests/workflowState.test.js +505 -505
- package/tools/definitions.js +332 -332
- package/tools/handlers.js +1019 -1019
- package/vite.config.js +43 -43
- package/vite.web.config.js +23 -23
- package/web/README.md +36 -36
- package/web/app/docs/page.tsx +202 -202
- package/web/app/globals.css +90 -90
- package/web/app/layout.tsx +36 -36
- package/web/app/page.tsx +15 -15
- package/web/components/ApiReference.tsx +20 -20
- package/web/components/Features.tsx +61 -61
- package/web/components/Footer.tsx +9 -9
- package/web/components/Hero.tsx +96 -97
- package/web/components/History.tsx +143 -143
- package/web/components/Navbar.tsx +64 -64
- package/web/components/Terminal.tsx +114 -114
- package/web/eslint.config.mjs +18 -18
- package/web/lib/db.js +131 -131
- package/web/lib/docs.js +73 -73
- package/web/netlify.toml +3 -6
- package/web/next.config.ts +12 -7
- package/web/package-lock.json +6560 -6560
- package/web/package.json +28 -28
- package/web/postcss.config.mjs +9 -9
- package/web/server.js +31 -31
- package/web/tailwind.config.ts +19 -19
- package/web/tsconfig.json +42 -42
- package/workflow-state.js +612 -612
- package/web/app/api/docs/route.ts +0 -32
- package/web/app/api/history/route.ts +0 -12
- package/web/app/api/npm-downloads/route.ts +0 -21
- package/web/app/api/summary/route.ts +0 -13
- package/web/app/api/version/route.ts +0 -8
package/vite.config.js
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { defineConfig } from 'vite';
|
|
2
|
-
import { fileURLToPath } from 'url';
|
|
3
|
-
import path from 'path';
|
|
4
|
-
|
|
5
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = path.dirname(__filename);
|
|
7
|
-
|
|
8
|
-
export default defineConfig({
|
|
9
|
-
build: {
|
|
10
|
-
target: 'node18',
|
|
11
|
-
outDir: 'dist',
|
|
12
|
-
minify: false,
|
|
13
|
-
rollupOptions: {
|
|
14
|
-
input: path.resolve(__dirname, 'index.js'),
|
|
15
|
-
output: {
|
|
16
|
-
entryFileNames: 'index.mjs',
|
|
17
|
-
format: 'es',
|
|
18
|
-
},
|
|
19
|
-
external: [
|
|
20
|
-
'@modelcontextprotocol/sdk',
|
|
21
|
-
// Node.js built-in modules
|
|
22
|
-
'node:fs',
|
|
23
|
-
'node:path',
|
|
24
|
-
'node:url',
|
|
25
|
-
'node:util',
|
|
26
|
-
'node:os',
|
|
27
|
-
'node:process',
|
|
28
|
-
'node:child_process',
|
|
29
|
-
'fs',
|
|
30
|
-
'fs/promises',
|
|
31
|
-
'path',
|
|
32
|
-
'url',
|
|
33
|
-
'util',
|
|
34
|
-
'os',
|
|
35
|
-
'process',
|
|
36
|
-
'child_process',
|
|
37
|
-
],
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
define: {
|
|
41
|
-
__filename: JSON.stringify(path.resolve(__dirname, 'index.js')),
|
|
42
|
-
},
|
|
43
|
-
});
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = path.dirname(__filename);
|
|
7
|
+
|
|
8
|
+
export default defineConfig({
|
|
9
|
+
build: {
|
|
10
|
+
target: 'node18',
|
|
11
|
+
outDir: 'dist',
|
|
12
|
+
minify: false,
|
|
13
|
+
rollupOptions: {
|
|
14
|
+
input: path.resolve(__dirname, 'index.js'),
|
|
15
|
+
output: {
|
|
16
|
+
entryFileNames: 'index.mjs',
|
|
17
|
+
format: 'es',
|
|
18
|
+
},
|
|
19
|
+
external: [
|
|
20
|
+
'@modelcontextprotocol/sdk',
|
|
21
|
+
// Node.js built-in modules
|
|
22
|
+
'node:fs',
|
|
23
|
+
'node:path',
|
|
24
|
+
'node:url',
|
|
25
|
+
'node:util',
|
|
26
|
+
'node:os',
|
|
27
|
+
'node:process',
|
|
28
|
+
'node:child_process',
|
|
29
|
+
'fs',
|
|
30
|
+
'fs/promises',
|
|
31
|
+
'path',
|
|
32
|
+
'url',
|
|
33
|
+
'util',
|
|
34
|
+
'os',
|
|
35
|
+
'process',
|
|
36
|
+
'child_process',
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
define: {
|
|
41
|
+
__filename: JSON.stringify(path.resolve(__dirname, 'index.js')),
|
|
42
|
+
},
|
|
43
|
+
});
|
package/vite.web.config.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { defineConfig } from 'vite';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import { fileURLToPath } from 'url';
|
|
4
|
-
|
|
5
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = path.dirname(__filename);
|
|
7
|
-
|
|
8
|
-
export default defineConfig({
|
|
9
|
-
root: 'web/public',
|
|
10
|
-
build: {
|
|
11
|
-
outDir: '../../dist/web',
|
|
12
|
-
emptyOutDir: true,
|
|
13
|
-
rollupOptions: {
|
|
14
|
-
input: path.resolve(__dirname, 'web/public/index.html'),
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
server: {
|
|
18
|
-
port: 3111,
|
|
19
|
-
proxy: {
|
|
20
|
-
'/api': 'http://localhost:3112'
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
});
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = path.dirname(__filename);
|
|
7
|
+
|
|
8
|
+
export default defineConfig({
|
|
9
|
+
root: 'web/public',
|
|
10
|
+
build: {
|
|
11
|
+
outDir: '../../dist/web',
|
|
12
|
+
emptyOutDir: true,
|
|
13
|
+
rollupOptions: {
|
|
14
|
+
input: path.resolve(__dirname, 'web/public/index.html'),
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
server: {
|
|
18
|
+
port: 3111,
|
|
19
|
+
proxy: {
|
|
20
|
+
'/api': 'http://localhost:3112'
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
package/web/README.md
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
|
|
2
|
-
|
|
3
|
-
## Getting Started
|
|
4
|
-
|
|
5
|
-
First, run the development server:
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm run dev
|
|
9
|
-
# or
|
|
10
|
-
yarn dev
|
|
11
|
-
# or
|
|
12
|
-
pnpm dev
|
|
13
|
-
# or
|
|
14
|
-
bun dev
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
|
18
|
-
|
|
19
|
-
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
|
|
20
|
-
|
|
21
|
-
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
|
|
22
|
-
|
|
23
|
-
## Learn More
|
|
24
|
-
|
|
25
|
-
To learn more about Next.js, take a look at the following resources:
|
|
26
|
-
|
|
27
|
-
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
|
|
28
|
-
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
|
|
29
|
-
|
|
30
|
-
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
|
|
31
|
-
|
|
32
|
-
## Deploy on Vercel
|
|
33
|
-
|
|
34
|
-
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
|
|
35
|
-
|
|
36
|
-
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
|
|
1
|
+
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
|
|
2
|
+
|
|
3
|
+
## Getting Started
|
|
4
|
+
|
|
5
|
+
First, run the development server:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm run dev
|
|
9
|
+
# or
|
|
10
|
+
yarn dev
|
|
11
|
+
# or
|
|
12
|
+
pnpm dev
|
|
13
|
+
# or
|
|
14
|
+
bun dev
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
|
18
|
+
|
|
19
|
+
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
|
|
20
|
+
|
|
21
|
+
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
|
|
22
|
+
|
|
23
|
+
## Learn More
|
|
24
|
+
|
|
25
|
+
To learn more about Next.js, take a look at the following resources:
|
|
26
|
+
|
|
27
|
+
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
|
|
28
|
+
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
|
|
29
|
+
|
|
30
|
+
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
|
|
31
|
+
|
|
32
|
+
## Deploy on Vercel
|
|
33
|
+
|
|
34
|
+
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
|
|
35
|
+
|
|
36
|
+
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
|
package/web/app/docs/page.tsx
CHANGED
|
@@ -1,202 +1,202 @@
|
|
|
1
|
-
import Link from "next/link";
|
|
2
|
-
import { ArrowLeft, CheckCircle, GitBranch, FileText, TestTube, Rocket } from "lucide-react";
|
|
3
|
-
|
|
4
|
-
export default function DocsPage() {
|
|
5
|
-
return (
|
|
6
|
-
<div className="min-h-screen bg-[#0a0a0f] text-white pt-20 px-4 pb-12">
|
|
7
|
-
<div className="max-w-4xl mx-auto">
|
|
8
|
-
<div className="mb-8">
|
|
9
|
-
<Link href="/" className="inline-flex items-center gap-2 text-indigo-400 hover:text-indigo-300 transition">
|
|
10
|
-
<ArrowLeft className="w-4 h-4" />
|
|
11
|
-
Back to Dashboard
|
|
12
|
-
</Link>
|
|
13
|
-
</div>
|
|
14
|
-
|
|
15
|
-
<div className="prose prose-invert max-w-none">
|
|
16
|
-
<h1 className="text-5xl font-bold mb-4 bg-gradient-to-r from-indigo-400 via-purple-400 to-pink-400 bg-clip-text text-transparent">
|
|
17
|
-
Dev Workflow MCP Server
|
|
18
|
-
</h1>
|
|
19
|
-
<p className="text-xl text-gray-400 mb-8">
|
|
20
|
-
An MCP server that acts as your coding conscience. Enforce test-driven development, ensure documentation,
|
|
21
|
-
and never skip a step in your release process.
|
|
22
|
-
</p>
|
|
23
|
-
|
|
24
|
-
<div className="bg-emerald-500/10 border border-emerald-500/20 rounded-lg p-4 mb-8">
|
|
25
|
-
<p className="text-emerald-400 font-semibold">Version: 1.3.12</p>
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
<h2 className="text-3xl font-bold mt-12 mb-6">Features</h2>
|
|
29
|
-
<div className="grid md:grid-cols-2 gap-4 mb-8">
|
|
30
|
-
<div className="p-4 rounded-lg bg-white/5 border border-white/10">
|
|
31
|
-
<div className="flex items-center gap-3 mb-2">
|
|
32
|
-
<CheckCircle className="w-5 h-5 text-indigo-400" />
|
|
33
|
-
<h3 className="text-lg font-semibold">Enforced Discipline</h3>
|
|
34
|
-
</div>
|
|
35
|
-
<p className="text-gray-400 text-sm">Won't let you skip important steps. Follows a strict, proven development workflow.</p>
|
|
36
|
-
</div>
|
|
37
|
-
<div className="p-4 rounded-lg bg-white/5 border border-white/10">
|
|
38
|
-
<div className="flex items-center gap-3 mb-2">
|
|
39
|
-
<TestTube className="w-5 h-5 text-purple-400" />
|
|
40
|
-
<h3 className="text-lg font-semibold">Test-Driven</h3>
|
|
41
|
-
</div>
|
|
42
|
-
<p className="text-gray-400 text-sm">Blocks commits if tests fail. Encourages writing tests before marking tasks complete.</p>
|
|
43
|
-
</div>
|
|
44
|
-
<div className="p-4 rounded-lg bg-white/5 border border-white/10">
|
|
45
|
-
<div className="flex items-center gap-3 mb-2">
|
|
46
|
-
<FileText className="w-5 h-5 text-emerald-400" />
|
|
47
|
-
<h3 className="text-lg font-semibold">Documentation</h3>
|
|
48
|
-
</div>
|
|
49
|
-
<p className="text-gray-400 text-sm">Reminds you to update documentation (README, docs, changelog) for every change.</p>
|
|
50
|
-
</div>
|
|
51
|
-
<div className="p-4 rounded-lg bg-white/5 border border-white/10">
|
|
52
|
-
<div className="flex items-center gap-3 mb-2">
|
|
53
|
-
<GitBranch className="w-5 h-5 text-orange-400" />
|
|
54
|
-
<h3 className="text-lg font-semibold">State Tracking</h3>
|
|
55
|
-
</div>
|
|
56
|
-
<p className="text-gray-400 text-sm">Remembers exactly where you are in the workflow, even across sessions.</p>
|
|
57
|
-
</div>
|
|
58
|
-
</div>
|
|
59
|
-
|
|
60
|
-
<h2 className="text-3xl font-bold mt-12 mb-6">Installation</h2>
|
|
61
|
-
<div className="bg-[#1a1a24] rounded-lg p-6 border border-white/10 mb-8">
|
|
62
|
-
<pre className="text-sm overflow-x-auto">
|
|
63
|
-
<code className="text-gray-300">npm install -g @programinglive/dev-workflow-mcp-server</code>
|
|
64
|
-
</pre>
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
<h2 className="text-3xl font-bold mt-12 mb-6">Quick Start</h2>
|
|
68
|
-
<ol className="space-y-4 mb-8">
|
|
69
|
-
<li className="flex gap-4">
|
|
70
|
-
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-indigo-500/20 flex items-center justify-center text-indigo-400 font-bold">1</span>
|
|
71
|
-
<div>
|
|
72
|
-
<h3 className="font-semibold mb-1">Start a Task</h3>
|
|
73
|
-
<p className="text-gray-400">Begin your coding session by defining what you're working on.</p>
|
|
74
|
-
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
75
|
-
<code className="text-sm text-gray-300">start_task</code>
|
|
76
|
-
</div>
|
|
77
|
-
</div>
|
|
78
|
-
</li>
|
|
79
|
-
<li className="flex gap-4">
|
|
80
|
-
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-purple-500/20 flex items-center justify-center text-purple-400 font-bold">2</span>
|
|
81
|
-
<div>
|
|
82
|
-
<h3 className="font-semibold mb-1">Mark Bug Fixed</h3>
|
|
83
|
-
<p className="text-gray-400">Once you've implemented your feature or fix, mark it as complete.</p>
|
|
84
|
-
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
85
|
-
<code className="text-sm text-gray-300">mark_bug_fixed</code>
|
|
86
|
-
</div>
|
|
87
|
-
</div>
|
|
88
|
-
</li>
|
|
89
|
-
<li className="flex gap-4">
|
|
90
|
-
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-emerald-500/20 flex items-center justify-center text-emerald-400 font-bold">3</span>
|
|
91
|
-
<div>
|
|
92
|
-
<h3 className="font-semibold mb-1">Create Tests</h3>
|
|
93
|
-
<p className="text-gray-400">Write tests to verify your changes work correctly.</p>
|
|
94
|
-
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
95
|
-
<code className="text-sm text-gray-300">create_tests</code>
|
|
96
|
-
</div>
|
|
97
|
-
</div>
|
|
98
|
-
</li>
|
|
99
|
-
<li className="flex gap-4">
|
|
100
|
-
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-orange-500/20 flex items-center justify-center text-orange-400 font-bold">4</span>
|
|
101
|
-
<div>
|
|
102
|
-
<h3 className="font-semibold mb-1">Run Tests</h3>
|
|
103
|
-
<p className="text-gray-400">Execute your test suite and ensure everything passes.</p>
|
|
104
|
-
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
105
|
-
<code className="text-sm text-gray-300">run_tests</code>
|
|
106
|
-
</div>
|
|
107
|
-
</div>
|
|
108
|
-
</li>
|
|
109
|
-
<li className="flex gap-4">
|
|
110
|
-
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-pink-500/20 flex items-center justify-center text-pink-400 font-bold">5</span>
|
|
111
|
-
<div>
|
|
112
|
-
<h3 className="font-semibold mb-1">Create Documentation</h3>
|
|
113
|
-
<p className="text-gray-400">Update relevant documentation for your changes.</p>
|
|
114
|
-
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
115
|
-
<code className="text-sm text-gray-300">create_documentation</code>
|
|
116
|
-
</div>
|
|
117
|
-
</div>
|
|
118
|
-
</li>
|
|
119
|
-
<li className="flex gap-4">
|
|
120
|
-
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-blue-500/20 flex items-center justify-center text-blue-400 font-bold">6</span>
|
|
121
|
-
<div>
|
|
122
|
-
<h3 className="font-semibold mb-1">Commit and Push</h3>
|
|
123
|
-
<p className="text-gray-400">Commit your changes and push to the repository.</p>
|
|
124
|
-
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
125
|
-
<code className="text-sm text-gray-300">commit_and_push</code>
|
|
126
|
-
</div>
|
|
127
|
-
</div>
|
|
128
|
-
</li>
|
|
129
|
-
</ol>
|
|
130
|
-
|
|
131
|
-
<h2 className="text-3xl font-bold mt-12 mb-6">Available Commands</h2>
|
|
132
|
-
<div className="space-y-3 mb-8">
|
|
133
|
-
{[
|
|
134
|
-
{ cmd: "start_task", desc: "Begin a new coding task" },
|
|
135
|
-
{ cmd: "mark_bug_fixed", desc: "Mark feature/bugfix as complete" },
|
|
136
|
-
{ cmd: "create_tests", desc: "Record that tests have been created" },
|
|
137
|
-
{ cmd: "run_tests", desc: "Execute and record test results" },
|
|
138
|
-
{ cmd: "skip_tests", desc: "Skip tests with justification" },
|
|
139
|
-
{ cmd: "create_documentation", desc: "Record documentation updates" },
|
|
140
|
-
{ cmd: "commit_and_push", desc: "Commit and push changes" },
|
|
141
|
-
{ cmd: "perform_release", desc: "Execute release process" },
|
|
142
|
-
{ cmd: "complete_task", desc: "Mark task as complete" },
|
|
143
|
-
{ cmd: "get_workflow_status", desc: "Check current workflow state" },
|
|
144
|
-
{ cmd: "view_history", desc: "View completed tasks" },
|
|
145
|
-
].map((item) => (
|
|
146
|
-
<div key={item.cmd} className="p-4 rounded-lg bg-white/5 border border-white/10 hover:bg-white/10 transition">
|
|
147
|
-
<code className="text-indigo-400 font-mono">{item.cmd}</code>
|
|
148
|
-
<p className="text-gray-400 text-sm mt-1">{item.desc}</p>
|
|
149
|
-
</div>
|
|
150
|
-
))}
|
|
151
|
-
</div>
|
|
152
|
-
|
|
153
|
-
<h2 className="text-3xl font-bold mt-12 mb-6">Configuration</h2>
|
|
154
|
-
<p className="text-gray-400 mb-4">
|
|
155
|
-
The server stores workflow state in a SQLite database located at <code className="text-indigo-400 bg-white/5 px-2 py-1 rounded">.state/dev-workflow.db</code>
|
|
156
|
-
</p>
|
|
157
|
-
<p className="text-gray-400 mb-8">
|
|
158
|
-
Set the <code className="text-indigo-400 bg-white/5 px-2 py-1 rounded">DEV_WORKFLOW_USER_ID</code> environment variable to isolate workflow state per user.
|
|
159
|
-
</p>
|
|
160
|
-
|
|
161
|
-
<h2 className="text-3xl font-bold mt-12 mb-6">Requirements</h2>
|
|
162
|
-
<ul className="space-y-2 mb-8">
|
|
163
|
-
<li className="flex items-center gap-2 text-gray-400">
|
|
164
|
-
<CheckCircle className="w-4 h-4 text-emerald-400" />
|
|
165
|
-
Node.js 18 or higher
|
|
166
|
-
</li>
|
|
167
|
-
<li className="flex items-center gap-2 text-gray-400">
|
|
168
|
-
<CheckCircle className="w-4 h-4 text-emerald-400" />
|
|
169
|
-
Git installed and configured
|
|
170
|
-
</li>
|
|
171
|
-
<li className="flex items-center gap-2 text-gray-400">
|
|
172
|
-
<CheckCircle className="w-4 h-4 text-emerald-400" />
|
|
173
|
-
MCP-compatible AI assistant (e.g., Claude Desktop)
|
|
174
|
-
</li>
|
|
175
|
-
</ul>
|
|
176
|
-
|
|
177
|
-
<h2 className="text-3xl font-bold mt-12 mb-6">License</h2>
|
|
178
|
-
<p className="text-gray-400 mb-8">
|
|
179
|
-
MIT License - Free to use for personal and commercial projects.
|
|
180
|
-
</p>
|
|
181
|
-
|
|
182
|
-
<div className="bg-gradient-to-r from-indigo-500/10 via-purple-500/10 to-pink-500/10 border border-white/10 rounded-lg p-6 mt-12">
|
|
183
|
-
<div className="flex items-center gap-3 mb-3">
|
|
184
|
-
<Rocket className="w-6 h-6 text-pink-400" />
|
|
185
|
-
<h3 className="text-xl font-bold">Ready to get started?</h3>
|
|
186
|
-
</div>
|
|
187
|
-
<p className="text-gray-400 mb-4">
|
|
188
|
-
Install the MCP server and start enforcing best practices in your development workflow today!
|
|
189
|
-
</p>
|
|
190
|
-
<Link
|
|
191
|
-
href="https://github.com/programinglive/dev-workflow-mcp-server"
|
|
192
|
-
target="_blank"
|
|
193
|
-
className="inline-flex items-center gap-2 px-6 py-3 bg-gradient-to-r from-indigo-600 to-purple-600 rounded-lg font-semibold hover:shadow-lg hover:shadow-indigo-500/50 transition"
|
|
194
|
-
>
|
|
195
|
-
View on GitHub
|
|
196
|
-
</Link>
|
|
197
|
-
</div>
|
|
198
|
-
</div>
|
|
199
|
-
</div>
|
|
200
|
-
</div>
|
|
201
|
-
);
|
|
202
|
-
}
|
|
1
|
+
import Link from "next/link";
|
|
2
|
+
import { ArrowLeft, CheckCircle, GitBranch, FileText, TestTube, Rocket } from "lucide-react";
|
|
3
|
+
|
|
4
|
+
export default function DocsPage() {
|
|
5
|
+
return (
|
|
6
|
+
<div className="min-h-screen bg-[#0a0a0f] text-white pt-20 px-4 pb-12">
|
|
7
|
+
<div className="max-w-4xl mx-auto">
|
|
8
|
+
<div className="mb-8">
|
|
9
|
+
<Link href="/" className="inline-flex items-center gap-2 text-indigo-400 hover:text-indigo-300 transition">
|
|
10
|
+
<ArrowLeft className="w-4 h-4" />
|
|
11
|
+
Back to Dashboard
|
|
12
|
+
</Link>
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
<div className="prose prose-invert max-w-none">
|
|
16
|
+
<h1 className="text-5xl font-bold mb-4 bg-gradient-to-r from-indigo-400 via-purple-400 to-pink-400 bg-clip-text text-transparent">
|
|
17
|
+
Dev Workflow MCP Server
|
|
18
|
+
</h1>
|
|
19
|
+
<p className="text-xl text-gray-400 mb-8">
|
|
20
|
+
An MCP server that acts as your coding conscience. Enforce test-driven development, ensure documentation,
|
|
21
|
+
and never skip a step in your release process.
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<div className="bg-emerald-500/10 border border-emerald-500/20 rounded-lg p-4 mb-8">
|
|
25
|
+
<p className="text-emerald-400 font-semibold">Version: 1.3.12</p>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<h2 className="text-3xl font-bold mt-12 mb-6">Features</h2>
|
|
29
|
+
<div className="grid md:grid-cols-2 gap-4 mb-8">
|
|
30
|
+
<div className="p-4 rounded-lg bg-white/5 border border-white/10">
|
|
31
|
+
<div className="flex items-center gap-3 mb-2">
|
|
32
|
+
<CheckCircle className="w-5 h-5 text-indigo-400" />
|
|
33
|
+
<h3 className="text-lg font-semibold">Enforced Discipline</h3>
|
|
34
|
+
</div>
|
|
35
|
+
<p className="text-gray-400 text-sm">Won't let you skip important steps. Follows a strict, proven development workflow.</p>
|
|
36
|
+
</div>
|
|
37
|
+
<div className="p-4 rounded-lg bg-white/5 border border-white/10">
|
|
38
|
+
<div className="flex items-center gap-3 mb-2">
|
|
39
|
+
<TestTube className="w-5 h-5 text-purple-400" />
|
|
40
|
+
<h3 className="text-lg font-semibold">Test-Driven</h3>
|
|
41
|
+
</div>
|
|
42
|
+
<p className="text-gray-400 text-sm">Blocks commits if tests fail. Encourages writing tests before marking tasks complete.</p>
|
|
43
|
+
</div>
|
|
44
|
+
<div className="p-4 rounded-lg bg-white/5 border border-white/10">
|
|
45
|
+
<div className="flex items-center gap-3 mb-2">
|
|
46
|
+
<FileText className="w-5 h-5 text-emerald-400" />
|
|
47
|
+
<h3 className="text-lg font-semibold">Documentation</h3>
|
|
48
|
+
</div>
|
|
49
|
+
<p className="text-gray-400 text-sm">Reminds you to update documentation (README, docs, changelog) for every change.</p>
|
|
50
|
+
</div>
|
|
51
|
+
<div className="p-4 rounded-lg bg-white/5 border border-white/10">
|
|
52
|
+
<div className="flex items-center gap-3 mb-2">
|
|
53
|
+
<GitBranch className="w-5 h-5 text-orange-400" />
|
|
54
|
+
<h3 className="text-lg font-semibold">State Tracking</h3>
|
|
55
|
+
</div>
|
|
56
|
+
<p className="text-gray-400 text-sm">Remembers exactly where you are in the workflow, even across sessions.</p>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
<h2 className="text-3xl font-bold mt-12 mb-6">Installation</h2>
|
|
61
|
+
<div className="bg-[#1a1a24] rounded-lg p-6 border border-white/10 mb-8">
|
|
62
|
+
<pre className="text-sm overflow-x-auto">
|
|
63
|
+
<code className="text-gray-300">npm install -g @programinglive/dev-workflow-mcp-server</code>
|
|
64
|
+
</pre>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<h2 className="text-3xl font-bold mt-12 mb-6">Quick Start</h2>
|
|
68
|
+
<ol className="space-y-4 mb-8">
|
|
69
|
+
<li className="flex gap-4">
|
|
70
|
+
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-indigo-500/20 flex items-center justify-center text-indigo-400 font-bold">1</span>
|
|
71
|
+
<div>
|
|
72
|
+
<h3 className="font-semibold mb-1">Start a Task</h3>
|
|
73
|
+
<p className="text-gray-400">Begin your coding session by defining what you're working on.</p>
|
|
74
|
+
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
75
|
+
<code className="text-sm text-gray-300">start_task</code>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</li>
|
|
79
|
+
<li className="flex gap-4">
|
|
80
|
+
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-purple-500/20 flex items-center justify-center text-purple-400 font-bold">2</span>
|
|
81
|
+
<div>
|
|
82
|
+
<h3 className="font-semibold mb-1">Mark Bug Fixed</h3>
|
|
83
|
+
<p className="text-gray-400">Once you've implemented your feature or fix, mark it as complete.</p>
|
|
84
|
+
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
85
|
+
<code className="text-sm text-gray-300">mark_bug_fixed</code>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
</li>
|
|
89
|
+
<li className="flex gap-4">
|
|
90
|
+
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-emerald-500/20 flex items-center justify-center text-emerald-400 font-bold">3</span>
|
|
91
|
+
<div>
|
|
92
|
+
<h3 className="font-semibold mb-1">Create Tests</h3>
|
|
93
|
+
<p className="text-gray-400">Write tests to verify your changes work correctly.</p>
|
|
94
|
+
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
95
|
+
<code className="text-sm text-gray-300">create_tests</code>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
</li>
|
|
99
|
+
<li className="flex gap-4">
|
|
100
|
+
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-orange-500/20 flex items-center justify-center text-orange-400 font-bold">4</span>
|
|
101
|
+
<div>
|
|
102
|
+
<h3 className="font-semibold mb-1">Run Tests</h3>
|
|
103
|
+
<p className="text-gray-400">Execute your test suite and ensure everything passes.</p>
|
|
104
|
+
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
105
|
+
<code className="text-sm text-gray-300">run_tests</code>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</li>
|
|
109
|
+
<li className="flex gap-4">
|
|
110
|
+
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-pink-500/20 flex items-center justify-center text-pink-400 font-bold">5</span>
|
|
111
|
+
<div>
|
|
112
|
+
<h3 className="font-semibold mb-1">Create Documentation</h3>
|
|
113
|
+
<p className="text-gray-400">Update relevant documentation for your changes.</p>
|
|
114
|
+
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
115
|
+
<code className="text-sm text-gray-300">create_documentation</code>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
</li>
|
|
119
|
+
<li className="flex gap-4">
|
|
120
|
+
<span className="flex-shrink-0 w-8 h-8 rounded-full bg-blue-500/20 flex items-center justify-center text-blue-400 font-bold">6</span>
|
|
121
|
+
<div>
|
|
122
|
+
<h3 className="font-semibold mb-1">Commit and Push</h3>
|
|
123
|
+
<p className="text-gray-400">Commit your changes and push to the repository.</p>
|
|
124
|
+
<div className="bg-[#1a1a24] rounded-lg p-3 mt-2 border border-white/10">
|
|
125
|
+
<code className="text-sm text-gray-300">commit_and_push</code>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
</li>
|
|
129
|
+
</ol>
|
|
130
|
+
|
|
131
|
+
<h2 className="text-3xl font-bold mt-12 mb-6">Available Commands</h2>
|
|
132
|
+
<div className="space-y-3 mb-8">
|
|
133
|
+
{[
|
|
134
|
+
{ cmd: "start_task", desc: "Begin a new coding task" },
|
|
135
|
+
{ cmd: "mark_bug_fixed", desc: "Mark feature/bugfix as complete" },
|
|
136
|
+
{ cmd: "create_tests", desc: "Record that tests have been created" },
|
|
137
|
+
{ cmd: "run_tests", desc: "Execute and record test results" },
|
|
138
|
+
{ cmd: "skip_tests", desc: "Skip tests with justification" },
|
|
139
|
+
{ cmd: "create_documentation", desc: "Record documentation updates" },
|
|
140
|
+
{ cmd: "commit_and_push", desc: "Commit and push changes" },
|
|
141
|
+
{ cmd: "perform_release", desc: "Execute release process" },
|
|
142
|
+
{ cmd: "complete_task", desc: "Mark task as complete" },
|
|
143
|
+
{ cmd: "get_workflow_status", desc: "Check current workflow state" },
|
|
144
|
+
{ cmd: "view_history", desc: "View completed tasks" },
|
|
145
|
+
].map((item) => (
|
|
146
|
+
<div key={item.cmd} className="p-4 rounded-lg bg-white/5 border border-white/10 hover:bg-white/10 transition">
|
|
147
|
+
<code className="text-indigo-400 font-mono">{item.cmd}</code>
|
|
148
|
+
<p className="text-gray-400 text-sm mt-1">{item.desc}</p>
|
|
149
|
+
</div>
|
|
150
|
+
))}
|
|
151
|
+
</div>
|
|
152
|
+
|
|
153
|
+
<h2 className="text-3xl font-bold mt-12 mb-6">Configuration</h2>
|
|
154
|
+
<p className="text-gray-400 mb-4">
|
|
155
|
+
The server stores workflow state in a SQLite database located at <code className="text-indigo-400 bg-white/5 px-2 py-1 rounded">.state/dev-workflow.db</code>
|
|
156
|
+
</p>
|
|
157
|
+
<p className="text-gray-400 mb-8">
|
|
158
|
+
Set the <code className="text-indigo-400 bg-white/5 px-2 py-1 rounded">DEV_WORKFLOW_USER_ID</code> environment variable to isolate workflow state per user.
|
|
159
|
+
</p>
|
|
160
|
+
|
|
161
|
+
<h2 className="text-3xl font-bold mt-12 mb-6">Requirements</h2>
|
|
162
|
+
<ul className="space-y-2 mb-8">
|
|
163
|
+
<li className="flex items-center gap-2 text-gray-400">
|
|
164
|
+
<CheckCircle className="w-4 h-4 text-emerald-400" />
|
|
165
|
+
Node.js 18 or higher
|
|
166
|
+
</li>
|
|
167
|
+
<li className="flex items-center gap-2 text-gray-400">
|
|
168
|
+
<CheckCircle className="w-4 h-4 text-emerald-400" />
|
|
169
|
+
Git installed and configured
|
|
170
|
+
</li>
|
|
171
|
+
<li className="flex items-center gap-2 text-gray-400">
|
|
172
|
+
<CheckCircle className="w-4 h-4 text-emerald-400" />
|
|
173
|
+
MCP-compatible AI assistant (e.g., Claude Desktop)
|
|
174
|
+
</li>
|
|
175
|
+
</ul>
|
|
176
|
+
|
|
177
|
+
<h2 className="text-3xl font-bold mt-12 mb-6">License</h2>
|
|
178
|
+
<p className="text-gray-400 mb-8">
|
|
179
|
+
MIT License - Free to use for personal and commercial projects.
|
|
180
|
+
</p>
|
|
181
|
+
|
|
182
|
+
<div className="bg-gradient-to-r from-indigo-500/10 via-purple-500/10 to-pink-500/10 border border-white/10 rounded-lg p-6 mt-12">
|
|
183
|
+
<div className="flex items-center gap-3 mb-3">
|
|
184
|
+
<Rocket className="w-6 h-6 text-pink-400" />
|
|
185
|
+
<h3 className="text-xl font-bold">Ready to get started?</h3>
|
|
186
|
+
</div>
|
|
187
|
+
<p className="text-gray-400 mb-4">
|
|
188
|
+
Install the MCP server and start enforcing best practices in your development workflow today!
|
|
189
|
+
</p>
|
|
190
|
+
<Link
|
|
191
|
+
href="https://github.com/programinglive/dev-workflow-mcp-server"
|
|
192
|
+
target="_blank"
|
|
193
|
+
className="inline-flex items-center gap-2 px-6 py-3 bg-gradient-to-r from-indigo-600 to-purple-600 rounded-lg font-semibold hover:shadow-lg hover:shadow-indigo-500/50 transition"
|
|
194
|
+
>
|
|
195
|
+
View on GitHub
|
|
196
|
+
</Link>
|
|
197
|
+
</div>
|
|
198
|
+
</div>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
);
|
|
202
|
+
}
|