create-specfuse 0.6.3 → 0.9.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 +57 -145
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -11
- package/dist/index.js.map +1 -1
- package/dist/prompts.d.ts +2 -2
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +3 -82
- package/dist/prompts.js.map +1 -1
- package/dist/scaffolder.d.ts.map +1 -1
- package/dist/scaffolder.js +16 -53
- package/dist/scaffolder.js.map +1 -1
- package/dist/templates/claude-md.d.ts +1 -1
- package/dist/templates/claude-md.d.ts.map +1 -1
- package/dist/templates/claude-md.js +28 -88
- package/dist/templates/claude-md.js.map +1 -1
- package/dist/templates/claude-settings.d.ts +1 -2
- package/dist/templates/claude-settings.d.ts.map +1 -1
- package/dist/templates/claude-settings.js +2 -2
- package/dist/templates/claude-settings.js.map +1 -1
- package/dist/templates/fusereview-skill.d.ts +3 -0
- package/dist/templates/fusereview-skill.d.ts.map +1 -0
- package/dist/templates/fusereview-skill.js +87 -0
- package/dist/templates/fusereview-skill.js.map +1 -0
- package/dist/templates/gitignore.d.ts +1 -2
- package/dist/templates/gitignore.d.ts.map +1 -1
- package/dist/templates/gitignore.js +2 -14
- package/dist/templates/gitignore.js.map +1 -1
- package/dist/templates/openspec-config.d.ts +1 -2
- package/dist/templates/openspec-config.d.ts.map +1 -1
- package/dist/templates/openspec-config.js +34 -3
- package/dist/templates/openspec-config.js.map +1 -1
- package/dist/types.d.ts +0 -24
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/tools.d.ts +0 -3
- package/dist/utils/tools.d.ts.map +1 -1
- package/dist/utils/tools.js +25 -38
- package/dist/utils/tools.js.map +1 -1
- package/package.json +1 -1
- package/dist/stacks/bash.d.ts +0 -5
- package/dist/stacks/bash.d.ts.map +0 -1
- package/dist/stacks/bash.js +0 -66
- package/dist/stacks/bash.js.map +0 -1
- package/dist/stacks/cpp-cmake.d.ts +0 -5
- package/dist/stacks/cpp-cmake.d.ts.map +0 -1
- package/dist/stacks/cpp-cmake.js +0 -74
- package/dist/stacks/cpp-cmake.js.map +0 -1
- package/dist/stacks/detect.d.ts +0 -11
- package/dist/stacks/detect.d.ts.map +0 -1
- package/dist/stacks/detect.js +0 -104
- package/dist/stacks/detect.js.map +0 -1
- package/dist/stacks/dotnet.d.ts +0 -5
- package/dist/stacks/dotnet.d.ts.map +0 -1
- package/dist/stacks/dotnet.js +0 -68
- package/dist/stacks/dotnet.js.map +0 -1
- package/dist/stacks/elixir.d.ts +0 -5
- package/dist/stacks/elixir.d.ts.map +0 -1
- package/dist/stacks/elixir.js +0 -68
- package/dist/stacks/elixir.js.map +0 -1
- package/dist/stacks/go.d.ts +0 -5
- package/dist/stacks/go.d.ts.map +0 -1
- package/dist/stacks/go.js +0 -68
- package/dist/stacks/go.js.map +0 -1
- package/dist/stacks/index.d.ts +0 -7
- package/dist/stacks/index.d.ts.map +0 -1
- package/dist/stacks/index.js +0 -84
- package/dist/stacks/index.js.map +0 -1
- package/dist/stacks/java-gradle.d.ts +0 -5
- package/dist/stacks/java-gradle.d.ts.map +0 -1
- package/dist/stacks/java-gradle.js +0 -69
- package/dist/stacks/java-gradle.js.map +0 -1
- package/dist/stacks/java-maven.d.ts +0 -5
- package/dist/stacks/java-maven.d.ts.map +0 -1
- package/dist/stacks/java-maven.js +0 -67
- package/dist/stacks/java-maven.js.map +0 -1
- package/dist/stacks/kotlin.d.ts +0 -5
- package/dist/stacks/kotlin.d.ts.map +0 -1
- package/dist/stacks/kotlin.js +0 -69
- package/dist/stacks/kotlin.js.map +0 -1
- package/dist/stacks/php.d.ts +0 -5
- package/dist/stacks/php.d.ts.map +0 -1
- package/dist/stacks/php.js +0 -68
- package/dist/stacks/php.js.map +0 -1
- package/dist/stacks/python-fastapi.d.ts +0 -5
- package/dist/stacks/python-fastapi.d.ts.map +0 -1
- package/dist/stacks/python-fastapi.js +0 -75
- package/dist/stacks/python-fastapi.js.map +0 -1
- package/dist/stacks/ruby.d.ts +0 -5
- package/dist/stacks/ruby.d.ts.map +0 -1
- package/dist/stacks/ruby.js +0 -69
- package/dist/stacks/ruby.js.map +0 -1
- package/dist/stacks/rust.d.ts +0 -5
- package/dist/stacks/rust.d.ts.map +0 -1
- package/dist/stacks/rust.js +0 -65
- package/dist/stacks/rust.js.map +0 -1
- package/dist/stacks/scala-sbt.d.ts +0 -5
- package/dist/stacks/scala-sbt.d.ts.map +0 -1
- package/dist/stacks/scala-sbt.js +0 -68
- package/dist/stacks/scala-sbt.js.map +0 -1
- package/dist/stacks/schema.d.ts +0 -91
- package/dist/stacks/schema.d.ts.map +0 -1
- package/dist/stacks/schema.js +0 -23
- package/dist/stacks/schema.js.map +0 -1
- package/dist/stacks/swift.d.ts +0 -5
- package/dist/stacks/swift.d.ts.map +0 -1
- package/dist/stacks/swift.js +0 -69
- package/dist/stacks/swift.js.map +0 -1
- package/dist/stacks/typescript-react.d.ts +0 -5
- package/dist/stacks/typescript-react.d.ts.map +0 -1
- package/dist/stacks/typescript-react.js +0 -73
- package/dist/stacks/typescript-react.js.map +0 -1
- package/dist/templates/grill-me-skill.d.ts +0 -2
- package/dist/templates/grill-me-skill.d.ts.map +0 -1
- package/dist/templates/grill-me-skill.js +0 -70
- package/dist/templates/grill-me-skill.js.map +0 -1
package/dist/scaffolder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scaffolder.js","sourceRoot":"","sources":["../src/scaffolder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { TemplateContext } from "../types.js";
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function renderApplyFuseReview(): string;
|
|
3
3
|
export declare function composeCLAUDEmd(ctx: TemplateContext): string;
|
|
4
4
|
//# sourceMappingURL=claude-md.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAiJnD,wBAAgB,qBAAqB,IAAI,MAAM,CAuB9C;AAuBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAgC5D"}
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
function renderTechStack(stack) {
|
|
2
|
-
const lines = [
|
|
3
|
-
"## Tech Stack",
|
|
4
|
-
...stack.languages.map((l) => `- Language: ${l}`),
|
|
5
|
-
];
|
|
6
|
-
if (stack.framework)
|
|
7
|
-
lines.push(`- Framework: ${stack.framework}`);
|
|
8
|
-
lines.push(`- Architecture: ${stack.architecture}`, `- Build: \`${stack.commands.build}\``, `- Test: \`${stack.commands.test}\``, `- Lint: \`${stack.commands.lint}\``);
|
|
9
|
-
if (stack.commands.format)
|
|
10
|
-
lines.push(`- Format: \`${stack.commands.format}\``);
|
|
11
|
-
if (stack.commands.typecheck)
|
|
12
|
-
lines.push(`- Typecheck: \`${stack.commands.typecheck}\``);
|
|
13
|
-
return lines.join("\n");
|
|
14
|
-
}
|
|
15
1
|
function renderCommitConvention() {
|
|
16
2
|
return `## Commit Convention
|
|
17
3
|
- Use conventional commits: feat:, fix:, refactor:, test:, docs:, chore:
|
|
@@ -29,7 +15,7 @@ DESIGN-TOKENS.md 触发判定在 brainstorming 结束时执行,采用三道门
|
|
|
29
15
|
- **Strong intent** (user actively discussed palette / dark mode / brand archetype / component visual language / design references / mood during brainstorming) → invoke \`/design-md\` NOW. Questionnaire answers already have grounding in the brainstorming record.
|
|
30
16
|
- **Weak intent** (only "has UI" was settled, no visual discussion) → STILL invoke \`/design-md\` NOW (Gate 1 hit), but BEFORE running the questionnaire, explicitly tell the user: "This change includes a user-facing UI, so DESIGN-TOKENS.md will be generated. However, visual design was NOT discussed during brainstorming — the following questionnaire will capture those decisions now." Then run the questionnaire. Do NOT silently extract answers the user never expressed.
|
|
31
17
|
- **Default:** Gate 1 misses → do not invoke \`/design-md\`; resume the artifact flow directly.
|
|
32
|
-
- **Why trigger on "has UI" not "user expressed visual intent":** A WebUI project's visual tokens are an inevitable consequence of building the UI, not a function of whether the user raised visual topics in brainstorming. design.md and tasks.md reference DESIGN-TOKENS.md (archetype, fonts, status colors, primary scale), so the token file must exist before those artifacts are drafted — deferring generation to after artifacts creates forward references
|
|
18
|
+
- **Why trigger on "has UI" not "user expressed visual intent":** A WebUI project's visual tokens are an inevitable consequence of building the UI, not a function of whether the user raised visual topics in brainstorming. design.md and tasks.md reference DESIGN-TOKENS.md (archetype, fonts, status colors, primary scale), so the token file must exist before those artifacts are drafted — deferring generation to after artifacts creates dangling forward references in design.md and tasks.md.
|
|
33
19
|
- **Brownfield (manual):** Invoke \`/design-md\` to generate DESIGN-TOKENS.md for an existing project. The skill is installed at \`.claude/skills/design-md/SKILL.md\`.
|
|
34
20
|
- **Never overwrite silently:** If DESIGN-TOKENS.md already exists, always prompt for confirmation and create a \`.bak\` backup before overwriting.`;
|
|
35
21
|
}
|
|
@@ -91,7 +77,7 @@ When \`/opsx:explore\` is invoked:
|
|
|
91
77
|
- Exploration involves modifying existing code to validate hypotheses
|
|
92
78
|
Discarding a worktree costs zero — prevents exploration artifacts from polluting the main branch.`;
|
|
93
79
|
}
|
|
94
|
-
function renderApplyPhase(
|
|
80
|
+
function renderApplyPhase() {
|
|
95
81
|
return `### Phase 2: Apply / Implement
|
|
96
82
|
|
|
97
83
|
When \`/opsx:apply\` is invoked:
|
|
@@ -114,7 +100,7 @@ When \`/opsx:apply\` is invoked:
|
|
|
114
100
|
2. **MUST activate Superpowers \`verification-before-completion\` before marking ANY task done.**
|
|
115
101
|
- **IRON LAW: NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE.**
|
|
116
102
|
- Before checking off a task \`[x]\`, you MUST:
|
|
117
|
-
a. Run the
|
|
103
|
+
a. Run the project's test command in the terminal
|
|
118
104
|
b. Paste the raw output as evidence
|
|
119
105
|
c. Only then mark the task complete
|
|
120
106
|
- "I believe it works" or "it should pass" is NEVER acceptable.
|
|
@@ -134,7 +120,7 @@ When \`/opsx:apply\` is invoked:
|
|
|
134
120
|
Execution discipline when enabled:
|
|
135
121
|
- Each subagent works in its own isolated git worktree
|
|
136
122
|
- Each subagent independently follows TDD and runs its own tests
|
|
137
|
-
- Main agent performs two-stage review per subagent output (spec compliance →
|
|
123
|
+
- Main agent performs two-stage review per subagent output (spec compliance → FuseReview skill via \`.claude/skills/fusereview/SKILL.md\`, executed on the subagent's diff before merge)
|
|
138
124
|
- Main agent runs full integration tests after merging
|
|
139
125
|
- Subagents MUST NOT implement the same module in parallel; independent modules may be parallelized
|
|
140
126
|
|
|
@@ -149,82 +135,38 @@ When \`/opsx:apply\` is invoked:
|
|
|
149
135
|
- Adding a new independent module (no impact on existing code)
|
|
150
136
|
- Documentation or configuration adjustments`;
|
|
151
137
|
}
|
|
152
|
-
function
|
|
153
|
-
return `### Phase
|
|
154
|
-
|
|
155
|
-
Before \`/opsx:archive\`:
|
|
156
|
-
|
|
157
|
-
1. Run \`/opsx:verify\` to validate implementation matches all specs
|
|
158
|
-
2. Run full test suite (\`${stack.commands.test}\`) and paste evidence
|
|
159
|
-
3. Run linter (\`${stack.commands.lint}\`) with zero warnings`;
|
|
160
|
-
}
|
|
161
|
-
export function renderGrillReview() {
|
|
162
|
-
return `### Pre-Apply Review (Grill)
|
|
163
|
-
|
|
164
|
-
Per-artifact review surfaces and check tools (signature substitution, assertion strength, etc.) live in \`.claude/skills/grill-me/SKILL.md\`. This section governs discipline and process.
|
|
165
|
-
|
|
166
|
-
When all artifacts (proposal, design, specs, tasks) are complete, the AI MUST prompt:
|
|
167
|
-
> "All artifacts are ready. Recommend running \`/grill-me\` for a pre-apply review before implementation. Or run \`/opsx:apply\` directly to skip review."
|
|
138
|
+
export function renderApplyFuseReview() {
|
|
139
|
+
return `### Phase 2.5: FuseReview Checkpoint (Post-Apply)
|
|
168
140
|
|
|
169
|
-
|
|
141
|
+
FuseReview is the fourth beat: Think reviews direction, Do produces code, **FuseReview reviews the implementation**, Verify validates the whole. The full review method lives in \`.claude/skills/fusereview/SKILL.md\`.
|
|
170
142
|
|
|
171
|
-
**
|
|
143
|
+
**Baseline:** At apply start, record the current HEAD commit in the change's state as the review baseline. The review object is \`baseline..HEAD\`. If no baseline was recorded, fall back to the merge-base of the current branch and the trunk, and annotate the fallback in the report.
|
|
172
144
|
|
|
173
|
-
|
|
174
|
-
2. **Review**: Ask ONE question at a time. Each question includes:
|
|
175
|
-
- Problem classification: \`[blocking]\` or \`[non-blocking]\`
|
|
176
|
-
- The specific issue found
|
|
177
|
-
- A recommended answer
|
|
178
|
-
- A modification preview (dry-run diff showing what will change)
|
|
179
|
-
3. **User response**: If the user accepts, write the change. Core principle: **user must see the final diff before any write.**
|
|
180
|
-
4. **Cleanup**: Delete \`.grill-backup/\` after successful completion.
|
|
145
|
+
**Checkpoint (mandatory question):** After the last task in \`tasks.md\` passes verification, the AI MUST ask the user whether to enter FuseReview. Silent advancement to \`/opsx:verify\` or \`/opsx:archive\` is forbidden — the question may be answered "no", but it may never be skipped.
|
|
181
146
|
|
|
182
|
-
**
|
|
183
|
-
- Scope boundary — are goals/non-goals clear with no ambiguity?
|
|
184
|
-
- Error paths — are exceptions, edge cases, and failures covered?
|
|
185
|
-
- Dependency risk — new dependencies assessed? Impact on existing modules?
|
|
186
|
-
- Testability — can every spec be verified with current test infrastructure?
|
|
187
|
-
- Security — input validation, permissions, data exposure risks?
|
|
188
|
-
- Performance impact — O(n²), blocking IO, memory pressure?
|
|
189
|
-
- Backward compatibility — any breaking changes to existing APIs/behaviors?
|
|
190
|
-
- **Data-flow integrity** — every spec input value has a parameter slot in a declared signature; walk the call chain by substitution; spec scenarios must be strong enough to prove the input took effect (assertion strength), not just assert the output shell.
|
|
147
|
+
**Present facts, do not judge:** The checkpoint question lists the change facts — task count, whether subagent mode was used, and the modules touched. A recommendation may be attached, but the decision belongs to the user. There are no automatic trigger thresholds: no task-count cutoff, no automatic change-classification heuristics of any kind.
|
|
191
148
|
|
|
192
|
-
**
|
|
193
|
-
- **Blocking** (must resolve before apply): artifact contradictions, uncovered edge cases, missing error handling, security risks, untestable specs. User may override with explicit acknowledgment.
|
|
194
|
-
- **Non-blocking** (recorded, not enforced): naming style, optional optimizations, alternative approaches, documentation wording.
|
|
149
|
+
**If the user accepts:** dispatch a reviewer context that did not participate in the implementation (fresh subagent or session) to cold-read \`baseline..HEAD\` and execute the FuseReview skill. If no separate context is available, run in the current session and annotate "non-cold-read".
|
|
195
150
|
|
|
196
|
-
**
|
|
197
|
-
- \`grill-stop\`: Exit grill, keep all modifications made so far.
|
|
198
|
-
- \`grill-abort\`: Exit grill, rollback all modifications from \`.grill-backup/\`.
|
|
199
|
-
- Ambiguous expressions ("stop", "算了"): AI MUST ask for clarification — "exit grill review, or abandon the entire change?"
|
|
151
|
+
**If the user declines:** record the skip decision in the apply completion report together with the change facts (task count, subagent usage, modules), so the skip is auditable rather than invisible.
|
|
200
152
|
|
|
201
|
-
**
|
|
153
|
+
**Handling findings:**
|
|
154
|
+
- **Blocking** findings are fixed test-first: write the failing test that catches the defect, then fix.
|
|
155
|
+
- **Suggestions** are recorded in the apply completion report without enforcement.
|
|
156
|
+
- After fixes, re-review ONLY the fix diff. There is no second full review round — this is the termination condition.
|
|
202
157
|
|
|
203
|
-
**
|
|
204
|
-
Run a final check across all artifacts for:
|
|
205
|
-
- Reference integrity — every goal in proposal maps to design/specs/tasks, and every spec WHEN input maps to a parameter slot in a declared signature (reverse direction — data-flow integrity)
|
|
206
|
-
- Terminology consistency — same concepts use same names throughout
|
|
207
|
-
- Logical conflict detection — no artifact contradicts another
|
|
158
|
+
**Merge gate (subagent mode):** in subagent mode the second stage of the two-stage review executes the FuseReview skill on each subagent's diff before merge, automatically, without a user checkpoint.
|
|
208
159
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
## Grill Review Summary
|
|
214
|
-
|
|
215
|
-
Blocking (resolved):
|
|
216
|
-
- [dimension] description of resolved issue
|
|
217
|
-
|
|
218
|
-
Suggestions (recorded, non-blocking):
|
|
219
|
-
- [dimension] description of suggestion
|
|
220
|
-
|
|
221
|
-
Modified artifacts: <list of changed files>
|
|
160
|
+
**Manual invocation:** the user may invoke the FuseReview skill explicitly at any time, independent of the checkpoint.`;
|
|
161
|
+
}
|
|
162
|
+
function renderVerifyPhase() {
|
|
163
|
+
return `### Phase 3: Verify / Archive
|
|
222
164
|
|
|
223
|
-
|
|
165
|
+
Before \`/opsx:archive\`:
|
|
224
166
|
|
|
225
|
-
Run
|
|
226
|
-
|
|
227
|
-
|
|
167
|
+
1. Run \`/opsx:verify\` to validate implementation matches all specs
|
|
168
|
+
2. Run the project's full test suite and paste evidence
|
|
169
|
+
3. Run the project's linter with zero warnings`;
|
|
228
170
|
}
|
|
229
171
|
function renderGeneralRules() {
|
|
230
172
|
return `### General Rules
|
|
@@ -240,8 +182,6 @@ export function composeCLAUDEmd(ctx) {
|
|
|
240
182
|
const sections = [
|
|
241
183
|
`# Project CLAUDE.md`,
|
|
242
184
|
"",
|
|
243
|
-
renderTechStack(ctx.stack),
|
|
244
|
-
"",
|
|
245
185
|
renderCommitConvention(),
|
|
246
186
|
"",
|
|
247
187
|
renderDesignTokensRules(),
|
|
@@ -260,11 +200,11 @@ export function composeCLAUDEmd(ctx) {
|
|
|
260
200
|
"",
|
|
261
201
|
renderExploration(),
|
|
262
202
|
"",
|
|
263
|
-
|
|
203
|
+
renderApplyPhase(),
|
|
264
204
|
"",
|
|
265
|
-
|
|
205
|
+
renderApplyFuseReview(),
|
|
266
206
|
"",
|
|
267
|
-
renderVerifyPhase(
|
|
207
|
+
renderVerifyPhase(),
|
|
268
208
|
"",
|
|
269
209
|
renderGeneralRules(),
|
|
270
210
|
"<!-- FUSION:END -->",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"AAEA,SAAS,
|
|
1
|
+
{"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"AAEA,SAAS,sBAAsB;IAC7B,OAAO;;iCAEwB,CAAC;AAClC,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO;;;;;;;;;;;;;oJAa2I,CAAC;AACrJ,CAAC;AAED,SAAS,WAAW;IAClB,OAAO;;;;;;;;;;;;;;+DAcsD,CAAC;AAChE,CAAC;AAED,SAAS,WAAW;IAClB,OAAO;;;;;;;;;;;;;;;;;;;;;;;4EAuBmE,CAAC;AAC7E,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;;;;;;;;;;;;qGAY4F,CAAC;AACtG,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAuDuC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;;;;;;;uHAqB8G,CAAC;AACxH,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;;;;;;+CAMsC,CAAC;AAChD,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;;;;;;;2EAOkE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAoB;IAClD,MAAM,QAAQ,GAAG;QACf,qBAAqB;QACrB,EAAE;QACF,sBAAsB,EAAE;QACxB,EAAE;QACF,uBAAuB,EAAE;QACzB,EAAE;QACF,KAAK;QACL,EAAE;QACF,uBAAuB;QACvB,0DAA0D;QAC1D,EAAE;QACF,4EAA4E;QAC5E,sDAAsD;QACtD,EAAE;QACF,WAAW,EAAE;QACb,EAAE;QACF,WAAW,EAAE;QACb,EAAE;QACF,iBAAiB,EAAE;QACnB,EAAE;QACF,gBAAgB,EAAE;QAClB,EAAE;QACF,qBAAqB,EAAE;QACvB,EAAE;QACF,iBAAiB,EAAE;QACnB,EAAE;QACF,kBAAkB,EAAE;QACpB,qBAAqB;KACtB,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-settings.d.ts","sourceRoot":"","sources":["../../src/templates/claude-settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-settings.d.ts","sourceRoot":"","sources":["../../src/templates/claude-settings.ts"],"names":[],"mappings":"AAoBA,wBAAgB,qBAAqB,IAAI,MAAM,CAM9C"}
|
|
@@ -17,10 +17,10 @@ const SHARED_PERMISSIONS = [
|
|
|
17
17
|
'Bash(tree *)',
|
|
18
18
|
'WebSearch',
|
|
19
19
|
];
|
|
20
|
-
export function composeClaudeSettings(
|
|
20
|
+
export function composeClaudeSettings() {
|
|
21
21
|
return {
|
|
22
22
|
permissions: {
|
|
23
|
-
allow: [...
|
|
23
|
+
allow: [...SHARED_PERMISSIONS],
|
|
24
24
|
},
|
|
25
25
|
};
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-settings.js","sourceRoot":"","sources":["../../src/templates/claude-settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-settings.js","sourceRoot":"","sources":["../../src/templates/claude-settings.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG;IACzB,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;IACjB,oBAAoB;IACpB,iBAAiB;IACjB,mBAAmB;IACnB,sBAAsB;IACtB,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,cAAc;IACd,WAAW;CACZ,CAAC;AAEF,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,GAAG,kBAAkB,CAAC;SAC/B;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fusereview-skill.d.ts","sourceRoot":"","sources":["../../src/templates/fusereview-skill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAqFpE"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export function composeFuseReviewSkill(_ctx) {
|
|
2
|
+
return `---
|
|
3
|
+
name: fusereview
|
|
4
|
+
description: Use when performing the post-apply code review (FuseReview, the fourth pipeline beat) — reviews the accumulated diff of the current change with a fresh context; also runs when the user asks to "code review", "review the change", or audit the implementation quality of recent work.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# FuseReview — Post-Apply Code Review
|
|
8
|
+
|
|
9
|
+
Fourth beat of the pipeline: Think reviews direction, Do produces code, **FuseReview reviews the implementation**, Verify validates the whole. This skill is guidance, not a checklist: follow the code, keep judgment active, and prefer one substantiated blocker over a list of nits.
|
|
10
|
+
|
|
11
|
+
This skill is **self-contained**. The review method below is complete within this file; it does not route to documents that may not exist in this project.
|
|
12
|
+
|
|
13
|
+
## Review object and preparation
|
|
14
|
+
|
|
15
|
+
1. The review object is the change's accumulated diff: \`git diff <baseline>..HEAD\`, where the baseline is the HEAD commit recorded in the change's state when \`/opsx:apply\` started. If no baseline is recorded, fall back to the merge-base of the current branch and the trunk, and annotate the fallback in the report.
|
|
16
|
+
2. The diff is an **index, not a boundary**: read enough surrounding code to understand the design — both sides of every changed interface, and the consumers of every changed symbol.
|
|
17
|
+
3. The reviewer SHOULD be a context that did not participate in the implementation (a fresh subagent or session), reading the diff cold. If none is available, run in the current session and annotate "non-cold-read" in the report.
|
|
18
|
+
4. Verify findings against \`openspec/specs/\` and the change's artifacts (design.md, tasks.md) — the specs are the behavioral baseline.
|
|
19
|
+
|
|
20
|
+
## The eleven checks
|
|
21
|
+
|
|
22
|
+
### [test-strength] Test strength
|
|
23
|
+
|
|
24
|
+
An assertion must fail on its intended regression. For each new or changed test, ask whether it verifies external state, logs, events, or observable behavior — or merely restates the implementation. Coverage proves lines ran, not that the feature works as shipped; a suite at full coverage can still be tautological. The recipe to prove a guard works: introduce the regression deliberately, watch the test fail, revert. A test that cannot be made to fail guards nothing.
|
|
25
|
+
|
|
26
|
+
### [missing-detection] Missing detection
|
|
27
|
+
|
|
28
|
+
Hunt what the diff should contain but does not: documentation or README updates accompanying changed behavior, tests for new error paths, release/cleanup logic for every new acquisition, spec scenarios with no implementation. Absence is invisible to any test run — only a standards-to-implementation walk finds it.
|
|
29
|
+
|
|
30
|
+
### [scope-fit] Scope fit
|
|
31
|
+
|
|
32
|
+
Map every new abstraction, function, option, or configuration key to a spec entry or a task. Code with no owner is scope creep. Flag speculative generality — machinery built for consumers that do not exist yet.
|
|
33
|
+
|
|
34
|
+
### [real-entry] Real entry path
|
|
35
|
+
|
|
36
|
+
Tests must exercise the shipped entry point — the real module load, CLI, or exported function as consumers use it. Hand-assembled internals prove the pieces move, not that the shipped path works.
|
|
37
|
+
|
|
38
|
+
### [interface-both-sides] Interface both sides
|
|
39
|
+
|
|
40
|
+
Trace both sides of every changed interface: callers and implementation, including errors, cancellation, and ownership. When one outcome has several representations (thrown, error event, null), the public surface must normalize them so consumers never guess which form arrives.
|
|
41
|
+
|
|
42
|
+
### [lifecycle-concurrency] Lifecycle and concurrency
|
|
43
|
+
|
|
44
|
+
Apply the seven defect classes:
|
|
45
|
+
|
|
46
|
+
1. **Orthogonal outcomes are reported independently** — a process can time out AND exit 0; surface each fact on its own, never nested inside another's branch.
|
|
47
|
+
2. **Honor contracts on both sides** — normalize multiple representations of one outcome before returning through the public API.
|
|
48
|
+
3. **Async state is not synchronous state** — completion races turn boundaries; never treat a shared "running" signal as the result of one operation; handle the "nothing to wait for" branch.
|
|
49
|
+
4. **Dispose must reach quiescence** — killing is not cleanup; await the children's exit, close listeners before killing so late completions stay silent.
|
|
50
|
+
5. **Contain callback exceptions in the dispatcher** — one bad subscriber must never break the core lifecycle.
|
|
51
|
+
6. **Never hand untrusted output ambient secrets or predictable paths** — scrub \`*KEY*\`/\`*SECRET*\`/\`*TOKEN*\` from spawned environments; use private temp paths with exclusive creation.
|
|
52
|
+
7. **Unlink link-shaped paths** — identify symlinks before removal; never let recursive deletion descend through a link into its target.
|
|
53
|
+
|
|
54
|
+
### [enforcement-paths] Enforcement paths
|
|
55
|
+
|
|
56
|
+
Follow every denial path to the operation that executes it, then look for direct or alternate callers that bypass the schema, facade, wrapper, or guard. An enforcement that a second call path can route around is not enforcement.
|
|
57
|
+
|
|
58
|
+
### [config-choices] Configuration choices
|
|
59
|
+
|
|
60
|
+
Every new default, public option, or imported external concept needs current-consumer evidence or prior art. Absent that, require an explicit choice or a documented deferral.
|
|
61
|
+
|
|
62
|
+
### [capability-consumer] Capability and consumer fit
|
|
63
|
+
|
|
64
|
+
Consumer-specific behavior must not leak into a general interface — and the inverse: a public method whose only caller is one internal consumer is needless API expansion; a private closure handed to that consumer suffices.
|
|
65
|
+
|
|
66
|
+
### [borrowed-state] Borrowed state and validation boundaries
|
|
67
|
+
|
|
68
|
+
For each retained value, ask whether it is borrowed or owned. Trust the type system at typed same-process boundaries; runtime validation belongs at the real boundaries — parsers, configuration loaders, persisted files, worker/process handoffs, and network input. Cache, echo, replay, and query views must trace back to one authoritative source.
|
|
69
|
+
|
|
70
|
+
### [boundary-values] Boundary values
|
|
71
|
+
|
|
72
|
+
Locate the owner of the complete emitted or retained result, including wrappers and metadata. Probe tiny and exact limits, oversized single items, and multibyte content against byte limits.
|
|
73
|
+
|
|
74
|
+
## Output discipline
|
|
75
|
+
|
|
76
|
+
- Every finding states **Defect / Location / Impact / Evidence**.
|
|
77
|
+
- Separate **Blocking** findings (must fix before Verify) from **Suggestion** findings (recorded, not enforced).
|
|
78
|
+
- Omit what a mechanical gate already enforces: if the project's lint, test, or typecheck command covers a check and passes, do not re-raise it here.
|
|
79
|
+
|
|
80
|
+
## Handling findings
|
|
81
|
+
|
|
82
|
+
- **Blocking** findings are fixed test-first: write the failing test that would catch the defect, then fix.
|
|
83
|
+
- **Suggestions** are recorded in the apply completion report without enforcement.
|
|
84
|
+
- After fixes, re-review ONLY the fix diff. There is no second full review round — this is the termination condition.
|
|
85
|
+
`;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=fusereview-skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fusereview-skill.js","sourceRoot":"","sources":["../../src/templates/fusereview-skill.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,IAAqB;IAC1D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFR,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/templates/gitignore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/templates/gitignore.ts"],"names":[],"mappings":"AAwBA,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
|
|
@@ -18,22 +18,10 @@ const SHARED_PATTERNS = [
|
|
|
18
18
|
'# Logs',
|
|
19
19
|
'*.log',
|
|
20
20
|
'',
|
|
21
|
-
'# CodeGraph',
|
|
22
|
-
'.codegraph/',
|
|
23
|
-
'',
|
|
24
|
-
'# Grill review backups',
|
|
25
|
-
'.grill-backup/',
|
|
26
|
-
'',
|
|
27
21
|
'# Temporary',
|
|
28
22
|
'/tmp/',
|
|
29
23
|
];
|
|
30
|
-
export function composeGitignore(
|
|
31
|
-
|
|
32
|
-
'# Build & Dependencies',
|
|
33
|
-
...stack.gitignorePatterns,
|
|
34
|
-
'',
|
|
35
|
-
...SHARED_PATTERNS,
|
|
36
|
-
];
|
|
37
|
-
return lines.join('\n') + '\n';
|
|
24
|
+
export function composeGitignore() {
|
|
25
|
+
return SHARED_PATTERNS.join('\n') + '\n';
|
|
38
26
|
}
|
|
39
27
|
//# sourceMappingURL=gitignore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/templates/gitignore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/templates/gitignore.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG;IACtB,OAAO;IACP,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,IAAI;IACJ,EAAE;IACF,MAAM;IACN,WAAW;IACX,WAAW;IACX,EAAE;IACF,eAAe;IACf,MAAM;IACN,YAAY;IACZ,cAAc;IACd,EAAE;IACF,QAAQ;IACR,OAAO;IACP,EAAE;IACF,aAAa;IACb,OAAO;CACR,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openspec-config.d.ts","sourceRoot":"","sources":["../../src/templates/openspec-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openspec-config.d.ts","sourceRoot":"","sources":["../../src/templates/openspec-config.ts"],"names":[],"mappings":"AAiCA,wBAAgB,qBAAqB,IAAI,MAAM,CAM9C"}
|
|
@@ -1,8 +1,39 @@
|
|
|
1
|
-
|
|
1
|
+
// Stack-agnostic rule set. These are process constraints that hold for any
|
|
2
|
+
// project, not stack-specific hints (crates, hooks, etc. were dropped with
|
|
3
|
+
// the stack layer).
|
|
4
|
+
const CONTEXT = `Tech stack: project-owned (SpecFuse is a process, not a stack selector)
|
|
5
|
+
The project's own CLAUDE.md declares its build/test/lint commands.`;
|
|
6
|
+
const RULES = {
|
|
7
|
+
proposal: [
|
|
8
|
+
'Always include a "Non-goals" section to explicitly scope out what this change does NOT do',
|
|
9
|
+
'Include "Trade-offs" section with at least 2 alternative approaches considered',
|
|
10
|
+
'Must reference affected modules/files by name',
|
|
11
|
+
'Keep proposals under 800 words',
|
|
12
|
+
],
|
|
13
|
+
design: [
|
|
14
|
+
'Must include a dependency diagram showing module relationships',
|
|
15
|
+
'Must specify public API surface',
|
|
16
|
+
'Must address error-handling strategy for the change',
|
|
17
|
+
],
|
|
18
|
+
specs: [
|
|
19
|
+
'Each spec must be independently testable',
|
|
20
|
+
'Specs must define both success and failure behaviors',
|
|
21
|
+
'Include boundary conditions and edge cases',
|
|
22
|
+
'Reference concrete symbols, not vague descriptions',
|
|
23
|
+
],
|
|
24
|
+
tasks: [
|
|
25
|
+
'Break tasks into chunks of max 2 hours of work',
|
|
26
|
+
'Each task must have a clear "done" definition verifiable by running a command',
|
|
27
|
+
'Tasks must follow TDD order - write test first, then implement, then refactor',
|
|
28
|
+
'Every task must include a verification command',
|
|
29
|
+
'Mark blocking dependencies explicitly between tasks',
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
export function composeOpenspecConfig() {
|
|
2
33
|
return {
|
|
3
34
|
schema: 'spec-driven',
|
|
4
|
-
context:
|
|
5
|
-
rules:
|
|
35
|
+
context: CONTEXT,
|
|
36
|
+
rules: RULES,
|
|
6
37
|
};
|
|
7
38
|
}
|
|
8
39
|
//# sourceMappingURL=openspec-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openspec-config.js","sourceRoot":"","sources":["../../src/templates/openspec-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openspec-config.js","sourceRoot":"","sources":["../../src/templates/openspec-config.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,oBAAoB;AACpB,MAAM,OAAO,GAAG;mEACmD,CAAC;AAEpE,MAAM,KAAK,GAA6B;IACtC,QAAQ,EAAE;QACR,2FAA2F;QAC3F,gFAAgF;QAChF,+CAA+C;QAC/C,gCAAgC;KACjC;IACD,MAAM,EAAE;QACN,gEAAgE;QAChE,iCAAiC;QACjC,qDAAqD;KACtD;IACD,KAAK,EAAE;QACL,0CAA0C;QAC1C,sDAAsD;QACtD,4CAA4C;QAC5C,oDAAoD;KACrD;IACD,KAAK,EAAE;QACL,gDAAgD;QAChD,+EAA+E;QAC/E,+EAA+E;QAC/E,gDAAgD;QAChD,qDAAqD;KACtD;CACF,CAAC;AAEF,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,35 +1,11 @@
|
|
|
1
|
-
export interface StackCommands {
|
|
2
|
-
build: string;
|
|
3
|
-
test: string;
|
|
4
|
-
lint: string;
|
|
5
|
-
format?: string;
|
|
6
|
-
typecheck?: string;
|
|
7
|
-
}
|
|
8
|
-
export interface StackProfile {
|
|
9
|
-
id: string;
|
|
10
|
-
label: string;
|
|
11
|
-
languages: string[];
|
|
12
|
-
framework?: string;
|
|
13
|
-
architecture: string;
|
|
14
|
-
commands: StackCommands;
|
|
15
|
-
errorHandling: string;
|
|
16
|
-
concurrency: string;
|
|
17
|
-
permissions: string[];
|
|
18
|
-
gitignorePatterns: string[];
|
|
19
|
-
openspecContext: string;
|
|
20
|
-
openspecRules: Record<string, string[]>;
|
|
21
|
-
}
|
|
22
1
|
export interface ProjectConfig {
|
|
23
2
|
projectName: string;
|
|
24
|
-
stack: StackProfile;
|
|
25
3
|
initGit: boolean;
|
|
26
4
|
initOpenspec: boolean;
|
|
27
|
-
initCodegraph: boolean;
|
|
28
5
|
targetDir: string;
|
|
29
6
|
isExisting: boolean;
|
|
30
7
|
}
|
|
31
8
|
export interface TemplateContext {
|
|
32
9
|
projectName: string;
|
|
33
|
-
stack: StackProfile;
|
|
34
10
|
}
|
|
35
11
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
package/dist/utils/tools.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
export declare function detectCodegraph(): Promise<boolean>;
|
|
2
|
-
export declare function installCodegraph(): Promise<boolean>;
|
|
3
|
-
export declare function initCodegraph(cwd: string): Promise<boolean>;
|
|
4
1
|
export declare function detectOpenspec(): Promise<boolean>;
|
|
5
2
|
export declare function installOpenspec(): Promise<boolean>;
|
|
6
3
|
export declare function initOpenspec(cwd: string): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"AA8BA,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAOvD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAOxD;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQhE"}
|