forgecraft-mcp 0.4.0 → 0.5.0
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 +95 -61
- package/dist/cli.d.ts +15 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +345 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -14
- package/dist/index.js.map +1 -1
- package/dist/tools/audit.js +2 -2
- package/dist/tools/audit.js.map +1 -1
- package/dist/tools/convert.js +4 -4
- package/dist/tools/convert.js.map +1 -1
- package/dist/tools/forgecraft-router.d.ts +20 -20
- package/dist/tools/refresh-project.js +5 -2
- package/dist/tools/refresh-project.js.map +1 -1
- package/dist/tools/sentinel.d.ts +28 -0
- package/dist/tools/sentinel.d.ts.map +1 -0
- package/dist/tools/sentinel.js +45 -0
- package/dist/tools/sentinel.js.map +1 -0
- package/dist/tools/setup-project.js +8 -6
- package/dist/tools/setup-project.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -17,14 +17,10 @@ AI coding assistants work better with clear engineering standards. Most start wi
|
|
|
17
17
|
**Supports:** Claude (CLAUDE.md) · Cursor (.cursor/rules/) · GitHub Copilot (.github/copilot-instructions.md) · Windsurf (.windsurfrules) · Cline (.clinerules) · Aider (CONVENTIONS.md)
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
|
|
20
|
+
npx forgecraft-mcp setup .
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
> "Set up this project for production"
|
|
26
|
-
|
|
27
|
-
Done. Your AI assistant now has tailored instruction files with SOLID principles, testing standards, architecture patterns, CI/CD guidance, and quality-gate hooks — all matched to your stack.
|
|
23
|
+
That's it. ForgeCraft scans your project, auto-detects your stack, and generates tailored instruction files in seconds.
|
|
28
24
|
|
|
29
25
|
## `claude init` vs ForgeCraft
|
|
30
26
|
|
|
@@ -39,54 +35,35 @@ Done. Your AI assistant now has tailored instruction files with SOLID principles
|
|
|
39
35
|
| **Quality gates** | None | Pre-commit hooks that enforce standards |
|
|
40
36
|
| **CI/CD** | None | Pipeline stages, environments, deploy guidance |
|
|
41
37
|
| **Session continuity** | None | `Status.md` + `forgecraft.yaml` persist context |
|
|
42
|
-
| **Drift detection** | None | `
|
|
43
|
-
| **Compliance scoring** | None | `
|
|
38
|
+
| **Drift detection** | None | `refresh` detects scope changes |
|
|
39
|
+
| **Compliance scoring** | None | `audit` scores 0-100 |
|
|
44
40
|
|
|
45
41
|
## How It Works
|
|
46
42
|
|
|
43
|
+
```bash
|
|
44
|
+
# First-time setup — auto-detects your stack
|
|
45
|
+
npx forgecraft-mcp setup .
|
|
46
|
+
|
|
47
|
+
# → scans your code → detects [API] + [WEB-REACT]
|
|
48
|
+
# → creates forgecraft.yaml
|
|
49
|
+
# → generates CLAUDE.md, .cursor/rules/, etc.
|
|
50
|
+
# → adds quality-gate hooks
|
|
51
|
+
# → done
|
|
47
52
|
```
|
|
48
|
-
You: "Set up this project for production"
|
|
49
|
-
|
|
50
|
-
Claude calls setup_project → scans your code → detects [API] + [WEB-REACT]
|
|
51
|
-
→ creates forgecraft.yaml
|
|
52
|
-
→ generates instruction files for your AI assistant(s)
|
|
53
|
-
→ adds quality-gate hooks
|
|
54
|
-
→ done
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
ForgeCraft is an [MCP server](https://modelcontextprotocol.io/) — it gives Claude 14 specialized tools. Claude picks the right ones automatically. You just describe what you want in plain English.
|
|
58
|
-
|
|
59
|
-
> **Already ran `claude init`?** ForgeCraft's `generate_instructions` can merge with your existing CLAUDE.md (`merge_with_existing: true`), keeping your custom sections while adding production standards.
|
|
60
53
|
|
|
61
|
-
|
|
54
|
+
ForgeCraft is a **setup-time CLI tool**. Run it once to configure your project, then remove it — it has no runtime footprint.
|
|
62
55
|
|
|
63
|
-
|
|
56
|
+
optional: add the MCP sentinel to let your AI assistant diagnose and recommend commands:
|
|
64
57
|
|
|
65
58
|
```bash
|
|
66
59
|
claude mcp add forgecraft -- npx -y forgecraft-mcp
|
|
67
60
|
```
|
|
68
61
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
<details>
|
|
72
|
-
<summary>Alternative: manual config</summary>
|
|
73
|
-
|
|
74
|
-
Add to `.claude/settings.json`:
|
|
75
|
-
```json
|
|
76
|
-
{
|
|
77
|
-
"mcpServers": {
|
|
78
|
-
"forgecraft": {
|
|
79
|
-
"command": "npx",
|
|
80
|
-
"args": ["-y", "forgecraft-mcp"]
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
```
|
|
85
|
-
</details>
|
|
62
|
+
The sentinel is a single lightweight tool (~200 tokens) that checks your project state and tells your AI what CLI command to run next. [Remove it](#mcp-sentinel) after initial setup to save tokens.
|
|
86
63
|
|
|
87
64
|
## What You Get
|
|
88
65
|
|
|
89
|
-
After `
|
|
66
|
+
After `npx forgecraft-mcp setup`, your project has:
|
|
90
67
|
|
|
91
68
|
```
|
|
92
69
|
your-project/
|
|
@@ -164,24 +141,74 @@ tags: [UNIVERSAL, API]
|
|
|
164
141
|
tier: recommended
|
|
165
142
|
```
|
|
166
143
|
|
|
167
|
-
##
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
|
174
|
-
|
|
175
|
-
| `
|
|
176
|
-
| `
|
|
177
|
-
| `
|
|
178
|
-
| `
|
|
179
|
-
| `
|
|
180
|
-
| `
|
|
181
|
-
| `
|
|
182
|
-
| `
|
|
183
|
-
| `
|
|
184
|
-
| `
|
|
144
|
+
## CLI Commands
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
npx forgecraft-mcp <command> [dir] [flags]
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
| Command | Purpose |
|
|
151
|
+
|---------|--------|
|
|
152
|
+
| `setup <dir>` | **Start here.** Analyze → auto-detect stack → generate instruction files + hooks |
|
|
153
|
+
| `refresh <dir>` | Re-scan after project changes. Detects new tags, shows before/after diff. |
|
|
154
|
+
| `refresh <dir> --apply` | Apply the refresh (default is preview-only) |
|
|
155
|
+
| `audit <dir>` | Score compliance (0-100). Reads tags from `forgecraft.yaml`. |
|
|
156
|
+
| `scaffold <dir> --tags ...` | Generate full folder structure + instruction files |
|
|
157
|
+
| `review [dir] --tags ...` | Structured code review checklist (4 dimensions) |
|
|
158
|
+
| `list tags` | Show all 24 available tags |
|
|
159
|
+
| `list hooks --tags ...` | Show quality-gate hooks for given tags |
|
|
160
|
+
| `list skills --tags ...` | Show skill files for given tags |
|
|
161
|
+
| `classify [dir]` | Analyze code to suggest tags |
|
|
162
|
+
| `generate <dir>` | Regenerate instruction files only |
|
|
163
|
+
| `convert <dir>` | Phased migration plan for legacy code |
|
|
164
|
+
| `add-hook <name> <dir>` | Add a quality-gate hook |
|
|
165
|
+
| `add-module <name> <dir>` | Scaffold a feature module |
|
|
166
|
+
|
|
167
|
+
### Common flags
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
--tags UNIVERSAL API Project classification tags (or read from forgecraft.yaml)
|
|
171
|
+
--tier core|recommended Content depth (default: recommended)
|
|
172
|
+
--targets claude cursor AI assistant targets (default: claude)
|
|
173
|
+
--dry-run Preview without writing files
|
|
174
|
+
--apply Apply changes (for refresh)
|
|
175
|
+
--language typescript typescript | python (default: typescript)
|
|
176
|
+
--scope focused comprehensive | focused (for review)
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## MCP Sentinel
|
|
180
|
+
|
|
181
|
+
Optionally add the ForgeCraft MCP sentinel to let your AI assistant diagnose your project and suggest the right CLI command:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
claude mcp add forgecraft -- npx -y forgecraft-mcp
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
The sentinel is a **single minimal tool** (~200 tokens per request, vs ~1,500 for a full MCP tool suite). It checks whether `forgecraft.yaml`, `CLAUDE.md`, and `.claude/hooks` exist, then returns targeted CLI commands to run.
|
|
188
|
+
|
|
189
|
+
**Recommended workflow:**
|
|
190
|
+
1. Add the sentinel temporarily
|
|
191
|
+
2. Let Claude run `npx forgecraft-mcp setup .`
|
|
192
|
+
3. Remove the sentinel: `claude mcp remove forgecraft`
|
|
193
|
+
4. Re-add it when you need to refresh or audit
|
|
194
|
+
|
|
195
|
+
<details>
|
|
196
|
+
<summary>Manual MCP config</summary>
|
|
197
|
+
|
|
198
|
+
Add to `.claude/settings.json`:
|
|
199
|
+
```json
|
|
200
|
+
{
|
|
201
|
+
"mcpServers": {
|
|
202
|
+
"forgecraft": {
|
|
203
|
+
"command": "npx",
|
|
204
|
+
"args": ["-y", "forgecraft-mcp"]
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
</details>
|
|
210
|
+
|
|
211
|
+
> **Already ran `claude init`?** Use `npx forgecraft-mcp generate . --merge` to merge with your existing CLAUDE.md, keeping your custom sections while adding production standards.
|
|
185
212
|
|
|
186
213
|
## Configuration
|
|
187
214
|
|
|
@@ -227,7 +254,14 @@ Score: 72/100 Grade: C
|
|
|
227
254
|
|
|
228
255
|
### Refresh (project scope changed?)
|
|
229
256
|
|
|
230
|
-
|
|
257
|
+
```bash
|
|
258
|
+
npx forgecraft-mcp refresh . --apply
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Or in preview mode first (default):
|
|
262
|
+
```bash
|
|
263
|
+
npx forgecraft-mcp refresh . # shows before/after diff without writing
|
|
264
|
+
```
|
|
231
265
|
|
|
232
266
|
## Contributing
|
|
233
267
|
|
|
@@ -247,7 +281,7 @@ PRs welcome. See [`templates/universal/`](templates/universal/) for the format.
|
|
|
247
281
|
|
|
248
282
|
### MCP Server Discovery
|
|
249
283
|
|
|
250
|
-
`
|
|
284
|
+
`npx forgecraft-mcp configure-mcp` dynamically discovers recommended MCP servers matching your project tags. Servers are curated in `mcp-servers.yaml` per tag — community-contributable via PRs.
|
|
251
285
|
|
|
252
286
|
Built-in recommendations include Context7 (docs), Playwright (testing), Chrome DevTools (debugging), Stripe (fintech), Docker/K8s (infra), and more across all 24 tags.
|
|
253
287
|
|
|
@@ -265,7 +299,7 @@ git clone https://github.com/jghiringhelli/forgecraft-mcp.git
|
|
|
265
299
|
cd forgecraft-mcp
|
|
266
300
|
npm install
|
|
267
301
|
npm run build
|
|
268
|
-
npm test #
|
|
302
|
+
npm test # 229 tests, 16 suites
|
|
269
303
|
```
|
|
270
304
|
|
|
271
305
|
## License
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI mode for ForgeCraft.
|
|
3
|
+
*
|
|
4
|
+
* Handles `npx forgecraft-mcp <command> [args]` invocations.
|
|
5
|
+
* Each subcommand maps directly to an existing handler function.
|
|
6
|
+
* Returns `true` when a command is handled so the caller skips MCP server startup.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Run CLI mode. Returns `true` when a command was handled, `false` to fall
|
|
10
|
+
* through to MCP server startup.
|
|
11
|
+
*
|
|
12
|
+
* @param argv - Raw process.argv (will be sliced from index 2)
|
|
13
|
+
*/
|
|
14
|
+
export declare function runCli(argv: string[]): Promise<boolean>;
|
|
15
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkTH;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAuC7D"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI mode for ForgeCraft.
|
|
3
|
+
*
|
|
4
|
+
* Handles `npx forgecraft-mcp <command> [args]` invocations.
|
|
5
|
+
* Each subcommand maps directly to an existing handler function.
|
|
6
|
+
* Returns `true` when a command is handled so the caller skips MCP server startup.
|
|
7
|
+
*/
|
|
8
|
+
import { resolve } from "node:path";
|
|
9
|
+
import { loadUserOverrides } from "./registry/loader.js";
|
|
10
|
+
import { setupProjectHandler } from "./tools/setup-project.js";
|
|
11
|
+
import { refreshProjectHandler } from "./tools/refresh-project.js";
|
|
12
|
+
import { auditProjectHandler } from "./tools/audit.js";
|
|
13
|
+
import { scaffoldProjectHandler } from "./tools/scaffold.js";
|
|
14
|
+
import { reviewProjectHandler } from "./tools/review.js";
|
|
15
|
+
import { listTagsHandler, listHooksHandler, listSkillsHandler } from "./tools/list.js";
|
|
16
|
+
import { classifyProjectHandler } from "./tools/classify.js";
|
|
17
|
+
import { generateInstructionsHandler } from "./tools/generate-claude-md.js";
|
|
18
|
+
import { convertExistingHandler } from "./tools/convert.js";
|
|
19
|
+
import { addHookHandler } from "./tools/add-hook.js";
|
|
20
|
+
import { addModuleHandler } from "./tools/add-module.js";
|
|
21
|
+
/**
|
|
22
|
+
* Minimal argv parser — no external dependencies.
|
|
23
|
+
* `--flag val1 val2` → `flags["flag"] = ["val1", "val2"]`
|
|
24
|
+
* `--flag` alone → `flags["flag"] = true`
|
|
25
|
+
* `--no-flag` → `flags["flag"] = false`
|
|
26
|
+
*/
|
|
27
|
+
function parseCliArgs(argv) {
|
|
28
|
+
const [command = "serve", ...rest] = argv;
|
|
29
|
+
const positional = [];
|
|
30
|
+
const flags = {};
|
|
31
|
+
let i = 0;
|
|
32
|
+
while (i < rest.length) {
|
|
33
|
+
const arg = rest[i];
|
|
34
|
+
if (arg.startsWith("--no-")) {
|
|
35
|
+
flags[arg.slice(5)] = false;
|
|
36
|
+
i++;
|
|
37
|
+
}
|
|
38
|
+
else if (arg.startsWith("--")) {
|
|
39
|
+
const key = arg.slice(2);
|
|
40
|
+
const values = [];
|
|
41
|
+
i++;
|
|
42
|
+
while (i < rest.length && !rest[i].startsWith("--")) {
|
|
43
|
+
values.push(rest[i]);
|
|
44
|
+
i++;
|
|
45
|
+
}
|
|
46
|
+
flags[key] = values.length === 0 ? true : values;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
positional.push(arg);
|
|
50
|
+
i++;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return { command, positional, flags };
|
|
54
|
+
}
|
|
55
|
+
/** Extract first value of an array flag, or undefined. */
|
|
56
|
+
function str(flags, key) {
|
|
57
|
+
const v = flags[key];
|
|
58
|
+
return Array.isArray(v) ? v[0] : undefined;
|
|
59
|
+
}
|
|
60
|
+
/** Extract array flag values, or undefined if absent/empty. */
|
|
61
|
+
function arr(flags, key) {
|
|
62
|
+
const v = flags[key];
|
|
63
|
+
return Array.isArray(v) && v.length > 0 ? v : undefined;
|
|
64
|
+
}
|
|
65
|
+
/** Extract boolean flag, falling back to a default. */
|
|
66
|
+
function bool(flags, key, defaultVal) {
|
|
67
|
+
const v = flags[key];
|
|
68
|
+
return typeof v === "boolean" ? v : defaultVal;
|
|
69
|
+
}
|
|
70
|
+
// ── Config Resolution ────────────────────────────────────────────────
|
|
71
|
+
/**
|
|
72
|
+
* Resolve tags from explicit flags or fall back to forgecraft.yaml.
|
|
73
|
+
*
|
|
74
|
+
* @param dir - Project directory to read config from
|
|
75
|
+
* @param flagTags - Explicitly provided tags from --tags flag
|
|
76
|
+
* @returns Resolved tags, or undefined if none found
|
|
77
|
+
*/
|
|
78
|
+
function resolveTagsFromConfig(dir, flagTags) {
|
|
79
|
+
if (flagTags && flagTags.length > 0)
|
|
80
|
+
return flagTags;
|
|
81
|
+
const config = loadUserOverrides(resolve(dir));
|
|
82
|
+
return config?.tags ?? undefined;
|
|
83
|
+
}
|
|
84
|
+
// ── Output ───────────────────────────────────────────────────────────
|
|
85
|
+
/** Extract text from MCP-style handler result and print to stdout. */
|
|
86
|
+
function printResult(result) {
|
|
87
|
+
console.log(result.content[0]?.text ?? "");
|
|
88
|
+
}
|
|
89
|
+
// ── Commands ─────────────────────────────────────────────────────────
|
|
90
|
+
async function cmdSetup(pos, flags) {
|
|
91
|
+
const projectDir = resolve(pos[0] ?? ".");
|
|
92
|
+
const result = await setupProjectHandler({
|
|
93
|
+
project_dir: projectDir,
|
|
94
|
+
project_name: str(flags, "name"),
|
|
95
|
+
description: str(flags, "description"),
|
|
96
|
+
tier: str(flags, "tier") ?? "recommended",
|
|
97
|
+
tags: arr(flags, "tags"),
|
|
98
|
+
dry_run: bool(flags, "dry-run", false),
|
|
99
|
+
output_targets: arr(flags, "targets") ?? ["claude"],
|
|
100
|
+
});
|
|
101
|
+
printResult(result);
|
|
102
|
+
}
|
|
103
|
+
async function cmdRefresh(pos, flags) {
|
|
104
|
+
const projectDir = resolve(pos[0] ?? ".");
|
|
105
|
+
const result = await refreshProjectHandler({
|
|
106
|
+
project_dir: projectDir,
|
|
107
|
+
apply: bool(flags, "apply", false),
|
|
108
|
+
tier: str(flags, "tier"),
|
|
109
|
+
add_tags: arr(flags, "add-tags"),
|
|
110
|
+
remove_tags: arr(flags, "remove-tags"),
|
|
111
|
+
output_targets: arr(flags, "targets"),
|
|
112
|
+
});
|
|
113
|
+
printResult(result);
|
|
114
|
+
}
|
|
115
|
+
async function cmdAudit(pos, flags) {
|
|
116
|
+
const projectDir = resolve(pos[0] ?? ".");
|
|
117
|
+
const tags = resolveTagsFromConfig(projectDir, arr(flags, "tags"));
|
|
118
|
+
if (!tags || tags.length === 0) {
|
|
119
|
+
console.error("Error: --tags required (or add forgecraft.yaml with tags)");
|
|
120
|
+
process.exit(1);
|
|
121
|
+
}
|
|
122
|
+
const result = await auditProjectHandler({
|
|
123
|
+
tags,
|
|
124
|
+
project_dir: projectDir,
|
|
125
|
+
include_anti_patterns: bool(flags, "anti-patterns", true),
|
|
126
|
+
});
|
|
127
|
+
printResult(result);
|
|
128
|
+
}
|
|
129
|
+
async function cmdScaffold(pos, flags) {
|
|
130
|
+
const projectDir = resolve(pos[0] ?? ".");
|
|
131
|
+
const tags = resolveTagsFromConfig(projectDir, arr(flags, "tags"));
|
|
132
|
+
if (!tags || tags.length === 0) {
|
|
133
|
+
console.error("Error: --tags required (or add forgecraft.yaml with tags)");
|
|
134
|
+
process.exit(1);
|
|
135
|
+
}
|
|
136
|
+
const result = await scaffoldProjectHandler({
|
|
137
|
+
tags,
|
|
138
|
+
project_dir: projectDir,
|
|
139
|
+
project_name: str(flags, "name") ?? "My Project",
|
|
140
|
+
language: str(flags, "language") ?? "typescript",
|
|
141
|
+
dry_run: bool(flags, "dry-run", false),
|
|
142
|
+
force: bool(flags, "force", false),
|
|
143
|
+
output_targets: arr(flags, "targets") ?? ["claude"],
|
|
144
|
+
});
|
|
145
|
+
printResult(result);
|
|
146
|
+
}
|
|
147
|
+
async function cmdReview(pos, flags) {
|
|
148
|
+
const projectDir = pos[0] ? resolve(pos[0]) : process.cwd();
|
|
149
|
+
const tags = resolveTagsFromConfig(projectDir, arr(flags, "tags"));
|
|
150
|
+
if (!tags || tags.length === 0) {
|
|
151
|
+
console.error("Error: --tags required (or add forgecraft.yaml with tags)");
|
|
152
|
+
process.exit(1);
|
|
153
|
+
}
|
|
154
|
+
const result = await reviewProjectHandler({
|
|
155
|
+
tags,
|
|
156
|
+
scope: str(flags, "scope") ?? "comprehensive",
|
|
157
|
+
});
|
|
158
|
+
printResult(result);
|
|
159
|
+
}
|
|
160
|
+
async function cmdList(pos, flags) {
|
|
161
|
+
const resource = pos[0] ?? "tags";
|
|
162
|
+
const filterTags = arr(flags, "tags");
|
|
163
|
+
if (resource === "hooks") {
|
|
164
|
+
printResult(await listHooksHandler({ tags: filterTags }));
|
|
165
|
+
}
|
|
166
|
+
else if (resource === "skills") {
|
|
167
|
+
printResult(await listSkillsHandler({ tags: filterTags }));
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
printResult(await listTagsHandler());
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
async function cmdClassify(pos, flags) {
|
|
174
|
+
const result = await classifyProjectHandler({
|
|
175
|
+
project_dir: pos[0] ? resolve(pos[0]) : undefined,
|
|
176
|
+
description: str(flags, "description"),
|
|
177
|
+
});
|
|
178
|
+
printResult(result);
|
|
179
|
+
}
|
|
180
|
+
async function cmdGenerate(pos, flags) {
|
|
181
|
+
const projectDir = resolve(pos[0] ?? ".");
|
|
182
|
+
const tags = resolveTagsFromConfig(projectDir, arr(flags, "tags"));
|
|
183
|
+
if (!tags || tags.length === 0) {
|
|
184
|
+
console.error("Error: --tags required (or add forgecraft.yaml with tags)");
|
|
185
|
+
process.exit(1);
|
|
186
|
+
}
|
|
187
|
+
const result = await generateInstructionsHandler({
|
|
188
|
+
tags,
|
|
189
|
+
project_dir: projectDir,
|
|
190
|
+
project_name: str(flags, "name") ?? "My Project",
|
|
191
|
+
output_targets: arr(flags, "targets") ?? ["claude"],
|
|
192
|
+
merge_with_existing: bool(flags, "merge", true),
|
|
193
|
+
});
|
|
194
|
+
printResult(result);
|
|
195
|
+
}
|
|
196
|
+
async function cmdConvert(pos, flags) {
|
|
197
|
+
const projectDir = resolve(pos[0] ?? ".");
|
|
198
|
+
const tags = resolveTagsFromConfig(projectDir, arr(flags, "tags"));
|
|
199
|
+
if (!tags || tags.length === 0) {
|
|
200
|
+
console.error("Error: --tags required (or add forgecraft.yaml with tags)");
|
|
201
|
+
process.exit(1);
|
|
202
|
+
}
|
|
203
|
+
const result = await convertExistingHandler({
|
|
204
|
+
tags,
|
|
205
|
+
project_dir: projectDir,
|
|
206
|
+
scan_depth: str(flags, "scan-depth") ?? "quick",
|
|
207
|
+
});
|
|
208
|
+
printResult(result);
|
|
209
|
+
}
|
|
210
|
+
async function cmdAddHook(pos, flags) {
|
|
211
|
+
const hookName = pos[0];
|
|
212
|
+
const projectDir = resolve(pos[1] ?? ".");
|
|
213
|
+
if (!hookName) {
|
|
214
|
+
console.error("Error: hook name required — npx forgecraft-mcp add-hook <name> <dir>");
|
|
215
|
+
process.exit(1);
|
|
216
|
+
}
|
|
217
|
+
const result = await addHookHandler({
|
|
218
|
+
hook: hookName,
|
|
219
|
+
project_dir: projectDir,
|
|
220
|
+
tag: str(flags, "tag"),
|
|
221
|
+
});
|
|
222
|
+
printResult(result);
|
|
223
|
+
}
|
|
224
|
+
async function cmdAddModule(pos, flags) {
|
|
225
|
+
const moduleName = pos[0];
|
|
226
|
+
const projectDir = resolve(pos[1] ?? ".");
|
|
227
|
+
if (!moduleName) {
|
|
228
|
+
console.error("Error: module name required — npx forgecraft-mcp add-module <name> <dir>");
|
|
229
|
+
process.exit(1);
|
|
230
|
+
}
|
|
231
|
+
const result = await addModuleHandler({
|
|
232
|
+
module_name: moduleName,
|
|
233
|
+
project_dir: projectDir,
|
|
234
|
+
tags: arr(flags, "tags") ?? ["UNIVERSAL"],
|
|
235
|
+
language: str(flags, "language") ?? "typescript",
|
|
236
|
+
});
|
|
237
|
+
printResult(result);
|
|
238
|
+
}
|
|
239
|
+
// ── Help ─────────────────────────────────────────────────────────────
|
|
240
|
+
function showHelp() {
|
|
241
|
+
console.log(`
|
|
242
|
+
ForgeCraft MCP — engineering standards for AI coding assistants
|
|
243
|
+
|
|
244
|
+
USAGE
|
|
245
|
+
npx forgecraft-mcp <command> [arguments] [flags]
|
|
246
|
+
npx forgecraft-mcp serve (default — starts MCP server)
|
|
247
|
+
|
|
248
|
+
COMMANDS
|
|
249
|
+
setup <dir> First-time project setup (auto-detects stack)
|
|
250
|
+
refresh <dir> Re-sync instruction files after project changes
|
|
251
|
+
audit <dir> Check project against configured standards
|
|
252
|
+
scaffold <dir> Generate project structure and instruction files
|
|
253
|
+
review [dir] Generate code review checklist
|
|
254
|
+
list [tags|hooks|skills] Discover available resources
|
|
255
|
+
classify [dir] Suggest tags for a project
|
|
256
|
+
generate <dir> Generate instruction files only
|
|
257
|
+
convert <dir> Generate migration plan
|
|
258
|
+
add-hook <name> <dir> Install a quality-gate hook
|
|
259
|
+
add-module <name> <dir> Scaffold a feature module
|
|
260
|
+
|
|
261
|
+
FLAGS (vary by command)
|
|
262
|
+
--tags <tags...> Project classification tags (or read from forgecraft.yaml)
|
|
263
|
+
--tier <tier> Content depth: core | recommended | optional
|
|
264
|
+
--targets <targets...> AI assistant targets: claude cursor copilot windsurf cline aider
|
|
265
|
+
--name <name> Project name
|
|
266
|
+
--description <text> Project description for tag detection
|
|
267
|
+
--dry-run Preview without writing files
|
|
268
|
+
--apply Apply changes (for refresh, default is preview)
|
|
269
|
+
--add-tags <tags...> Add tags during refresh
|
|
270
|
+
--remove-tags <tags...> Remove tags during refresh
|
|
271
|
+
--no-anti-patterns Skip anti-pattern scanning (for audit)
|
|
272
|
+
--language <lang> typescript | python (default: typescript)
|
|
273
|
+
--scope <scope> comprehensive | focused (for review)
|
|
274
|
+
--force Overwrite existing files
|
|
275
|
+
--tag <tag> Single tag filter (for add-hook)
|
|
276
|
+
`);
|
|
277
|
+
}
|
|
278
|
+
// ── Entry Point ──────────────────────────────────────────────────────
|
|
279
|
+
/**
|
|
280
|
+
* Run CLI mode. Returns `true` when a command was handled, `false` to fall
|
|
281
|
+
* through to MCP server startup.
|
|
282
|
+
*
|
|
283
|
+
* @param argv - Raw process.argv (will be sliced from index 2)
|
|
284
|
+
*/
|
|
285
|
+
export async function runCli(argv) {
|
|
286
|
+
const args = argv.slice(2);
|
|
287
|
+
if (args.length === 0)
|
|
288
|
+
return false; // no args → start MCP server
|
|
289
|
+
// Help flag at any position
|
|
290
|
+
if (args.includes("--help") || args.includes("-h")) {
|
|
291
|
+
showHelp();
|
|
292
|
+
return true;
|
|
293
|
+
}
|
|
294
|
+
const { command, positional, flags } = parseCliArgs(args);
|
|
295
|
+
if (command === "serve")
|
|
296
|
+
return false; // explicit serve → MCP server
|
|
297
|
+
try {
|
|
298
|
+
switch (command) {
|
|
299
|
+
case "setup":
|
|
300
|
+
await cmdSetup(positional, flags);
|
|
301
|
+
break;
|
|
302
|
+
case "refresh":
|
|
303
|
+
await cmdRefresh(positional, flags);
|
|
304
|
+
break;
|
|
305
|
+
case "audit":
|
|
306
|
+
await cmdAudit(positional, flags);
|
|
307
|
+
break;
|
|
308
|
+
case "scaffold":
|
|
309
|
+
await cmdScaffold(positional, flags);
|
|
310
|
+
break;
|
|
311
|
+
case "review":
|
|
312
|
+
await cmdReview(positional, flags);
|
|
313
|
+
break;
|
|
314
|
+
case "list":
|
|
315
|
+
await cmdList(positional, flags);
|
|
316
|
+
break;
|
|
317
|
+
case "classify":
|
|
318
|
+
await cmdClassify(positional, flags);
|
|
319
|
+
break;
|
|
320
|
+
case "generate":
|
|
321
|
+
await cmdGenerate(positional, flags);
|
|
322
|
+
break;
|
|
323
|
+
case "convert":
|
|
324
|
+
await cmdConvert(positional, flags);
|
|
325
|
+
break;
|
|
326
|
+
case "add-hook":
|
|
327
|
+
await cmdAddHook(positional, flags);
|
|
328
|
+
break;
|
|
329
|
+
case "add-module":
|
|
330
|
+
await cmdAddModule(positional, flags);
|
|
331
|
+
break;
|
|
332
|
+
default:
|
|
333
|
+
console.error(`Unknown command: ${command}`);
|
|
334
|
+
showHelp();
|
|
335
|
+
process.exit(1);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
catch (err) {
|
|
339
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
340
|
+
console.error(`Error: ${message}`);
|
|
341
|
+
process.exit(1);
|
|
342
|
+
}
|
|
343
|
+
return true;
|
|
344
|
+
}
|
|
345
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* ForgeCraft
|
|
3
|
+
* ForgeCraft — Entry Point.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Dual-mode binary: runs as a CLI tool when subcommands are provided,
|
|
6
|
+
* or starts the MCP server in stdio mode when invoked without subcommands.
|
|
7
|
+
*
|
|
8
|
+
* CLI usage: npx forgecraft-mcp setup .
|
|
9
|
+
* MCP usage: npx forgecraft-mcp (or: npx forgecraft-mcp serve)
|
|
7
10
|
*/
|
|
8
11
|
export {};
|
|
9
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG"}
|
package/dist/index.js
CHANGED
|
@@ -1,34 +1,40 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* ForgeCraft
|
|
3
|
+
* ForgeCraft — Entry Point.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Dual-mode binary: runs as a CLI tool when subcommands are provided,
|
|
6
|
+
* or starts the MCP server in stdio mode when invoked without subcommands.
|
|
7
|
+
*
|
|
8
|
+
* CLI usage: npx forgecraft-mcp setup .
|
|
9
|
+
* MCP usage: npx forgecraft-mcp (or: npx forgecraft-mcp serve)
|
|
7
10
|
*/
|
|
8
11
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
9
12
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
10
13
|
import { createLogger } from "./shared/logger/index.js";
|
|
11
|
-
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
// ── Server Setup ─────────────────────────────────────────────────────
|
|
14
|
+
import { runCli } from "./cli.js";
|
|
15
|
+
import { sentinelSchema, sentinelHandler } from "./tools/sentinel.js";
|
|
16
|
+
// ── Entry Point ──────────────────────────────────────────────────────
|
|
15
17
|
const logger = createLogger("server");
|
|
16
|
-
async function
|
|
18
|
+
async function startMcpServer() {
|
|
17
19
|
logger.info("Starting ForgeCraft MCP server");
|
|
18
20
|
const server = new McpServer({
|
|
19
21
|
name: "forgecraft",
|
|
20
|
-
version: "0.
|
|
22
|
+
version: "0.5.0",
|
|
21
23
|
});
|
|
22
|
-
// ──
|
|
23
|
-
server.tool("
|
|
24
|
-
server.tool("forgecraft", "Execute ForgeCraft operations. Actions: refresh (re-sync after changes), scaffold (generate project structure), generate (instruction files only), audit (check standards), review (code review checklist), list (discover tags/hooks/skills via resource param), classify (suggest tags), add_hook, add_module, configure_mcp (MCP server settings), get_reference (design patterns/NFR via resource param), convert (migration plan). Use setup_project for first-time setup instead.", forgecraftSchema.shape, forgecraftHandler);
|
|
25
|
-
// ── Start Stdio Transport ────────────────────────────────────────
|
|
24
|
+
// ── Single sentinel tool (~200 tokens vs ~1,500 for full suite) ──
|
|
25
|
+
server.tool("forgecraft", "Setup-time tool for engineering standards. Diagnoses project state and recommends CLI commands to run. Remove this MCP server after setup is complete to save tokens.", sentinelSchema.shape, sentinelHandler);
|
|
26
26
|
const transport = new StdioServerTransport();
|
|
27
27
|
await server.connect(transport);
|
|
28
28
|
logger.info("ForgeCraft MCP server running on stdio");
|
|
29
29
|
}
|
|
30
|
+
async function main() {
|
|
31
|
+
const cliHandled = await runCli(process.argv);
|
|
32
|
+
if (!cliHandled) {
|
|
33
|
+
await startMcpServer();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
30
36
|
main().catch((error) => {
|
|
31
|
-
logger.error("Fatal
|
|
37
|
+
logger.error("Fatal error", {
|
|
32
38
|
error: error instanceof Error ? error.message : String(error),
|
|
33
39
|
});
|
|
34
40
|
process.exit(1);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtE,wEAAwE;AAExE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEtC,KAAK,UAAU,cAAc;IAC3B,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,oEAAoE;IACpE,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,uKAAuK,EACvK,cAAc,CAAC,KAAK,EACpB,eAAe,CAChB,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE;QAC1B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KAC9D,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/tools/audit.js
CHANGED
|
@@ -89,13 +89,13 @@ function generateRecommendations(failing) {
|
|
|
89
89
|
const recommendations = [];
|
|
90
90
|
const failingChecks = new Set(failing.map((f) => f.check));
|
|
91
91
|
if (failingChecks.has("instruction_file_exists")) {
|
|
92
|
-
recommendations.push("Run `forgecraft
|
|
92
|
+
recommendations.push("Run `npx forgecraft-mcp generate .` to create instruction files for your AI assistant.");
|
|
93
93
|
}
|
|
94
94
|
if (failingChecks.has("status_md_exists") || failingChecks.has("status_md_current")) {
|
|
95
95
|
recommendations.push("Create/update Status.md — update it at the end of each coding session.");
|
|
96
96
|
}
|
|
97
97
|
if (failingChecks.has("hooks_installed")) {
|
|
98
|
-
recommendations.push("Run `forgecraft
|
|
98
|
+
recommendations.push("Run `npx forgecraft-mcp scaffold .` to generate project structure and install quality gate hooks.");
|
|
99
99
|
}
|
|
100
100
|
if (failingChecks.has("hardcoded_url") || failingChecks.has("hardcoded_credential")) {
|
|
101
101
|
recommendations.push("Move hardcoded values to config module or environment variables.");
|
package/dist/tools/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,wEAAwE;AAExE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAA4C,CAAC,CAAC;SAC3D,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,uCAAuC,CAAC;IACpD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,qBAAqB,EAAE,CAAC;SACrB,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,iDAAiD,CAAC;CAC/D,CAAC,CAAC;AAEH,wEAAwE;AAExE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAwC;IAExC,MAAM,IAAI,GAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjD,CAAC,CAAE,IAAI,CAAC,IAAc;QACtB,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAW,CAAC;IAE3C,0BAA0B;IAC1B,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAE/D,wBAAwB;IACxB,IAAI,qBAAqB,GAAgC,EAAE,CAAC;IAC5D,IAAI,mBAAmB,GAAgC,EAAE,CAAC;IAE1D,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,qBAAqB,GAAG,YAAY,CAAC,UAAU,CAAC;QAChD,mBAAmB,GAAG,YAAY,CAAC,QAAQ,CAAC;IAC9C,CAAC;IAED,kBAAkB;IAClB,MAAM,UAAU,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChG,MAAM,UAAU,GAAG;QACjB,GAAG,YAAY,CAAC,OAAO;QACvB,GAAG,qBAAqB;QACxB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;KACjD,CAAC;IAEF,kBAAkB;IAClB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC1D,MAAM,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExF,2BAA2B;IAC3B,MAAM,eAAe,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAgB;QAC1B,KAAK;QACL,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;QACnB,eAAe;KAChB,CAAC;IAEF,gBAAgB;IAChB,IAAI,IAAI,GAAG,4BAA4B,CAAC;IACxC,IAAI,IAAI,cAAc,MAAM,CAAC,KAAK,QAAQ,CAAC;IAC3C,IAAI,IAAI,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IAE/D,QAAQ;IACR,MAAM,KAAK,GACT,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACtF,IAAI,IAAI,cAAc,KAAK,MAAM,CAAC;IAElC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,IAAI,eAAe,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAClD,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,IAAI,MAAM,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,IAAI,eAAe,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAClD,IAAI,IAAI,MAAM,CAAC,OAAO;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACpF,OAAO,KAAK,IAAI,MAAM,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,IAAI,MAAM,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,IAAI,sBAAsB,CAAC;QAC/B,IAAI,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,OAA+B;IAE/B,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3D,IAAI,aAAa,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACjD,eAAe,CAAC,IAAI,CAClB,
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/convert.js
CHANGED
|
@@ -68,7 +68,7 @@ export async function convertExistingHandler(args) {
|
|
|
68
68
|
text += phase.steps.map((s, i) => `${i + 1}. ${s}`).join("\n");
|
|
69
69
|
text += "\n\n";
|
|
70
70
|
}
|
|
71
|
-
text += `---\n_Run \`forgecraft
|
|
71
|
+
text += `---\n_Run \`npx forgecraft-mcp scaffold . --dry-run\` to preview what would be generated._`;
|
|
72
72
|
return { content: [{ type: "text", text }] };
|
|
73
73
|
}
|
|
74
74
|
function buildMigrationPlan(completeness, antiPatterns, _tags) {
|
|
@@ -77,7 +77,7 @@ function buildMigrationPlan(completeness, antiPatterns, _tags) {
|
|
|
77
77
|
// Phase 1: Foundation (always first)
|
|
78
78
|
const foundationSteps = [];
|
|
79
79
|
if (missingChecks.has("instruction_file_exists")) {
|
|
80
|
-
foundationSteps.push("Generate instruction files
|
|
80
|
+
foundationSteps.push("Generate instruction files: `npx forgecraft-mcp generate .`");
|
|
81
81
|
}
|
|
82
82
|
if (missingChecks.has("status_md_exists")) {
|
|
83
83
|
foundationSteps.push("Create Status.md for session continuity");
|
|
@@ -96,7 +96,7 @@ function buildMigrationPlan(completeness, antiPatterns, _tags) {
|
|
|
96
96
|
// Phase 2: Quality Gates
|
|
97
97
|
const qualitySteps = [];
|
|
98
98
|
if (missingChecks.has("hooks_installed")) {
|
|
99
|
-
qualitySteps.push("Install quality gate hooks
|
|
99
|
+
qualitySteps.push("Install quality gate hooks: `npx forgecraft-mcp scaffold .`");
|
|
100
100
|
}
|
|
101
101
|
qualitySteps.push("Configure .gitignore for build artifacts and secrets");
|
|
102
102
|
qualitySteps.push("Set up CI pipeline if not present");
|
|
@@ -136,7 +136,7 @@ function buildMigrationPlan(completeness, antiPatterns, _tags) {
|
|
|
136
136
|
docSteps.push("Create docs/PRD.md documenting requirements");
|
|
137
137
|
}
|
|
138
138
|
if (missingChecks.has("tech_spec_exists")) {
|
|
139
|
-
docSteps.push("Create docs/TechSpec.md
|
|
139
|
+
docSteps.push("Create docs/TechSpec.md — run `npx forgecraft-mcp list` for NFR reference sections");
|
|
140
140
|
}
|
|
141
141
|
if (missingChecks.has("shared_modules")) {
|
|
142
142
|
docSteps.push("Create shared modules (config, errors, logging) in src/shared/");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/tools/convert.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,wEAAwE;AAExE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAA4C,CAAC,CAAC;SAC3D,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,wCAAwC,CAAC;IACrD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvB,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,sEAAsE,CAAC;CACpF,CAAC,CAAC;AAEH,wEAAwE;AAExE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAA2C;IAE3C,MAAM,IAAI,GAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjD,CAAC,CAAE,IAAI,CAAC,IAAc;QACtB,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAW,CAAC;IAE3C,iCAAiC;IACjC,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,KAAK,MAAM;QAC7C,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;QACpC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAErC,gCAAgC;IAChC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAEpE,gBAAgB;IAChB,IAAI,IAAI,GAAG,uBAAuB,CAAC;IACnC,IAAI,IAAI,oBAAoB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACpE,IAAI,IAAI,mBAAmB,IAAI,CAAC,UAAU,MAAM,CAAC;IAEjD,qBAAqB;IACrB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,IAAI,yBAAyB,CAAC;QAClC,IAAI,IAAI,UAAU;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAC7F,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,IAAI,MAAM,CAAC;IACjB,CAAC;IAED,oBAAoB;IACpB,IAAI,IAAI,iCAAiC,QAAQ,cAAc,CAAC;IAEhE,gBAAgB;IAChB,IAAI,IAAI,yBAAyB,CAAC;IAClC,IAAI,IAAI,cAAc,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;IACtD,IAAI,IAAI,cAAc,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;IACtD,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,8BAA8B,YAAY,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,IAAI,CAAC;IAEb,mBAAmB;IACnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC;QAC9B,IAAI,IAAI,eAAe,KAAK,CAAC,MAAM,gBAAgB,KAAK,CAAC,IAAI,MAAM,CAAC;QACpE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,IAAI,MAAM,CAAC;IACjB,CAAC;IAED,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/tools/convert.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,8 +49,8 @@ export declare const forgecraftSchema: z.ZodObject<{
|
|
|
49
49
|
max_servers: z.ZodOptional<z.ZodNumber>;
|
|
50
50
|
}, "strip", z.ZodTypeAny, {
|
|
51
51
|
action: string;
|
|
52
|
-
tags?: string[] | undefined;
|
|
53
52
|
tag?: string | undefined;
|
|
53
|
+
tags?: string[] | undefined;
|
|
54
54
|
tier?: string | undefined;
|
|
55
55
|
language?: "typescript" | "python" | undefined;
|
|
56
56
|
project_dir?: string | undefined;
|
|
@@ -58,8 +58,16 @@ export declare const forgecraftSchema: z.ZodObject<{
|
|
|
58
58
|
description?: string | undefined;
|
|
59
59
|
dry_run?: boolean | undefined;
|
|
60
60
|
output_targets?: string[] | undefined;
|
|
61
|
-
|
|
61
|
+
apply?: boolean | undefined;
|
|
62
|
+
add_tags?: string[] | undefined;
|
|
63
|
+
remove_tags?: string[] | undefined;
|
|
62
64
|
include_anti_patterns?: boolean | undefined;
|
|
65
|
+
force?: boolean | undefined;
|
|
66
|
+
scope?: "comprehensive" | "focused" | undefined;
|
|
67
|
+
scan_depth?: "quick" | "full" | undefined;
|
|
68
|
+
name?: string | undefined;
|
|
69
|
+
merge?: boolean | undefined;
|
|
70
|
+
resource?: string | undefined;
|
|
63
71
|
custom_servers?: Record<string, {
|
|
64
72
|
command: string;
|
|
65
73
|
args: string[];
|
|
@@ -69,18 +77,10 @@ export declare const forgecraftSchema: z.ZodObject<{
|
|
|
69
77
|
include_remote?: boolean | undefined;
|
|
70
78
|
remote_registry_url?: string | undefined;
|
|
71
79
|
max_servers?: number | undefined;
|
|
72
|
-
name?: string | undefined;
|
|
73
|
-
scan_depth?: "quick" | "full" | undefined;
|
|
74
|
-
scope?: "comprehensive" | "focused" | undefined;
|
|
75
|
-
apply?: boolean | undefined;
|
|
76
|
-
add_tags?: string[] | undefined;
|
|
77
|
-
remove_tags?: string[] | undefined;
|
|
78
|
-
resource?: string | undefined;
|
|
79
|
-
merge?: boolean | undefined;
|
|
80
80
|
}, {
|
|
81
81
|
action: string;
|
|
82
|
-
tags?: string[] | undefined;
|
|
83
82
|
tag?: string | undefined;
|
|
83
|
+
tags?: string[] | undefined;
|
|
84
84
|
tier?: string | undefined;
|
|
85
85
|
language?: "typescript" | "python" | undefined;
|
|
86
86
|
project_dir?: string | undefined;
|
|
@@ -88,8 +88,16 @@ export declare const forgecraftSchema: z.ZodObject<{
|
|
|
88
88
|
description?: string | undefined;
|
|
89
89
|
dry_run?: boolean | undefined;
|
|
90
90
|
output_targets?: string[] | undefined;
|
|
91
|
-
|
|
91
|
+
apply?: boolean | undefined;
|
|
92
|
+
add_tags?: string[] | undefined;
|
|
93
|
+
remove_tags?: string[] | undefined;
|
|
92
94
|
include_anti_patterns?: boolean | undefined;
|
|
95
|
+
force?: boolean | undefined;
|
|
96
|
+
scope?: "comprehensive" | "focused" | undefined;
|
|
97
|
+
scan_depth?: "quick" | "full" | undefined;
|
|
98
|
+
name?: string | undefined;
|
|
99
|
+
merge?: boolean | undefined;
|
|
100
|
+
resource?: string | undefined;
|
|
93
101
|
custom_servers?: Record<string, {
|
|
94
102
|
command: string;
|
|
95
103
|
args: string[];
|
|
@@ -99,14 +107,6 @@ export declare const forgecraftSchema: z.ZodObject<{
|
|
|
99
107
|
include_remote?: boolean | undefined;
|
|
100
108
|
remote_registry_url?: string | undefined;
|
|
101
109
|
max_servers?: number | undefined;
|
|
102
|
-
name?: string | undefined;
|
|
103
|
-
scan_depth?: "quick" | "full" | undefined;
|
|
104
|
-
scope?: "comprehensive" | "focused" | undefined;
|
|
105
|
-
apply?: boolean | undefined;
|
|
106
|
-
add_tags?: string[] | undefined;
|
|
107
|
-
remove_tags?: string[] | undefined;
|
|
108
|
-
resource?: string | undefined;
|
|
109
|
-
merge?: boolean | undefined;
|
|
110
110
|
}>;
|
|
111
111
|
type ForgecraftArgs = z.infer<typeof forgecraftSchema>;
|
|
112
112
|
type ToolResult = {
|
|
@@ -196,7 +196,8 @@ function inferProjectName(projectDir) {
|
|
|
196
196
|
function buildNoConfigOutput(projectDir) {
|
|
197
197
|
return (`# No Configuration Found\n\n` +
|
|
198
198
|
`No forgecraft.yaml or .forgecraft.json found in \`${projectDir}\`.\n\n` +
|
|
199
|
-
`Run
|
|
199
|
+
`Run setup first to initialize your project configuration:\n` +
|
|
200
|
+
` npx forgecraft-mcp setup ${projectDir}\n`);
|
|
200
201
|
}
|
|
201
202
|
/**
|
|
202
203
|
* Build the preview (dry-run) output for proposed changes.
|
|
@@ -237,7 +238,7 @@ function buildPreviewOutput(drift, updatedTags, _config, composed, tier) {
|
|
|
237
238
|
text += drift.completenessGaps.map((g) => `- ${g}`).join("\n");
|
|
238
239
|
text += "\n\n";
|
|
239
240
|
}
|
|
240
|
-
text += `_Run
|
|
241
|
+
text += `_Run with --apply to write changes: \`npx forgecraft-mcp refresh <project_dir> --apply\`_`;
|
|
241
242
|
return text;
|
|
242
243
|
}
|
|
243
244
|
/**
|
|
@@ -261,6 +262,8 @@ function buildAppliedOutput(drift, updatedTags, config, composed, tier) {
|
|
|
261
262
|
}
|
|
262
263
|
text += `## Updated Config\n`;
|
|
263
264
|
text += `\`\`\`yaml\n${configYaml}\`\`\`\n\n`;
|
|
265
|
+
text += `> **Tip:** Remove ForgeCraft from your MCP servers to save tokens (setup is done).\n`;
|
|
266
|
+
text += `> Re-add it when needed: \`claude mcp add forgecraft -- npx -y forgecraft-mcp\`\n\n`;
|
|
264
267
|
text += `⚠️ **Restart required** to pick up CLAUDE.md changes.`;
|
|
265
268
|
return text;
|
|
266
269
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-project.js","sourceRoot":"","sources":["../../src/tools/refresh-project.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"refresh-project.js","sourceRoot":"","sources":["../../src/tools/refresh-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal MCP sentinel tool.
|
|
3
|
+
*
|
|
4
|
+
* Diagnoses project state and recommends CLI commands.
|
|
5
|
+
* Replaces the full MCP tool suite for users who only need setup-time operations.
|
|
6
|
+
* Near-zero token cost: 1 tool, 1 param, short description (~200 tokens vs ~1,500).
|
|
7
|
+
*/
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
export declare const sentinelSchema: z.ZodObject<{
|
|
10
|
+
project_dir: z.ZodString;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
project_dir: string;
|
|
13
|
+
}, {
|
|
14
|
+
project_dir: string;
|
|
15
|
+
}>;
|
|
16
|
+
/**
|
|
17
|
+
* Inspect project state and return targeted CLI recommendations.
|
|
18
|
+
*
|
|
19
|
+
* @param args - Validated sentinel input
|
|
20
|
+
* @returns MCP tool response with diagnostic text and CLI commands to run
|
|
21
|
+
*/
|
|
22
|
+
export declare function sentinelHandler(args: z.infer<typeof sentinelSchema>): Promise<{
|
|
23
|
+
content: Array<{
|
|
24
|
+
type: "text";
|
|
25
|
+
text: string;
|
|
26
|
+
}>;
|
|
27
|
+
}>;
|
|
28
|
+
//# sourceMappingURL=sentinel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentinel.d.ts","sourceRoot":"","sources":["../../src/tools/sentinel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,cAAc;;;;;;EAIzB,CAAC;AAIH;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,GACnC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAmE7D"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal MCP sentinel tool.
|
|
3
|
+
*
|
|
4
|
+
* Diagnoses project state and recommends CLI commands.
|
|
5
|
+
* Replaces the full MCP tool suite for users who only need setup-time operations.
|
|
6
|
+
* Near-zero token cost: 1 tool, 1 param, short description (~200 tokens vs ~1,500).
|
|
7
|
+
*/
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
import { existsSync } from "node:fs";
|
|
10
|
+
import { join } from "node:path";
|
|
11
|
+
// ── Schema ───────────────────────────────────────────────────────────
|
|
12
|
+
export const sentinelSchema = z.object({
|
|
13
|
+
project_dir: z
|
|
14
|
+
.string()
|
|
15
|
+
.describe("Absolute path to project root."),
|
|
16
|
+
});
|
|
17
|
+
// ── Handler ──────────────────────────────────────────────────────────
|
|
18
|
+
/**
|
|
19
|
+
* Inspect project state and return targeted CLI recommendations.
|
|
20
|
+
*
|
|
21
|
+
* @param args - Validated sentinel input
|
|
22
|
+
* @returns MCP tool response with diagnostic text and CLI commands to run
|
|
23
|
+
*/
|
|
24
|
+
export async function sentinelHandler(args) {
|
|
25
|
+
const { project_dir } = args;
|
|
26
|
+
const hasConfig = existsSync(join(project_dir, "forgecraft.yaml"));
|
|
27
|
+
const hasClaudeMd = existsSync(join(project_dir, "CLAUDE.md"));
|
|
28
|
+
const hasHooks = existsSync(join(project_dir, ".claude", "hooks"));
|
|
29
|
+
const lines = [];
|
|
30
|
+
if (!hasConfig && !hasClaudeMd) {
|
|
31
|
+
lines.push("## Project has no engineering standards configured.", "", "Recommended command:", ` npx forgecraft-mcp setup ${project_dir}`, "", "This will auto-detect your stack and generate CLAUDE.md, hooks, and skills.", "", "Options:", " --tags UNIVERSAL API Override auto-detected tags", " --tier core|recommended Content depth (default: recommended)", " --targets claude cursor Additional AI assistant targets", " --dry-run Preview without writing files", "", "> **Ask the user** if they'd like you to run this command, or if they prefer to run it themselves.");
|
|
32
|
+
}
|
|
33
|
+
else if (hasConfig && !hasHooks) {
|
|
34
|
+
lines.push("## Project has forgecraft.yaml but is missing hooks and skills.", "", "Recommended command:", ` npx forgecraft-mcp scaffold ${project_dir}`, "", "Or to re-sync everything:", ` npx forgecraft-mcp refresh ${project_dir} --apply`, "", "> **Ask the user** which command they'd like to run, or if they prefer to run it themselves.");
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
const configStatus = hasConfig ? "forgecraft.yaml ✓" : "no forgecraft.yaml";
|
|
38
|
+
const mdStatus = hasClaudeMd ? "CLAUDE.md ✓" : "no CLAUDE.md";
|
|
39
|
+
const hooksStatus = hasHooks ? ".claude/hooks ✓" : "no hooks";
|
|
40
|
+
lines.push(`## Project status: ${configStatus} | ${mdStatus} | ${hooksStatus}`, "", "Available commands:", ` npx forgecraft-mcp refresh ${project_dir} --apply (re-sync after project changes)`, ` npx forgecraft-mcp audit ${project_dir} (score compliance 0-100)`, ` npx forgecraft-mcp refresh ${project_dir} --apply --targets claude cursor copilot`, "", "> **Ask the user** which command they'd like to run, or if they prefer to run it themselves.");
|
|
41
|
+
}
|
|
42
|
+
lines.push("", "---", "**ForgeCraft is a setup-time tool.** Once your project is configured,", "remove it from your MCP servers to save tokens.", "Re-add it temporarily when you need to refresh, audit, or scaffold.", "", "All commands: setup | refresh | audit | scaffold | review | list | classify | generate | convert | add-hook | add-module", "Docs: https://github.com/jghiringhelli/forgecraft-mcp");
|
|
43
|
+
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=sentinel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentinel.js","sourceRoot":"","sources":["../../src/tools/sentinel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,wEAAwE;AAExE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,gCAAgC,CAAC;CAC9C,CAAC,CAAC;AAEH,wEAAwE;AAExE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAoC;IAEpC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,SAAS,GAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAK,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAErE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,qDAAqD,EACrD,EAAE,EACF,sBAAsB,EACtB,8BAA8B,WAAW,EAAE,EAC3C,EAAE,EACF,6EAA6E,EAC7E,EAAE,EACF,UAAU,EACV,2DAA2D,EAC3D,oEAAoE,EACpE,+DAA+D,EAC/D,6DAA6D,EAC7D,EAAE,EACF,oGAAoG,CACrG,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CACR,iEAAiE,EACjE,EAAE,EACF,sBAAsB,EACtB,iCAAiC,WAAW,EAAE,EAC9C,EAAE,EACF,2BAA2B,EAC3B,gCAAgC,WAAW,UAAU,EACrD,EAAE,EACF,8FAA8F,CAC/F,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAC5E,MAAM,QAAQ,GAAO,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QAClE,MAAM,WAAW,GAAI,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC;QAE/D,KAAK,CAAC,IAAI,CACR,sBAAsB,YAAY,MAAM,QAAQ,MAAM,WAAW,EAAE,EACnE,EAAE,EACF,qBAAqB,EACrB,gCAAgC,WAAW,8CAA8C,EACzF,8BAA8B,WAAW,yCAAyC,EAClF,gCAAgC,WAAW,0CAA0C,EACrF,EAAE,EACF,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,EAAE,EACF,KAAK,EACL,uEAAuE,EACvE,iDAAiD,EACjD,qEAAqE,EACrE,EAAE,EACF,0HAA0H,EAC1H,uDAAuD,CACxD,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC"}
|
|
@@ -268,7 +268,7 @@ function buildSetupOutput(analysis, tags, composed, configYaml, tier, filesWritt
|
|
|
268
268
|
text += `- ${f} — created\n`;
|
|
269
269
|
}
|
|
270
270
|
if (filesWritten.length === 0) {
|
|
271
|
-
text += `- (instruction files preserved —
|
|
271
|
+
text += `- (instruction files preserved — run \`npx forgecraft-mcp generate . --merge\` to update)\n`;
|
|
272
272
|
}
|
|
273
273
|
text += "\n";
|
|
274
274
|
text += `## Template Summary\n`;
|
|
@@ -283,18 +283,20 @@ function buildSetupOutput(analysis, tags, composed, configYaml, tier, filesWritt
|
|
|
283
283
|
text += `## Next Steps\n`;
|
|
284
284
|
const steps = [];
|
|
285
285
|
if (!analysis.hasHooks) {
|
|
286
|
-
steps.push("Run `forgecraft
|
|
286
|
+
steps.push("Run `npx forgecraft-mcp scaffold .` to generate folder structure and hooks");
|
|
287
287
|
}
|
|
288
288
|
if (analysis.completenessGaps.includes("prd_exists")) {
|
|
289
289
|
steps.push("Create docs/PRD.md with your project requirements");
|
|
290
290
|
}
|
|
291
|
-
steps.push("Adjust forgecraft.yaml to
|
|
292
|
-
steps.push("
|
|
293
|
-
steps.push("Add more output targets
|
|
291
|
+
steps.push("Adjust forgecraft.yaml to fine-tune tags, tier, or include/exclude specific blocks");
|
|
292
|
+
steps.push("Run `npx forgecraft-mcp refresh . --apply` later if project scope changes");
|
|
293
|
+
steps.push("Add more output targets: `npx forgecraft-mcp refresh . --apply --targets claude cursor copilot`");
|
|
294
294
|
if (tier === "core") {
|
|
295
|
-
steps.push("Upgrade tier
|
|
295
|
+
steps.push("Upgrade tier when ready: edit forgecraft.yaml and run `npx forgecraft-mcp refresh . --apply`");
|
|
296
296
|
}
|
|
297
297
|
text += steps.map((s, i) => `${i + 1}. ${s}`).join("\n");
|
|
298
|
+
text += `\n\n> **Setup complete** — consider removing ForgeCraft from your MCP servers to save tokens.\n`;
|
|
299
|
+
text += `> Re-add it when you need to refresh or audit: \`claude mcp add forgecraft -- npx -y forgecraft-mcp\``;
|
|
298
300
|
text += `\n\n⚠️ **Restart may be required** to pick up instruction file changes.`;
|
|
299
301
|
return text;
|
|
300
302
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-project.js","sourceRoot":"","sources":["../../src/tools/setup-project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-project.js","sourceRoot":"","sources":["../../src/tools/setup-project.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "forgecraft-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"mcpName": "io.github.jghiringhelli/forgecraft",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "CLI + MCP sentinel for engineering standards — SOLID, testing, architecture, CI/CD — auto-tailored to your stack. Minimal MCP footprint (~200 tokens) via CLI-first design.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"bin": {
|