specforge-mcp 0.1.0 → 0.1.1
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/README.md +61 -0
- package/dist/index.js +0 -0
- package/package.json +19 -21
package/README.md
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|

|
|
7
7
|

|
|
8
8
|
|
|
9
|
+
📚 **[Documentation](https://specforge-mcp.vercel.app)** · 🇪🇸 **[Documentación en Español](https://specforge-mcp.vercel.app/es)**
|
|
10
|
+
|
|
9
11
|
## Installation
|
|
10
12
|
|
|
11
13
|
### Claude Desktop / Claude Code
|
|
@@ -41,6 +43,65 @@ Each transition is gated by DoR (Definition of Ready) and DoD (Definition of Don
|
|
|
41
43
|
Constitution compliance is enforced automatically at `create_spec`, `audit`, and `detect_drift`.
|
|
42
44
|
Spec versioning tracks every change and flags downstream spec impact when a dependency drifts.
|
|
43
45
|
|
|
46
|
+
## Getting Started
|
|
47
|
+
|
|
48
|
+
### 1. Initialize your project
|
|
49
|
+
|
|
50
|
+
> "Initialize my project at /Users/me/my-app with specforge"
|
|
51
|
+
|
|
52
|
+
SpecForge scans the directory and auto-detects your language, framework, package manager, and architecture style. It returns a `projectId` (e.g., `proj_abc123`) you'll use in all subsequent commands. No manual configuration needed.
|
|
53
|
+
|
|
54
|
+
### 2. Create your first spec
|
|
55
|
+
|
|
56
|
+
> "Create a spec for adding Google OAuth authentication to my project proj_abc123"
|
|
57
|
+
|
|
58
|
+
SpecForge generates a full `HU.md` with acceptance criteria, a DoR checklist, database schema hints, and a step-by-step `PLAN.md`. All stored locally — no accounts, no cloud.
|
|
59
|
+
|
|
60
|
+
### 3. Implement guided by the spec
|
|
61
|
+
|
|
62
|
+
Claude uses the spec as a development contract while you code. When you're done, validate coverage:
|
|
63
|
+
|
|
64
|
+
> "Validate spec SPEC-001 against the code at /Users/me/my-app/src"
|
|
65
|
+
|
|
66
|
+
### 4. Detect drift
|
|
67
|
+
|
|
68
|
+
As the codebase evolves, keep specs in sync:
|
|
69
|
+
|
|
70
|
+
> "Check if my implementation matches SPEC-001 spec"
|
|
71
|
+
|
|
72
|
+
SpecForge reports which criteria are covered, missing, or drifted — and flags downstream specs affected by the change.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Use Cases
|
|
77
|
+
|
|
78
|
+
### New feature
|
|
79
|
+
```
|
|
80
|
+
"Use specforge to create a spec for [feature] in project [id]"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Audit dependencies
|
|
84
|
+
```
|
|
85
|
+
"Audit the stack of my project [id] and suggest improvements"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Plan a migration
|
|
89
|
+
```
|
|
90
|
+
"Create a migration plan from Express to Fastify for project [id]"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Reverse engineer existing code
|
|
94
|
+
```
|
|
95
|
+
"Reverse engineer my codebase at /path/to/project and generate specs"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Detect tech debt
|
|
99
|
+
```
|
|
100
|
+
"Analyze tech debt in project [id]"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
44
105
|
## Features
|
|
45
106
|
|
|
46
107
|
### A -- Configuration
|
package/dist/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specforge-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "SpecForge — MCP Server for Spec Driven Development. Manages specs, estimations, reverse engineering, and auto-learning across any language/framework.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -14,25 +14,6 @@
|
|
|
14
14
|
"engines": {
|
|
15
15
|
"node": ">=22.0.0"
|
|
16
16
|
},
|
|
17
|
-
"packageManager": "pnpm@10.28.2",
|
|
18
|
-
"scripts": {
|
|
19
|
-
"build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && node -e \"import('node:fs').then(({cpSync})=>cpSync('src/config','dist/config',{recursive:true}))\"",
|
|
20
|
-
"dev": "tsc --watch",
|
|
21
|
-
"start": "node dist/index.js",
|
|
22
|
-
"clean": "rm -rf dist",
|
|
23
|
-
"lint": "eslint src/ tests/ --max-warnings 0",
|
|
24
|
-
"lint:fix": "eslint src/ tests/ --fix --max-warnings 0",
|
|
25
|
-
"format": "prettier --write 'src/**/*.ts' 'tests/**/*.test.ts'",
|
|
26
|
-
"format:check": "prettier --check 'src/**/*.ts' 'tests/**/*.test.ts'",
|
|
27
|
-
"typecheck": "tsc --noEmit",
|
|
28
|
-
"test": "vitest run",
|
|
29
|
-
"test:watch": "vitest",
|
|
30
|
-
"test:coverage": "vitest run --coverage",
|
|
31
|
-
"check": "pnpm typecheck && pnpm lint && pnpm format:check",
|
|
32
|
-
"setup:protection": "bash scripts/setup-branch-protection.sh",
|
|
33
|
-
"prepare": "husky || true",
|
|
34
|
-
"prepublishOnly": "pnpm build"
|
|
35
|
-
},
|
|
36
17
|
"lint-staged": {
|
|
37
18
|
"src/**/*.ts": [
|
|
38
19
|
"eslint --fix --max-warnings 0",
|
|
@@ -46,6 +27,7 @@
|
|
|
46
27
|
"prettier --write"
|
|
47
28
|
]
|
|
48
29
|
},
|
|
30
|
+
"homepage": "https://specforge-mcp.vercel.app",
|
|
49
31
|
"keywords": [
|
|
50
32
|
"mcp",
|
|
51
33
|
"specforge",
|
|
@@ -79,5 +61,21 @@
|
|
|
79
61
|
"typescript": "^5.7.0",
|
|
80
62
|
"typescript-eslint": "^8.56.1",
|
|
81
63
|
"vitest": "^4.0.18"
|
|
64
|
+
},
|
|
65
|
+
"scripts": {
|
|
66
|
+
"build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && node -e \"import('node:fs').then(({cpSync})=>cpSync('src/config','dist/config',{recursive:true}))\"",
|
|
67
|
+
"dev": "tsc --watch",
|
|
68
|
+
"start": "node dist/index.js",
|
|
69
|
+
"clean": "rm -rf dist",
|
|
70
|
+
"lint": "eslint src/ tests/ --max-warnings 0",
|
|
71
|
+
"lint:fix": "eslint src/ tests/ --fix --max-warnings 0",
|
|
72
|
+
"format": "prettier --write 'src/**/*.ts' 'tests/**/*.test.ts'",
|
|
73
|
+
"format:check": "prettier --check 'src/**/*.ts' 'tests/**/*.test.ts'",
|
|
74
|
+
"typecheck": "tsc --noEmit",
|
|
75
|
+
"test": "vitest run",
|
|
76
|
+
"test:watch": "vitest",
|
|
77
|
+
"test:coverage": "vitest run --coverage",
|
|
78
|
+
"check": "pnpm typecheck && pnpm lint && pnpm format:check",
|
|
79
|
+
"setup:protection": "bash scripts/setup-branch-protection.sh"
|
|
82
80
|
}
|
|
83
|
-
}
|
|
81
|
+
}
|