@programinglive/dev-workflow-mcp-server 1.1.2 â 1.1.4
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/CHANGELOG.md +14 -0
- package/README.md +36 -3
- package/install.js +69 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [1.1.4](https://github.com/programinglive/dev-workflow-mcp-server/compare/v1.1.3...v1.1.4) (2025-10-25)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### đ Bug Fixes
|
|
9
|
+
|
|
10
|
+
* ensure install script uses project root for workflow state ([8b8b32f](https://github.com/programinglive/dev-workflow-mcp-server/commit/8b8b32f5c436b256ec1edb05a406405a5c2455c1))
|
|
11
|
+
|
|
12
|
+
### [1.1.3](https://github.com/programinglive/dev-workflow-mcp-server/compare/v1.1.2...v1.1.3) (2025-10-25)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### ⨠Features
|
|
16
|
+
|
|
17
|
+
* make dev-workflow MCP installable with per-project workflow state isolation ([50e9ead](https://github.com/programinglive/dev-workflow-mcp-server/commit/50e9ead788f2bba1b0ff1a62515f3bcc78d0c8e6))
|
|
18
|
+
|
|
5
19
|
### [1.1.2](https://github.com/programinglive/dev-workflow-mcp-server/compare/v1.1.1...v1.1.2) (2025-10-25)
|
|
6
20
|
|
|
7
21
|
### [1.1.1](https://github.com/programinglive/dev-workflow-mcp-server/compare/v1.1.0...v1.1.1) (2025-10-25)
|
package/README.md
CHANGED
|
@@ -16,13 +16,25 @@ This MCP server guides you through a disciplined development workflow:
|
|
|
16
16
|
|
|
17
17
|
## đ Installation
|
|
18
18
|
|
|
19
|
-
### 1
|
|
19
|
+
### Option 1: Install as Dependency in Your Project (Recommended)
|
|
20
|
+
|
|
21
|
+
Each project gets its own isolated workflow state file.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install @programinglive/dev-workflow-mcp-server
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This will automatically create a `.workflow-state.json` file in the **project where you ran `npm install`** (using npm's `INIT_CWD`), keeping workflow history separate per project. If you're installing the package itself (inside `node_modules`), the script skips creation so it never pollutes the shared package directory.
|
|
28
|
+
|
|
29
|
+
### Option 2: Install from Source
|
|
20
30
|
|
|
21
31
|
```bash
|
|
32
|
+
git clone https://github.com/programinglive/dev-workflow-mcp-server.git
|
|
33
|
+
cd dev-workflow-mcp-server
|
|
22
34
|
npm install
|
|
23
35
|
```
|
|
24
36
|
|
|
25
|
-
###
|
|
37
|
+
### 3. Configure in Windsurf/Claude Desktop
|
|
26
38
|
|
|
27
39
|
Point your MCP client to the server entry point. Replace `<PROJECT_ROOT>` with the absolute path to this repository on your machine.
|
|
28
40
|
|
|
@@ -112,10 +124,31 @@ Point your MCP client to the server entry point. Replace `<PROJECT_ROOT>` with t
|
|
|
112
124
|
|
|
113
125
|
> **Note:** On Windows paths in JSON require escaped backslashes (e.g., `"C:\\path\\to\\project"`).
|
|
114
126
|
|
|
115
|
-
###
|
|
127
|
+
### 4. Restart Windsurf/Claude Desktop
|
|
116
128
|
|
|
117
129
|
After adding the configuration, restart the application to load the MCP server.
|
|
118
130
|
|
|
131
|
+
## đ Project-Specific Workflow State
|
|
132
|
+
|
|
133
|
+
When you install this package in a project, a `.workflow-state.json` file is automatically created in your project root. This file:
|
|
134
|
+
|
|
135
|
+
- **Stores workflow history** specific to that project
|
|
136
|
+
- **Tracks task progress** independently per project
|
|
137
|
+
- **Should be gitignored** (already in `.gitignore` by default)
|
|
138
|
+
- **Persists across sessions** so your workflow state is preserved
|
|
139
|
+
|
|
140
|
+
Each project maintains its own isolated workflow history, so you can work on multiple projects without mixing their histories.
|
|
141
|
+
|
|
142
|
+
### Adding to .gitignore
|
|
143
|
+
|
|
144
|
+
If you're using this package, add this to your project's `.gitignore`:
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
.workflow-state.json
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
This keeps workflow state local to each developer's machine.
|
|
151
|
+
|
|
119
152
|
## đ ī¸ Available Tools
|
|
120
153
|
|
|
121
154
|
### Tool Argument Requirements
|
package/install.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Installation script for dev-workflow MCP server
|
|
5
|
+
* Sets up per-project workflow state file in the target project directory
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import fs from 'fs/promises';
|
|
9
|
+
import path from 'path';
|
|
10
|
+
import { fileURLToPath } from 'url';
|
|
11
|
+
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = path.dirname(__filename);
|
|
14
|
+
|
|
15
|
+
async function install() {
|
|
16
|
+
try {
|
|
17
|
+
// npm sets INIT_CWD to the directory where `npm install` was originally invoked.
|
|
18
|
+
// Fallback to process.cwd() if it's not present (e.g., older npm versions).
|
|
19
|
+
const projectRoot = process.env.INIT_CWD || process.cwd();
|
|
20
|
+
|
|
21
|
+
// If INIT_CWD points inside node_modules, this script is being executed
|
|
22
|
+
// while installing the package itself. In that case, skip creating a state file.
|
|
23
|
+
if (projectRoot.includes(`node_modules${path.sep}`)) {
|
|
24
|
+
console.log('âšī¸ Skipping workflow state creation inside node_modules.');
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const stateFile = path.join(projectRoot, '.workflow-state.json');
|
|
29
|
+
|
|
30
|
+
// Check if state file already exists
|
|
31
|
+
try {
|
|
32
|
+
await fs.access(stateFile);
|
|
33
|
+
console.log(`â Workflow state file already exists at ${stateFile}`);
|
|
34
|
+
return;
|
|
35
|
+
} catch {
|
|
36
|
+
// File doesn't exist, create it
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Create initial workflow state
|
|
40
|
+
const initialState = {
|
|
41
|
+
currentPhase: 'idle',
|
|
42
|
+
taskDescription: '',
|
|
43
|
+
bugFixed: false,
|
|
44
|
+
testsCreated: false,
|
|
45
|
+
testsPassed: false,
|
|
46
|
+
testsSkipped: false,
|
|
47
|
+
testsSkippedReason: '',
|
|
48
|
+
documentationCreated: false,
|
|
49
|
+
readyToCommit: false,
|
|
50
|
+
readyCheckCompleted: false,
|
|
51
|
+
released: false,
|
|
52
|
+
releaseCommand: '',
|
|
53
|
+
releaseNotes: '',
|
|
54
|
+
commitAndPushCompleted: false,
|
|
55
|
+
lastCommitMessage: '',
|
|
56
|
+
lastPushBranch: '',
|
|
57
|
+
history: [],
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
await fs.writeFile(stateFile, JSON.stringify(initialState, null, 2));
|
|
61
|
+
console.log(`â Created workflow state file at ${stateFile}`);
|
|
62
|
+
console.log(`â Each project now has its own isolated workflow history`);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
console.error('â Installation failed:', error.message);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
install();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@programinglive/dev-workflow-mcp-server",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "MCP server to enforce development workflow discipline",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"start": "node index.js",
|
|
14
14
|
"dev": "node --watch index.js",
|
|
15
15
|
"prepare": "husky",
|
|
16
|
+
"postinstall": "node install.js",
|
|
16
17
|
"release": "standard-version",
|
|
17
18
|
"release:major": "npm run release -- --release-as major",
|
|
18
19
|
"release:minor": "npm run release -- --release-as minor",
|