spec-manager 0.1.1 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -7
- package/dist/cli/change.d.ts.map +1 -1
- package/dist/cli/change.js +93 -4
- package/dist/cli/change.js.map +1 -1
- package/dist/cli/index.js +4 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/project.d.ts.map +1 -1
- package/dist/cli/project.js +50 -0
- package/dist/cli/project.js.map +1 -1
- package/dist/cli/task.d.ts.map +1 -1
- package/dist/cli/task.js +146 -41
- package/dist/cli/task.js.map +1 -1
- package/dist/core/agents.d.ts +17 -0
- package/dist/core/agents.d.ts.map +1 -1
- package/dist/core/agents.js +43 -1
- package/dist/core/agents.js.map +1 -1
- package/dist/core/archive.d.ts.map +1 -1
- package/dist/core/archive.js +74 -2
- package/dist/core/archive.js.map +1 -1
- package/dist/core/audit.d.ts +1 -0
- package/dist/core/audit.d.ts.map +1 -1
- package/dist/core/audit.js +60 -40
- package/dist/core/audit.js.map +1 -1
- package/dist/core/completion.js +1 -1
- package/dist/core/completion.js.map +1 -1
- package/dist/core/delta.d.ts +30 -1
- package/dist/core/delta.d.ts.map +1 -1
- package/dist/core/delta.js +141 -4
- package/dist/core/delta.js.map +1 -1
- package/dist/core/harness.d.ts +69 -0
- package/dist/core/harness.d.ts.map +1 -0
- package/dist/core/harness.js +278 -0
- package/dist/core/harness.js.map +1 -0
- package/dist/core/integrity-exemptions.d.ts +29 -0
- package/dist/core/integrity-exemptions.d.ts.map +1 -0
- package/dist/core/integrity-exemptions.js +100 -0
- package/dist/core/integrity-exemptions.js.map +1 -0
- package/dist/core/integrity.d.ts +12 -0
- package/dist/core/integrity.d.ts.map +1 -0
- package/dist/core/integrity.js +163 -0
- package/dist/core/integrity.js.map +1 -0
- package/dist/core/invariants.d.ts +5 -0
- package/dist/core/invariants.d.ts.map +1 -0
- package/dist/core/invariants.js +19 -0
- package/dist/core/invariants.js.map +1 -0
- package/dist/core/lifecycle.d.ts +37 -0
- package/dist/core/lifecycle.d.ts.map +1 -0
- package/dist/core/lifecycle.js +70 -0
- package/dist/core/lifecycle.js.map +1 -0
- package/dist/core/paths.d.ts +3 -0
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +19 -1
- package/dist/core/paths.js.map +1 -1
- package/dist/core/reconciliation.d.ts +25 -0
- package/dist/core/reconciliation.d.ts.map +1 -0
- package/dist/core/reconciliation.js +122 -0
- package/dist/core/reconciliation.js.map +1 -0
- package/dist/core/remediation.d.ts +41 -0
- package/dist/core/remediation.d.ts.map +1 -0
- package/dist/core/remediation.js +169 -0
- package/dist/core/remediation.js.map +1 -0
- package/dist/core/spec-io.d.ts +2 -0
- package/dist/core/spec-io.d.ts.map +1 -1
- package/dist/core/spec-io.js +23 -2
- package/dist/core/spec-io.js.map +1 -1
- package/dist/core/status.d.ts +2 -0
- package/dist/core/status.d.ts.map +1 -1
- package/dist/core/status.js +7 -0
- package/dist/core/status.js.map +1 -1
- package/dist/core/task.d.ts +24 -0
- package/dist/core/task.d.ts.map +1 -1
- package/dist/core/task.js +62 -43
- package/dist/core/task.js.map +1 -1
- package/dist/core/transaction.d.ts +10 -0
- package/dist/core/transaction.d.ts.map +1 -0
- package/dist/core/transaction.js +65 -0
- package/dist/core/transaction.js.map +1 -0
- package/dist/core/usability.d.ts.map +1 -1
- package/dist/core/usability.js +50 -13
- package/dist/core/usability.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/schemas/change.d.ts +20 -20
- package/dist/schemas/spec.d.ts +12 -12
- package/package.json +1 -1
- package/rules/doc-governance.md +2 -2
- package/skill/SKILL.md +12 -9
- package/skill/subskills/adr.md +2 -2
- package/skill/subskills/change.md +4 -4
- package/skill/subskills/design.md +4 -4
- package/skill/subskills/impl.md +9 -9
- package/skill/subskills/plan.md +1 -1
- package/skill/subskills/postmortem.md +1 -1
- package/skill/subskills/prd.md +9 -9
- package/skill/subskills/release.md +2 -2
- package/skill/subskills/runbook.md +1 -1
- package/skill/subskills/testplan.md +2 -2
- package/templates/L2-design.md +2 -2
- package/templates/L3-impl.md +1 -1
package/dist/core/usability.js
CHANGED
|
@@ -6,6 +6,8 @@ import { readAudit } from './audit.js';
|
|
|
6
6
|
import { findSpecByCode, isPlaceholderContent, listAllSpecs } from './spec-io.js';
|
|
7
7
|
import { listTasks } from './task.js';
|
|
8
8
|
import { REQUIRED_SECTIONS } from './validate.js';
|
|
9
|
+
import { inspectProjectIntegrity } from './integrity.js';
|
|
10
|
+
import { assessImplementationReadiness } from './lifecycle.js';
|
|
9
11
|
export function runProjectDoctor(paths) {
|
|
10
12
|
const checks = [];
|
|
11
13
|
checks.push(fileCheck(paths.isInitialized, '.spec-manager/', 'Project initialized', 'spec-manager project init', true));
|
|
@@ -25,8 +27,8 @@ export function runProjectDoctor(paths) {
|
|
|
25
27
|
});
|
|
26
28
|
const claudeSkill = join(paths.root, '.claude', 'skills', 'spec-manager');
|
|
27
29
|
if (existsSync(claudeSkill)) {
|
|
28
|
-
checks.push(fileCheck(existsSync(join(claudeSkill, 'rules')), '.claude/skills/spec-manager/rules', 'Claude skill rules bundled', 'spec-manager project
|
|
29
|
-
checks.push(fileCheck(existsSync(join(claudeSkill, 'templates')), '.claude/skills/spec-manager/templates', 'Claude skill templates bundled', 'spec-manager project
|
|
30
|
+
checks.push(fileCheck(existsSync(join(claudeSkill, 'rules')), '.claude/skills/spec-manager/rules', 'Claude skill rules bundled', 'spec-manager project remediate --migration repository-remediation-v1 --dry-run', false));
|
|
31
|
+
checks.push(fileCheck(existsSync(join(claudeSkill, 'templates')), '.claude/skills/spec-manager/templates', 'Claude skill templates bundled', 'spec-manager project remediate --migration repository-remediation-v1 --dry-run', false));
|
|
30
32
|
}
|
|
31
33
|
const codeBuddySkill = join(paths.root, '.codebuddy', 'skills', 'spec-manager');
|
|
32
34
|
if (existsSync(codeBuddySkill)) {
|
|
@@ -55,6 +57,16 @@ export function runProjectDoctor(paths) {
|
|
|
55
57
|
blocking: true,
|
|
56
58
|
});
|
|
57
59
|
}
|
|
60
|
+
if (paths.isInitialized) {
|
|
61
|
+
const issues = inspectProjectIntegrity(paths);
|
|
62
|
+
checks.push({
|
|
63
|
+
status: issues.length === 0 ? 'ok' : 'warn',
|
|
64
|
+
label: 'Repository integrity',
|
|
65
|
+
detail: issues.length === 0 ? 'No integrity issues' : `${issues.length} issue(s): ${issues.slice(0, 3).map(issue => issue.message).join('; ')}`,
|
|
66
|
+
action: issues.length === 0 ? undefined : 'Review project doctor output and repair issues explicitly',
|
|
67
|
+
blocking: false,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
58
70
|
return checks;
|
|
59
71
|
}
|
|
60
72
|
function fileCheck(condition, detail, label, action, blocking) {
|
|
@@ -123,11 +135,19 @@ export function suggestNextActionForTopic(topic, specs, tasks) {
|
|
|
123
135
|
if (task.status === 'waiting')
|
|
124
136
|
return `Resolve wait reason, then spec-manager task start ${task.id} --spec ${task.specCode}`;
|
|
125
137
|
}
|
|
126
|
-
const confirmedNonL3 = specs.find((s) =>
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
138
|
+
const confirmedNonL3 = specs.find((s) => s.fm.level === 'L2' && s.fm.status === 'confirmed')
|
|
139
|
+
?? specs.find((s) => s.fm.level === 'L1' && s.fm.status === 'confirmed');
|
|
140
|
+
if (confirmedNonL3) {
|
|
141
|
+
const children = specs.filter(spec => spec.fm.parentCode === confirmedNonL3.fm.code);
|
|
142
|
+
if (children.length === 0) {
|
|
143
|
+
if (confirmedNonL3.fm.level === 'L1')
|
|
144
|
+
return `spec-manager spec new L2 --topic ${topic} --parent ${confirmedNonL3.fm.code} --title "..."`;
|
|
145
|
+
return `spec-manager spec new L3 --topic ${topic} --parent ${confirmedNonL3.fm.code} --title "..."`;
|
|
146
|
+
}
|
|
147
|
+
if (assessImplementationReadinessForSpecs(specs, confirmedNonL3.fm.code)) {
|
|
148
|
+
return 'spec-manager project reconcile --dry-run';
|
|
149
|
+
}
|
|
150
|
+
}
|
|
131
151
|
return 'No immediate action. Use spec-manager flow status for details.';
|
|
132
152
|
}
|
|
133
153
|
export function suggestAfterSpecCommand(spec, paths) {
|
|
@@ -144,10 +164,20 @@ export function suggestAfterSpecCommand(spec, paths) {
|
|
|
144
164
|
if (spec.fm.level === 'L3' && spec.fm.status === 'frozen') {
|
|
145
165
|
return appendAdvice(`spec-manager task create ${spec.fm.code} --plan ./plan.json`, paths ? getUpstreamFreezeAdvice(paths, spec) : []);
|
|
146
166
|
}
|
|
147
|
-
if (spec.fm.level === 'L1' && spec.fm.status === 'confirmed')
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
167
|
+
if ((spec.fm.level === 'L1' || spec.fm.level === 'L2') && spec.fm.status === 'confirmed') {
|
|
168
|
+
if (!paths)
|
|
169
|
+
return 'spec-manager flow status';
|
|
170
|
+
const specs = listAllSpecs(paths);
|
|
171
|
+
const children = specs.filter(child => child.fm.parentCode === spec.fm.code);
|
|
172
|
+
if (children.length === 0) {
|
|
173
|
+
return spec.fm.level === 'L1'
|
|
174
|
+
? `spec-manager spec new L2 --topic ${spec.fm.topic} --parent ${spec.fm.code} --title "..."`
|
|
175
|
+
: `spec-manager spec new L3 --topic ${spec.fm.topic} --parent ${spec.fm.code} --title "..."`;
|
|
176
|
+
}
|
|
177
|
+
if (assessImplementationReadiness(paths, spec.fm.code, 'project-reconcile').ready) {
|
|
178
|
+
return 'spec-manager project reconcile --dry-run';
|
|
179
|
+
}
|
|
180
|
+
}
|
|
151
181
|
return 'spec-manager flow status';
|
|
152
182
|
}
|
|
153
183
|
export function getUpstreamFreezeAdvice(paths, spec) {
|
|
@@ -162,13 +192,20 @@ function getUpstreamFreezeAdviceForSpecs(specs, spec) {
|
|
|
162
192
|
const upstream = specs.find((s) => s.fm.code === parentCode);
|
|
163
193
|
if (!upstream)
|
|
164
194
|
break;
|
|
165
|
-
if (upstream.fm.status !== '
|
|
166
|
-
advice.push(`Upstream ${upstream.fm.code} is ${upstream.fm.status};
|
|
195
|
+
if (upstream.fm.status !== 'confirmed' && upstream.fm.status !== 'implemented') {
|
|
196
|
+
advice.push(`Upstream ${upstream.fm.code} is ${upstream.fm.status}; L1/L2 must be confirmed for task completion to cascade.`);
|
|
167
197
|
}
|
|
168
198
|
parentCode = upstream.fm.parentCode;
|
|
169
199
|
}
|
|
170
200
|
return advice;
|
|
171
201
|
}
|
|
202
|
+
function assessImplementationReadinessForSpecs(specs, specCode) {
|
|
203
|
+
const spec = specs.find(item => item.fm.code === specCode);
|
|
204
|
+
if (!spec || spec.fm.status !== 'confirmed' || (spec.fm.level !== 'L1' && spec.fm.level !== 'L2'))
|
|
205
|
+
return false;
|
|
206
|
+
const children = specs.filter(item => item.fm.parentCode === specCode);
|
|
207
|
+
return children.length > 0 && children.every(child => child.fm.status === 'implemented');
|
|
208
|
+
}
|
|
172
209
|
function appendAdvice(command, advice) {
|
|
173
210
|
if (advice.length === 0)
|
|
174
211
|
return command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usability.js","sourceRoot":"","sources":["../../src/core/usability.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usability.js","sourceRoot":"","sources":["../../src/core/usability.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,12 @@ export * from './core/agents.js';
|
|
|
7
7
|
export * from './core/audit-events.js';
|
|
8
8
|
export * from './core/repository.js';
|
|
9
9
|
export * from './core/usability.js';
|
|
10
|
+
export * from './core/invariants.js';
|
|
11
|
+
export * from './core/integrity.js';
|
|
12
|
+
export * from './core/integrity-exemptions.js';
|
|
13
|
+
export * from './core/remediation.js';
|
|
14
|
+
export * from './core/lifecycle.js';
|
|
15
|
+
export * from './core/reconciliation.js';
|
|
16
|
+
export * from './core/transaction.js';
|
|
10
17
|
export * from './schemas/spec.js';
|
|
11
18
|
//# 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":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -8,5 +8,12 @@ export * from './core/agents.js';
|
|
|
8
8
|
export * from './core/audit-events.js';
|
|
9
9
|
export * from './core/repository.js';
|
|
10
10
|
export * from './core/usability.js';
|
|
11
|
+
export * from './core/invariants.js';
|
|
12
|
+
export * from './core/integrity.js';
|
|
13
|
+
export * from './core/integrity-exemptions.js';
|
|
14
|
+
export * from './core/remediation.js';
|
|
15
|
+
export * from './core/lifecycle.js';
|
|
16
|
+
export * from './core/reconciliation.js';
|
|
17
|
+
export * from './core/transaction.js';
|
|
11
18
|
export * from './schemas/spec.js';
|
|
12
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
|
package/dist/schemas/change.d.ts
CHANGED
|
@@ -23,23 +23,23 @@ export declare const ChangeEntrySchema: z.ZodObject<{
|
|
|
23
23
|
}, "strip", z.ZodTypeAny, {
|
|
24
24
|
code: string;
|
|
25
25
|
op: "ADDED" | "MODIFIED" | "REMOVED" | "RENAMED";
|
|
26
|
-
|
|
26
|
+
parentCode?: string | null | undefined;
|
|
27
27
|
level?: "L0" | "L1" | "L2" | "L3" | undefined;
|
|
28
28
|
title?: string | undefined;
|
|
29
|
-
|
|
29
|
+
content?: string | undefined;
|
|
30
|
+
newCode?: string | undefined;
|
|
30
31
|
changeSummary?: string | undefined;
|
|
31
32
|
affectedCriteria?: string[] | undefined;
|
|
32
|
-
newCode?: string | undefined;
|
|
33
33
|
}, {
|
|
34
34
|
code: string;
|
|
35
35
|
op: "ADDED" | "MODIFIED" | "REMOVED" | "RENAMED";
|
|
36
|
-
|
|
36
|
+
parentCode?: string | null | undefined;
|
|
37
37
|
level?: "L0" | "L1" | "L2" | "L3" | undefined;
|
|
38
38
|
title?: string | undefined;
|
|
39
|
-
|
|
39
|
+
content?: string | undefined;
|
|
40
|
+
newCode?: string | undefined;
|
|
40
41
|
changeSummary?: string | undefined;
|
|
41
42
|
affectedCriteria?: string[] | undefined;
|
|
42
|
-
newCode?: string | undefined;
|
|
43
43
|
}>;
|
|
44
44
|
export declare const DeltaSpecSchema: z.ZodObject<{
|
|
45
45
|
name: z.ZodString;
|
|
@@ -58,35 +58,35 @@ export declare const DeltaSpecSchema: z.ZodObject<{
|
|
|
58
58
|
}, "strip", z.ZodTypeAny, {
|
|
59
59
|
code: string;
|
|
60
60
|
op: "ADDED" | "MODIFIED" | "REMOVED" | "RENAMED";
|
|
61
|
-
|
|
61
|
+
parentCode?: string | null | undefined;
|
|
62
62
|
level?: "L0" | "L1" | "L2" | "L3" | undefined;
|
|
63
63
|
title?: string | undefined;
|
|
64
|
-
|
|
64
|
+
content?: string | undefined;
|
|
65
|
+
newCode?: string | undefined;
|
|
65
66
|
changeSummary?: string | undefined;
|
|
66
67
|
affectedCriteria?: string[] | undefined;
|
|
67
|
-
newCode?: string | undefined;
|
|
68
68
|
}, {
|
|
69
69
|
code: string;
|
|
70
70
|
op: "ADDED" | "MODIFIED" | "REMOVED" | "RENAMED";
|
|
71
|
-
|
|
71
|
+
parentCode?: string | null | undefined;
|
|
72
72
|
level?: "L0" | "L1" | "L2" | "L3" | undefined;
|
|
73
73
|
title?: string | undefined;
|
|
74
|
-
|
|
74
|
+
content?: string | undefined;
|
|
75
|
+
newCode?: string | undefined;
|
|
75
76
|
changeSummary?: string | undefined;
|
|
76
77
|
affectedCriteria?: string[] | undefined;
|
|
77
|
-
newCode?: string | undefined;
|
|
78
78
|
}>, "many">;
|
|
79
79
|
}, "strip", z.ZodTypeAny, {
|
|
80
80
|
changes: {
|
|
81
81
|
code: string;
|
|
82
82
|
op: "ADDED" | "MODIFIED" | "REMOVED" | "RENAMED";
|
|
83
|
-
|
|
83
|
+
parentCode?: string | null | undefined;
|
|
84
84
|
level?: "L0" | "L1" | "L2" | "L3" | undefined;
|
|
85
85
|
title?: string | undefined;
|
|
86
|
-
|
|
86
|
+
content?: string | undefined;
|
|
87
|
+
newCode?: string | undefined;
|
|
87
88
|
changeSummary?: string | undefined;
|
|
88
89
|
affectedCriteria?: string[] | undefined;
|
|
89
|
-
newCode?: string | undefined;
|
|
90
90
|
}[];
|
|
91
91
|
name: string;
|
|
92
92
|
created?: string | undefined;
|
|
@@ -95,13 +95,13 @@ export declare const DeltaSpecSchema: z.ZodObject<{
|
|
|
95
95
|
changes: {
|
|
96
96
|
code: string;
|
|
97
97
|
op: "ADDED" | "MODIFIED" | "REMOVED" | "RENAMED";
|
|
98
|
-
|
|
98
|
+
parentCode?: string | null | undefined;
|
|
99
99
|
level?: "L0" | "L1" | "L2" | "L3" | undefined;
|
|
100
100
|
title?: string | undefined;
|
|
101
|
-
|
|
101
|
+
content?: string | undefined;
|
|
102
|
+
newCode?: string | undefined;
|
|
102
103
|
changeSummary?: string | undefined;
|
|
103
104
|
affectedCriteria?: string[] | undefined;
|
|
104
|
-
newCode?: string | undefined;
|
|
105
105
|
}[];
|
|
106
106
|
name: string;
|
|
107
107
|
created?: string | undefined;
|
|
@@ -119,16 +119,16 @@ export declare const ProposalSchema: z.ZodObject<{
|
|
|
119
119
|
name: string;
|
|
120
120
|
why: string;
|
|
121
121
|
scope: string;
|
|
122
|
-
created?: string | undefined;
|
|
123
122
|
affectedCriteria?: string[] | undefined;
|
|
123
|
+
created?: string | undefined;
|
|
124
124
|
risk?: string | undefined;
|
|
125
125
|
rollback?: string | undefined;
|
|
126
126
|
}, {
|
|
127
127
|
name: string;
|
|
128
128
|
why: string;
|
|
129
129
|
scope: string;
|
|
130
|
-
created?: string | undefined;
|
|
131
130
|
affectedCriteria?: string[] | undefined;
|
|
131
|
+
created?: string | undefined;
|
|
132
132
|
risk?: string | undefined;
|
|
133
133
|
rollback?: string | undefined;
|
|
134
134
|
}>;
|
package/dist/schemas/spec.d.ts
CHANGED
|
@@ -108,12 +108,12 @@ export declare const SpecFrontmatterSchema: z.ZodObject<{
|
|
|
108
108
|
changeSummary: z.ZodOptional<z.ZodString>;
|
|
109
109
|
}, "strip", z.ZodTypeAny, {
|
|
110
110
|
project: number;
|
|
111
|
-
status: "draft" | "confirmed" | "frozen" | "implemented" | "archived";
|
|
112
|
-
topic: string;
|
|
113
111
|
code: string;
|
|
112
|
+
status: "draft" | "confirmed" | "frozen" | "implemented" | "archived";
|
|
113
|
+
parentCode: string | null;
|
|
114
114
|
level: "L0" | "L1" | "L2" | "L3";
|
|
115
115
|
title: string;
|
|
116
|
-
|
|
116
|
+
topic: string;
|
|
117
117
|
aiSummary: string;
|
|
118
118
|
coveredTasks: string[];
|
|
119
119
|
relations: {
|
|
@@ -133,18 +133,18 @@ export declare const SpecFrontmatterSchema: z.ZodObject<{
|
|
|
133
133
|
latencyMs?: number | undefined;
|
|
134
134
|
reportedAt?: string | undefined;
|
|
135
135
|
}[] | undefined;
|
|
136
|
+
changeSummary?: string | undefined;
|
|
137
|
+
created?: string | undefined;
|
|
136
138
|
id?: string | undefined;
|
|
137
139
|
milestone?: string | undefined;
|
|
138
|
-
created?: string | undefined;
|
|
139
140
|
updated?: string | undefined;
|
|
140
|
-
changeSummary?: string | undefined;
|
|
141
141
|
}, {
|
|
142
|
-
status: "draft" | "confirmed" | "frozen" | "implemented" | "archived";
|
|
143
|
-
topic: string;
|
|
144
142
|
code: string;
|
|
143
|
+
status: "draft" | "confirmed" | "frozen" | "implemented" | "archived";
|
|
144
|
+
parentCode: string | null;
|
|
145
145
|
level: "L0" | "L1" | "L2" | "L3";
|
|
146
146
|
title: string;
|
|
147
|
-
|
|
147
|
+
topic: string;
|
|
148
148
|
project?: number | undefined;
|
|
149
149
|
steps?: {
|
|
150
150
|
stepNo: string | number;
|
|
@@ -159,6 +159,8 @@ export declare const SpecFrontmatterSchema: z.ZodObject<{
|
|
|
159
159
|
latencyMs?: number | undefined;
|
|
160
160
|
reportedAt?: string | undefined;
|
|
161
161
|
}[] | undefined;
|
|
162
|
+
changeSummary?: string | undefined;
|
|
163
|
+
created?: string | undefined;
|
|
162
164
|
id?: string | undefined;
|
|
163
165
|
milestone?: string | undefined;
|
|
164
166
|
aiSummary?: string | undefined;
|
|
@@ -167,9 +169,7 @@ export declare const SpecFrontmatterSchema: z.ZodObject<{
|
|
|
167
169
|
type: "based_on" | "supersedes" | "implements" | "references";
|
|
168
170
|
target: string;
|
|
169
171
|
}[] | undefined;
|
|
170
|
-
created?: string | undefined;
|
|
171
172
|
updated?: string | undefined;
|
|
172
|
-
changeSummary?: string | undefined;
|
|
173
173
|
}>;
|
|
174
174
|
export declare const PlanStepSchema: z.ZodObject<{
|
|
175
175
|
stepNo: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
@@ -222,12 +222,12 @@ export declare const DecisionInputSchema: z.ZodObject<{
|
|
|
222
222
|
}, "strip", z.ZodTypeAny, {
|
|
223
223
|
topic: string;
|
|
224
224
|
what: string;
|
|
225
|
-
why?: string | undefined;
|
|
226
225
|
affectedCriteria?: string[] | undefined;
|
|
226
|
+
why?: string | undefined;
|
|
227
227
|
}, {
|
|
228
228
|
topic: string;
|
|
229
229
|
what: string;
|
|
230
|
-
why?: string | undefined;
|
|
231
230
|
affectedCriteria?: string[] | undefined;
|
|
231
|
+
why?: string | undefined;
|
|
232
232
|
}>;
|
|
233
233
|
//# sourceMappingURL=spec.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spec-manager",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "spec-manager: local-first spec-driven development platform. Pure markdown storage, no network, no MCP. Portable CLI + multi-agent instructions.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
package/rules/doc-governance.md
CHANGED
|
@@ -76,8 +76,8 @@ applies_to: [L2_write, L3_write]
|
|
|
76
76
|
|
|
77
77
|
✅ 正确:
|
|
78
78
|
|
|
79
|
-
- L2: `本 L2 实现
|
|
80
|
-
- L3: `本 L3 对应
|
|
79
|
+
- L2: `本 L2 实现 auth-L1 的目标 3(演进闭环)。L1 的用户故事详见其正文。`
|
|
80
|
+
- L3: `本 L3 对应 auth-L2.1 的 L3 裂变计划,落地 5 份模板文件。`
|
|
81
81
|
|
|
82
82
|
❌ 错误:
|
|
83
83
|
|
package/skill/SKILL.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: spec-manager
|
|
2
3
|
description: "Spec-driven project iteration workflow — L1 PRD → L2 Design → L3 Impl → Agent Task → Deploy, with human review gates at each layer. Pure local markdown storage, no MCP, no network. Use when the user invokes /spec-manager or asks for: new feature/PRD, technical design, implementation spec, agent task, iteration plan, test plan, release notes, runbook, postmortem, or ADR."
|
|
3
4
|
argument-hint: "<需求描述> | run <taskId>"
|
|
4
5
|
---
|
|
@@ -56,12 +57,12 @@ PRD → Design → Spec → Agent Task → 部署。**纯本地**,所有数据
|
|
|
56
57
|
|
|
57
58
|
| 主题 | 规则 | 文件 |
|
|
58
59
|
|---|---|---|
|
|
59
|
-
| 流程控制 | R1-R4 停下审核/状态归用户/frozen 才建 Task | [rules/flow-control.md](rules/flow-control.md) |
|
|
60
|
-
| 质量门禁 | R5/R6/R10/R15/R18 不跳步/planJson 校验 | [rules/quality-gate.md](rules/quality-gate.md) |
|
|
61
|
-
| 文档治理 | R7/R11/R13/R14/R16-R22 层级绑定/aiSummary | [rules/doc-governance.md](rules/doc-governance.md) |
|
|
62
|
-
| 代码纪律 | R8/R9/R12 改代码前自检 | [rules/code-discipline.md](rules/code-discipline.md) |
|
|
63
|
-
| 代码调查 | R23 Spec 前必须基于实际代码 | [rules/codebase-survey.md](rules/codebase-survey.md) |
|
|
64
|
-
| Delta | R24 delta 必须含 proposal | [rules/delta.md](rules/delta.md) |
|
|
60
|
+
| 流程控制 | R1-R4 停下审核/状态归用户/frozen 才建 Task | [rules/flow-control.md](../rules/flow-control.md) |
|
|
61
|
+
| 质量门禁 | R5/R6/R10/R15/R18 不跳步/planJson 校验 | [rules/quality-gate.md](../rules/quality-gate.md) |
|
|
62
|
+
| 文档治理 | R7/R11/R13/R14/R16-R22 层级绑定/aiSummary | [rules/doc-governance.md](../rules/doc-governance.md) |
|
|
63
|
+
| 代码纪律 | R8/R9/R12 改代码前自检 | [rules/code-discipline.md](../rules/code-discipline.md) |
|
|
64
|
+
| 代码调查 | R23 Spec 前必须基于实际代码 | [rules/codebase-survey.md](../rules/codebase-survey.md) |
|
|
65
|
+
| Delta | R24 delta 必须含 proposal | [rules/delta.md](../rules/delta.md) |
|
|
65
66
|
|
|
66
67
|
## Spec 状态流
|
|
67
68
|
|
|
@@ -89,9 +90,9 @@ L3: draft → frozen → implemented
|
|
|
89
90
|
<project>/
|
|
90
91
|
├── .spec-manager/ # config + audit + incidents
|
|
91
92
|
├── specs/<topic>/ # spec 平铺(点分编号自文档化层级)
|
|
92
|
-
│ ├── <L1-
|
|
93
|
-
│ ├── <L2-
|
|
94
|
-
│ ├── <L3
|
|
93
|
+
│ ├── <topic>-L1.md # 如 auth-L1.md
|
|
94
|
+
│ ├── <topic>-L2.1.md # 如 auth-L2.1.md
|
|
95
|
+
│ ├── <topic>-L3.1.1[-desc].md # 如 auth-L3.1.1-jwt.md
|
|
95
96
|
│ ├── decisions/ # 决策卡片(topic 级别)
|
|
96
97
|
│ └── tasks/ # Agent Task(topic 级别)
|
|
97
98
|
│ └── <specCode>-<taskId>.json
|
|
@@ -99,4 +100,6 @@ L3: draft → frozen → implemented
|
|
|
99
100
|
└── archive/<name>/ # 已合并 change
|
|
100
101
|
```
|
|
101
102
|
|
|
103
|
+
**文件命名规则**:`<topic>-L<level>[.<序号>][.<序号>][-desc].md`,点分编号自文档化层级关系,topic 前缀必填。必须通过 CLI 命令创建,不要用 Write 工具直接写文件。
|
|
104
|
+
|
|
102
105
|
违反任一规则视为流程事故,参照 `.spec-manager/incidents/_TEMPLATE.md` 记录。
|
package/skill/subskills/adr.md
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
2. 必走:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
spec-manager decision create
|
|
23
|
+
spec-manager decision create auth-L1 \
|
|
24
24
|
--topic auth \
|
|
25
25
|
--what "采用 JWT 而非 session" \
|
|
26
26
|
--why "无状态扩展,便于多服务共享身份" \
|
|
@@ -63,7 +63,7 @@ JWT 有 alg=none 等已知攻击面...
|
|
|
63
63
|
- 决策卡片:DC-002
|
|
64
64
|
|
|
65
65
|
## 关联
|
|
66
|
-
- spec:
|
|
66
|
+
- spec: auth-L1
|
|
67
67
|
- decision: DC-002
|
|
68
68
|
EOF
|
|
69
69
|
```
|
|
@@ -43,12 +43,12 @@ affectedCriteria:
|
|
|
43
43
|
|
|
44
44
|
```markdown
|
|
45
45
|
---
|
|
46
|
-
code:
|
|
46
|
+
code: auth-L1
|
|
47
47
|
---
|
|
48
48
|
|
|
49
49
|
## MODIFIED Requirements
|
|
50
50
|
|
|
51
|
-
### Requirement:
|
|
51
|
+
### Requirement: auth-L1
|
|
52
52
|
## 2FA 强制
|
|
53
53
|
|
|
54
54
|
登录成功后系统 **SHALL** 要求 TOTP 二次校验。
|
|
@@ -98,8 +98,8 @@ spec-manager change archive add-2fa
|
|
|
98
98
|
```
|
|
99
99
|
✓ Change add-2fa archived
|
|
100
100
|
applied: 2
|
|
101
|
-
[MODIFIED]
|
|
102
|
-
[ADDED]
|
|
101
|
+
[MODIFIED] auth-L1
|
|
102
|
+
[ADDED] auth-L3.1.1-new-feature
|
|
103
103
|
archived to: archive/add-2fa
|
|
104
104
|
```
|
|
105
105
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
3. **Level 2 代码调查**(R23):Read ≥3 个源文件了解模块
|
|
20
20
|
4. **创建 L2**:
|
|
21
21
|
```bash
|
|
22
|
-
spec-manager spec new L2 --topic <topic> --title "..." --parent <L1 code> # --code 不传则自动生成
|
|
22
|
+
spec-manager spec new L2 --topic <topic> --title "..." --parent <L1 code> # --code 不传则自动生成 <topic>-L2.N
|
|
23
23
|
```
|
|
24
24
|
> 🔍 **R7 自检**: L2 是否绑定了父 L1?→ `spec-manager audit hit R7`
|
|
25
25
|
5. **写正文**:
|
|
@@ -48,6 +48,6 @@ R1 / R2 / R4 / R7 / R13 / R14 / R17 / R19 / R22 / R23
|
|
|
48
48
|
|
|
49
49
|
| 规则 ID | 文件 | 适用场景 |
|
|
50
50
|
|---|---|---|
|
|
51
|
-
| R7/R14/R17 | [rules/doc-governance.md](
|
|
52
|
-
| R19 | [rules/doc-governance.md](
|
|
53
|
-
| R23 | [rules/codebase-survey.md](
|
|
51
|
+
| R7/R14/R17 | [rules/doc-governance.md](../../rules/doc-governance.md) | 层级绑定 / 跨层引用 / 架构拆解 |
|
|
52
|
+
| R19 | [rules/doc-governance.md](../../rules/doc-governance.md) | 写 L2 前必读父 L1 全文 |
|
|
53
|
+
| R23 | [rules/codebase-survey.md](../../rules/codebase-survey.md) | Level 2 模块深潜(≥3 源文件) |
|
package/skill/subskills/impl.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
> ☑ **R23** / **R12** / **R8** — 流程规则,人工把关
|
|
25
25
|
4. **创建 L3**:
|
|
26
26
|
```bash
|
|
27
|
-
spec-manager spec new L3 --topic <topic> --title "..." --parent <L2 code> # --code 不传则自动生成
|
|
27
|
+
spec-manager spec new L3 --topic <topic> --title "..." --parent <L2 code> # --code 不传则自动生成 <topic>-L3.N.M[-desc]
|
|
28
28
|
```
|
|
29
29
|
> ☑ **R20** — 流程规则:scope-split L2 时所有子 L3 一次建齐
|
|
30
30
|
5. **写正文**:
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
```
|
|
58
58
|
> ☑ **R3** — 非 frozen 时 CLI 拒绝并 audit hit
|
|
59
59
|
10. `spec-manager task start <task-id>`
|
|
60
|
-
11. 逐步 `spec-manager task step <task-id> --no N --type T --name S --status
|
|
60
|
+
11. 逐步 `spec-manager task step <task-id> --no N --type T --name S --status succeeded --output-json J --latency L`
|
|
61
61
|
- 禁跳步(R5)
|
|
62
62
|
- outputJson 必含 summary(R15)
|
|
63
63
|
- step_report 必须在工作完成后才报(R15)
|
|
@@ -87,13 +87,13 @@ R1 / R2 / R3 / R4 / R5 / R6 / R7 / R8 / R10 / R11 / R12 / R13 / R14 / R15 / R18
|
|
|
87
87
|
|
|
88
88
|
| 规则 ID | 文件 | 适用场景 | 类型 |
|
|
89
89
|
|---|---|---|---|
|
|
90
|
-
| R1/R2/R4 | [rules/flow-control.md](
|
|
91
|
-
| R3/R5/R6 | [rules/flow-control.md](
|
|
92
|
-
| R7/R11/R13/R14/R22 | [rules/doc-governance.md](
|
|
93
|
-
| R8/R12 | [rules/code-discipline.md](
|
|
94
|
-
| R10/R15/R18 | [rules/quality-gate.md](
|
|
95
|
-
| R20 | [rules/doc-governance.md](
|
|
96
|
-
| R23 | [rules/codebase-survey.md](
|
|
90
|
+
| R1/R2/R4 | [rules/flow-control.md](../../rules/flow-control.md) | 停下审核 / 状态归用户 / 每层独立 | 流程 |
|
|
91
|
+
| R3/R5/R6 | [rules/flow-control.md](../../rules/flow-control.md) + [rules/quality-gate.md](../../rules/quality-gate.md) | frozen 才建 Task / 不跳步 / task 后校验 | 流程 + 代码 |
|
|
92
|
+
| R7/R11/R13/R14/R22 | [rules/doc-governance.md](../../rules/doc-governance.md) | 层级绑定 / 粒度 / aiSummary / 跨层引用 / 创建即写正文 | 代码 + 流程 |
|
|
93
|
+
| R8/R12 | [rules/code-discipline.md](../../rules/code-discipline.md) | 改代码前自检 / 禁凭记忆 | 流程 |
|
|
94
|
+
| R10/R15/R18 | [rules/quality-gate.md](../../rules/quality-gate.md) | planJson 必含验证 / step 必含 summary / 决策卡片 | 代码 |
|
|
95
|
+
| R20 | [rules/doc-governance.md](../../rules/doc-governance.md) | scope-split 批量建齐 | 流程 |
|
|
96
|
+
| R23 | [rules/codebase-survey.md](../../rules/codebase-survey.md) | Level 3 文件级分析 | 流程 |
|
|
97
97
|
|
|
98
98
|
**类型说明**:
|
|
99
99
|
- **代码**:违反时 CLI 自动抛错或 audit hit
|
package/skill/subskills/plan.md
CHANGED
package/skill/subskills/prd.md
CHANGED
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
> ☑ **R16** — 流程规则:查重确认无重复 L1
|
|
33
33
|
4. **创建 L1**:
|
|
34
34
|
```bash
|
|
35
|
-
spec-manager spec new L1 --topic <topic> --title "..." # --code 不传则自动生成 <
|
|
35
|
+
spec-manager spec new L1 --topic <topic> --title "..." # --code 不传则自动生成 <topic>-L1
|
|
36
36
|
```
|
|
37
37
|
5. **写正文**:把 L1-prd.md 模板填好后写到文件
|
|
38
38
|
```bash
|
|
@@ -62,11 +62,11 @@ R1 / R2 / R4 / R7 / R13 / R14 / R16 / R17 / R19 / R22 / R23
|
|
|
62
62
|
|
|
63
63
|
| 规则 ID | 文件 | 适用场景 | 类型 |
|
|
64
64
|
|---|---|---|---|
|
|
65
|
-
| R1/R2/R4 | [rules/flow-control.md](
|
|
66
|
-
| R7 | [rules/doc-governance.md](
|
|
67
|
-
| R13/R21 | [rules/doc-governance.md](
|
|
68
|
-
| R14 | [rules/doc-governance.md](
|
|
69
|
-
| R16 | [rules/doc-governance.md](
|
|
70
|
-
| R19 | [rules/doc-governance.md](
|
|
71
|
-
| R22 | [rules/doc-governance.md](
|
|
72
|
-
| R23 | [rules/codebase-survey.md](
|
|
65
|
+
| R1/R2/R4 | [rules/flow-control.md](../../rules/flow-control.md) | 停下审核 / 状态归用户 / 每层独立 | 流程 |
|
|
66
|
+
| R7 | [rules/doc-governance.md](../../rules/doc-governance.md) | 层级绑定(虽 L1 无父,但确认子层要绑) | 代码 |
|
|
67
|
+
| R13/R21 | [rules/doc-governance.md](../../rules/doc-governance.md) | aiSummary 必传 + ≤300 字符 | 代码 |
|
|
68
|
+
| R14 | [rules/doc-governance.md](../../rules/doc-governance.md) | 跨层引用 — L1 不复述上层 | 流程 |
|
|
69
|
+
| R16 | [rules/doc-governance.md](../../rules/doc-governance.md) | L1 去重搜索 | 流程 |
|
|
70
|
+
| R19 | [rules/doc-governance.md](../../rules/doc-governance.md) | 研究期读 aiSummary 而非全文 | 流程 |
|
|
71
|
+
| R22 | [rules/doc-governance.md](../../rules/doc-governance.md) | 创建后立即写正文 | 代码(CLI 在 `confirm` 时强制) |
|
|
72
|
+
| R23 | [rules/codebase-survey.md](../../rules/codebase-survey.md) | 写 L1 前 Level 1 架构概览 | 流程 |
|