@seanmars/tospec 0.21.0 → 0.23.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/CHANGELOG.md +31 -0
- package/README.md +6 -4
- package/assets/rules/tospec/single-source-of-truth.md +1 -1
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +5 -6
- package/dist/core/init.js.map +1 -1
- package/dist/core/migrate.js +1 -1
- package/dist/core/migrate.js.map +1 -1
- package/dist/core/shared/index.d.ts +1 -1
- package/dist/core/shared/index.d.ts.map +1 -1
- package/dist/core/shared/index.js +1 -1
- package/dist/core/shared/index.js.map +1 -1
- package/dist/core/shared/skill-generation.d.ts +2 -25
- package/dist/core/shared/skill-generation.d.ts.map +1 -1
- package/dist/core/shared/skill-generation.js +16 -60
- package/dist/core/shared/skill-generation.js.map +1 -1
- package/dist/core/shared/tool-detection.d.ts +1 -2
- package/dist/core/shared/tool-detection.d.ts.map +1 -1
- package/dist/core/shared/tool-detection.js +1 -2
- package/dist/core/shared/tool-detection.js.map +1 -1
- package/dist/core/{command-generation → shared}/yaml.d.ts +1 -2
- package/dist/core/shared/yaml.d.ts.map +1 -0
- package/dist/core/{command-generation → shared}/yaml.js +1 -2
- package/dist/core/shared/yaml.js.map +1 -0
- package/dist/core/skill-metrics.d.ts +3 -2
- package/dist/core/skill-metrics.d.ts.map +1 -1
- package/dist/core/skill-metrics.js +3 -2
- package/dist/core/skill-metrics.js.map +1 -1
- package/dist/core/templates/fragments/interview.d.ts +1 -1
- package/dist/core/templates/fragments/interview.d.ts.map +1 -1
- package/dist/core/templates/fragments/interview.js +1 -1
- package/dist/core/templates/fragments/interview.js.map +1 -1
- package/dist/core/templates/fragments/verify.d.ts +3 -13
- package/dist/core/templates/fragments/verify.d.ts.map +1 -1
- package/dist/core/templates/fragments/verify.js +5 -13
- package/dist/core/templates/fragments/verify.js.map +1 -1
- package/dist/core/templates/skill-templates.d.ts +10 -10
- package/dist/core/templates/skill-templates.d.ts.map +1 -1
- package/dist/core/templates/skill-templates.js +9 -9
- package/dist/core/templates/skill-templates.js.map +1 -1
- package/dist/core/templates/types.d.ts +0 -7
- package/dist/core/templates/types.d.ts.map +1 -1
- package/dist/core/templates/workflows/apply.d.ts +1 -3
- package/dist/core/templates/workflows/apply.d.ts.map +1 -1
- package/dist/core/templates/workflows/apply.js +9 -42
- package/dist/core/templates/workflows/apply.js.map +1 -1
- package/dist/core/templates/workflows/archive.d.ts +1 -2
- package/dist/core/templates/workflows/archive.d.ts.map +1 -1
- package/dist/core/templates/workflows/archive.js +1 -14
- package/dist/core/templates/workflows/archive.js.map +1 -1
- package/dist/core/templates/workflows/decision.d.ts +1 -2
- package/dist/core/templates/workflows/decision.d.ts.map +1 -1
- package/dist/core/templates/workflows/decision.js +0 -13
- package/dist/core/templates/workflows/decision.js.map +1 -1
- package/dist/core/templates/workflows/explore.d.ts +1 -2
- package/dist/core/templates/workflows/explore.d.ts.map +1 -1
- package/dist/core/templates/workflows/explore.js +3 -16
- package/dist/core/templates/workflows/explore.js.map +1 -1
- package/dist/core/templates/workflows/grill.d.ts +1 -2
- package/dist/core/templates/workflows/grill.d.ts.map +1 -1
- package/dist/core/templates/workflows/grill.js +1 -14
- package/dist/core/templates/workflows/grill.js.map +1 -1
- package/dist/core/templates/workflows/issue.d.ts +1 -2
- package/dist/core/templates/workflows/issue.d.ts.map +1 -1
- package/dist/core/templates/workflows/issue.js +4 -17
- package/dist/core/templates/workflows/issue.js.map +1 -1
- package/dist/core/templates/workflows/propose.d.ts +1 -2
- package/dist/core/templates/workflows/propose.d.ts.map +1 -1
- package/dist/core/templates/workflows/propose.js +1 -14
- package/dist/core/templates/workflows/propose.js.map +1 -1
- package/dist/core/templates/workflows/sync.d.ts +1 -2
- package/dist/core/templates/workflows/sync.d.ts.map +1 -1
- package/dist/core/templates/workflows/sync.js +0 -13
- package/dist/core/templates/workflows/sync.js.map +1 -1
- package/dist/core/templates/workflows/update.d.ts +1 -2
- package/dist/core/templates/workflows/update.d.ts.map +1 -1
- package/dist/core/templates/workflows/update.js +4 -17
- package/dist/core/templates/workflows/update.js.map +1 -1
- package/dist/core/update.d.ts.map +1 -1
- package/dist/core/update.js +4 -6
- package/dist/core/update.js.map +1 -1
- package/package.json +2 -1
- package/schemas/decision/schema.yaml +1 -1
- package/schemas/issue/schema.yaml +4 -4
- package/schemas/sdd/schema.yaml +4 -3
- package/dist/core/command-generation/adapters/claude.d.ts +0 -7
- package/dist/core/command-generation/adapters/claude.d.ts.map +0 -1
- package/dist/core/command-generation/adapters/claude.js +0 -28
- package/dist/core/command-generation/adapters/claude.js.map +0 -1
- package/dist/core/command-generation/adapters/index.d.ts +0 -7
- package/dist/core/command-generation/adapters/index.d.ts.map +0 -1
- package/dist/core/command-generation/adapters/index.js +0 -8
- package/dist/core/command-generation/adapters/index.js.map +0 -1
- package/dist/core/command-generation/generator.d.ts +0 -4
- package/dist/core/command-generation/generator.d.ts.map +0 -1
- package/dist/core/command-generation/generator.js +0 -10
- package/dist/core/command-generation/generator.js.map +0 -1
- package/dist/core/command-generation/index.d.ts +0 -8
- package/dist/core/command-generation/index.d.ts.map +0 -1
- package/dist/core/command-generation/index.js +0 -3
- package/dist/core/command-generation/index.js.map +0 -1
- package/dist/core/command-generation/types.d.ts +0 -30
- package/dist/core/command-generation/types.d.ts.map +0 -1
- package/dist/core/command-generation/types.js +0 -2
- package/dist/core/command-generation/types.js.map +0 -1
- package/dist/core/command-generation/yaml.d.ts.map +0 -1
- package/dist/core/command-generation/yaml.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/archive.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uTAoEkS,CAAC;AAExT,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,+LAA+L;QAC5M,YAAY,EAAE;;;;EAIhB,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/archive.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uTAoEkS,CAAC;AAExT,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,+LAA+L;QAC5M,YAAY,EAAE;;;;EAIhB,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* `tospec decision` command. Unlike propose/issue this is not a multi-phase
|
|
6
6
|
* change — it produces one dated decision file plus a derived index.
|
|
7
7
|
*/
|
|
8
|
-
import type { SkillTemplate
|
|
8
|
+
import type { SkillTemplate } from '../types.js';
|
|
9
9
|
export declare function getTospecDecisionSkillTemplate(): SkillTemplate;
|
|
10
|
-
export declare function getTospecDecisionCommandTemplate(): CommandTemplate;
|
|
11
10
|
//# sourceMappingURL=decision.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/decision.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/decision.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiDjD,wBAAgB,8BAA8B,IAAI,aAAa,CAe9D"}
|
|
@@ -59,17 +59,4 @@ ${DECISION_BODY}`,
|
|
|
59
59
|
allowedTools: ['Bash(tospec:*)', 'Read', 'Write', 'Edit', 'Grep', 'Glob', 'AskUserQuestion'],
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
|
-
export function getTospecDecisionCommandTemplate() {
|
|
63
|
-
return {
|
|
64
|
-
name: 'TOSPEC: Decision',
|
|
65
|
-
description: 'Record an architecture decision as a permanent ADR with rationale, alternatives, and impact',
|
|
66
|
-
category: 'Workflow',
|
|
67
|
-
tags: ['workflow', 'decision', 'adr'],
|
|
68
|
-
content: `Turn a made (or ready-to-adopt) decision into a permanent ADR record via the \`tospec decision\` command.
|
|
69
|
-
|
|
70
|
-
**Input**: The argument after \`tospec-decision\` describes the decision and, ideally, the reasoning and the alternatives considered.
|
|
71
|
-
|
|
72
|
-
${DECISION_BODY}`,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
62
|
//# sourceMappingURL=decision.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/decision.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAuCS,iBAAiB,CAAC,gCAAgC,EAAE,yCAAyC,CAAC;;;;;kLAKqD,CAAC;AAEnL,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,6NAA6N;QAC/N,YAAY,EAAE;;;;EAIhB,aAAa,EAAE;QACb,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC
|
|
1
|
+
{"version":3,"file":"decision.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/decision.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAuCS,iBAAiB,CAAC,gCAAgC,EAAE,yCAAyC,CAAC;;;;;kLAKqD,CAAC;AAEnL,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,6NAA6N;QAC/N,YAAY,EAAE;;;;EAIhB,aAAa,EAAE;QACb,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC"}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* something already on the table — explore deliberately avoids leading with the
|
|
8
8
|
* word "grill" so the two don't compete for the same trigger.
|
|
9
9
|
*/
|
|
10
|
-
import type { SkillTemplate
|
|
10
|
+
import type { SkillTemplate } from '../types.js';
|
|
11
11
|
export declare function getExploreSkillTemplate(): SkillTemplate;
|
|
12
|
-
export declare function getTospecExploreCommandTemplate(): CommandTemplate;
|
|
13
12
|
//# sourceMappingURL=explore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/explore.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/explore.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4DjD,wBAAgB,uBAAuB,IAAI,aAAa,CAcvD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { INTERVIEW_MECHANICS } from '../fragments/interview.js';
|
|
2
2
|
import { nextStepLabelRule } from '../fragments/next-step.js';
|
|
3
|
-
const EXPLORE_BODY = `**
|
|
3
|
+
const EXPLORE_BODY = `**Explore is for thinking, not implementing.** Read files, search code, and run read-only \`tospec\` commands; write no code and no artifact files. When the requirement converges, record any material decisions via \`tospec-decision\` first, then hand off to \`tospec-propose\` or \`tospec-issue\` — those write the files.
|
|
4
4
|
|
|
5
|
-
This is a
|
|
5
|
+
This is a structured interview, not a freeform chat: keep asking until you and the user share the same understanding of every branch that shapes the requirement.
|
|
6
6
|
|
|
7
7
|
**Interview mechanics**
|
|
8
8
|
|
|
@@ -40,7 +40,7 @@ ${INTERVIEW_MECHANICS}
|
|
|
40
40
|
|
|
41
41
|
6. **Always ask for the next step — never pick it yourself**
|
|
42
42
|
|
|
43
|
-
Once you've restated the understanding (and recorded any decision),
|
|
43
|
+
Once you've restated the understanding (and recorded any decision), put the next step to the user with \`AskUserQuestion\`. Apart from that ADR, explore doesn't start the next action itself — the user picks it.
|
|
44
44
|
|
|
45
45
|
One question, always these options, with your recommended one **first** and labelled "(Recommended)". ${nextStepLabelRule('the situation you just explored', '\`(propose)\`/\`(issue)\`, \`(grill)\`')} E.g. after settling a retry policy the first option might read "Write up the retry-limit change (propose)":
|
|
46
46
|
- **(propose)** (or **(issue)** when something is broken) — start writing the proposal via \`tospec-propose\`/\`tospec-issue\`.
|
|
@@ -70,17 +70,4 @@ ${EXPLORE_BODY}`,
|
|
|
70
70
|
allowedTools: ['Bash(tospec:*)', 'Read', 'Grep', 'Glob', 'AskUserQuestion'],
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
|
-
export function getTospecExploreCommandTemplate() {
|
|
74
|
-
return {
|
|
75
|
-
name: 'TOSPEC: Explore',
|
|
76
|
-
description: 'Interview the user to converge a fuzzy idea or problem into a concrete requirement',
|
|
77
|
-
category: 'Workflow',
|
|
78
|
-
tags: ['workflow', 'explore'],
|
|
79
|
-
content: `Interview the user about their idea or problem until it converges into something concrete enough to become a \`tospec-propose\` or \`tospec-issue\`.
|
|
80
|
-
|
|
81
|
-
**Input**: The argument after \`tospec-explore\` is whatever the user wants to think through — a vague idea, a specific problem, or a change name to explore in context of. May be empty.
|
|
82
|
-
|
|
83
|
-
${EXPLORE_BODY}`,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
73
|
//# sourceMappingURL=explore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explore.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/explore.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,YAAY,GAAG;;;;;;EAMnB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GAoCsF,iBAAiB,CAAC,iCAAiC,EAAE,wCAAwC,CAAC;;;;;;;;;;;;yHAYhF,CAAC;AAE1H,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,qRAAqR;QAClS,YAAY,EAAE;;;;EAIhB,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC5E,CAAC;AACJ,CAAC
|
|
1
|
+
{"version":3,"file":"explore.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/explore.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,YAAY,GAAG;;;;;;EAMnB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GAoCsF,iBAAiB,CAAC,iCAAiC,EAAE,wCAAwC,CAAC;;;;;;;;;;;;yHAYhF,CAAC;AAE1H,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,qRAAqR;QAClS,YAAY,EAAE;;;;EAIhB,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC5E,CAAC;AACJ,CAAC"}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* read-only, and — unlike explore — under no obligation to hand off or persist
|
|
7
7
|
* anything.
|
|
8
8
|
*/
|
|
9
|
-
import type { SkillTemplate
|
|
9
|
+
import type { SkillTemplate } from '../types.js';
|
|
10
10
|
export declare function getGrillSkillTemplate(): SkillTemplate;
|
|
11
|
-
export declare function getTospecGrillCommandTemplate(): CommandTemplate;
|
|
12
11
|
//# sourceMappingURL=grill.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grill.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/grill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"grill.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/grill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiDjD,wBAAgB,qBAAqB,IAAI,aAAa,CAcrD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { INTERVIEW_MECHANICS } from '../fragments/interview.js';
|
|
2
2
|
import { nextStepLabelRule } from '../fragments/next-step.js';
|
|
3
|
-
const GRILL_BODY = `**
|
|
3
|
+
const GRILL_BODY = `**Grill is read-only pressure-testing, not building.** Read files, search code, and run read-only \`tospec\` commands; write no code, source edits, or artifact files. Grill writes nothing itself — when the interrogation lands something worth persisting, it delegates to the skill that owns that write (\`tospec-decision\` for a settled decision, \`tospec-update\` for a change's artifacts).
|
|
4
4
|
|
|
5
5
|
This is a relentless interrogation of whatever is on the table — a plan, a decision, an idea, a design. Stress-test it until every assumption is named and every open question is either answered or explicitly parked.
|
|
6
6
|
|
|
@@ -59,17 +59,4 @@ ${GRILL_BODY}`,
|
|
|
59
59
|
allowedTools: ['Bash(tospec:*)', 'Read', 'Grep', 'Glob', 'AskUserQuestion'],
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
|
-
export function getTospecGrillCommandTemplate() {
|
|
63
|
-
return {
|
|
64
|
-
name: 'TOSPEC: Grill',
|
|
65
|
-
description: 'Pressure-test any artifact through a relentless four-quadrant Known/Unknown interrogation',
|
|
66
|
-
category: 'Workflow',
|
|
67
|
-
tags: ['workflow', 'grill'],
|
|
68
|
-
content: `Grill any artifact the user hands you — a plan, decision, idea, or design — through the four-quadrant Known/Unknown frame until every assumption is named and the understanding is shared and confirmed.
|
|
69
|
-
|
|
70
|
-
**Input**: The argument after \`tospec-grill\` is whatever the user wants stress-tested — a plan file, a recorded decision, a raw idea, or a change name to interrogate in context of. May be empty, in which case resolve the target per "Pick the target first" below — never assume one.
|
|
71
|
-
|
|
72
|
-
${GRILL_BODY}`,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
62
|
//# sourceMappingURL=grill.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grill.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/grill.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BjB,mBAAmB;;;;;;;;;;;0DAWqC,iBAAiB,CAAC,mCAAmC,EAAE,sDAAsD,CAAC;;;;;;oHAMpD,CAAC;AAErH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,mVAAmV;QAChW,YAAY,EAAE;;;;EAIhB,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC5E,CAAC;AACJ,CAAC
|
|
1
|
+
{"version":3,"file":"grill.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/grill.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BjB,mBAAmB;;;;;;;;;;;0DAWqC,iBAAiB,CAAC,mCAAmC,EAAE,sDAAsD,CAAC;;;;;;oHAMpD,CAAC;AAErH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,mVAAmV;QAChW,YAAY,EAAE;;;;EAIhB,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC5E,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { SkillTemplate
|
|
1
|
+
import type { SkillTemplate } from '../types.js';
|
|
2
2
|
export declare function getTospecIssueSkillTemplate(): SkillTemplate;
|
|
3
|
-
export declare function getTospecIssueCommandTemplate(): CommandTemplate;
|
|
4
3
|
//# sourceMappingURL=issue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/issue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/issue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmEjD,wBAAgB,2BAA2B,IAAI,aAAa,CAc3D"}
|
|
@@ -25,13 +25,13 @@ const ISSUE_BODY = `Diagnose before you propose a fix. Jumping to a hypothesis b
|
|
|
25
25
|
|
|
26
26
|
Do not skip this to go read code and form a theory. No red-capable command, no hypotheses.
|
|
27
27
|
|
|
28
|
-
4. **Rank
|
|
28
|
+
4. **Rank falsifiable hypotheses**
|
|
29
29
|
|
|
30
|
-
Each hypothesis must predict something checkable: "if X is the cause, changing Y makes the bug disappear." A hypothesis you can't falsify is a vibe — sharpen it or drop it. Show the ranked list to the user before testing; they often have context that instantly re-ranks it ("we just touched that module").
|
|
30
|
+
List as many as the evidence genuinely supports — when the feedback loop already points at one cause, one or two is fine. Each hypothesis must predict something checkable: "if X is the cause, changing Y makes the bug disappear." A hypothesis you can't falsify is a vibe — sharpen it or drop it. Show the ranked list to the user before testing; they often have context that instantly re-ranks it ("we just touched that module").
|
|
31
31
|
|
|
32
32
|
5. **Verify hypotheses one at a time**
|
|
33
33
|
|
|
34
|
-
Change one variable per probe.
|
|
34
|
+
Change one variable per probe. Tag any temporary debug logging with a unique prefix (\`[DEBUG-xxxx]\`) so cleanup is one grep. Stop at the first hypothesis the loop from step 3 confirms.
|
|
35
35
|
|
|
36
36
|
6. **Write the diagnosis into task.md**
|
|
37
37
|
\`\`\`bash
|
|
@@ -58,7 +58,7 @@ Summarize the confirmed root cause, the fix plan, and prompt: "Run \`tospec-appl
|
|
|
58
58
|
**Guardrails**
|
|
59
59
|
- The ticket file and its timestamp are CLI-generated — never create, rename, or move ticket files; only edit the Summary in the existing stub
|
|
60
60
|
- No hypotheses before a red-capable feedback loop exists
|
|
61
|
-
-
|
|
61
|
+
- Ranked, falsifiable hypotheses — as many as the evidence supports, never an unverified guess
|
|
62
62
|
- Root cause must be verified, not assumed — state how you confirmed it
|
|
63
63
|
- Every Test Plan item maps to a task, or the Test Plan says why it needs none
|
|
64
64
|
- Don't write \`specs\` unless the fix actually changes external behavior`;
|
|
@@ -77,17 +77,4 @@ ${ISSUE_BODY}`,
|
|
|
77
77
|
allowedTools: ['Bash', 'Read', 'Write', 'Edit', 'Grep', 'Glob', 'AskUserQuestion'],
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
|
-
export function getTospecIssueCommandTemplate() {
|
|
81
|
-
return {
|
|
82
|
-
name: 'TOSPEC: Issue',
|
|
83
|
-
description: 'Diagnose a reported bug to a verified root cause and produce an issue change',
|
|
84
|
-
category: 'Workflow',
|
|
85
|
-
tags: ['workflow', 'issue', 'debugging'],
|
|
86
|
-
content: `Diagnose a bug to a verified root cause and produce an issue change (ticket stub + task) — ready for \`tospec-apply\`.
|
|
87
|
-
|
|
88
|
-
**Input**: The argument after \`tospec-issue\` describes the symptom (what's broken) and, ideally, how to reproduce it.
|
|
89
|
-
|
|
90
|
-
${ISSUE_BODY}`,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
80
|
//# sourceMappingURL=issue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/issue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkDd,qBAAqB;;;;;;;;;;;;0EAYgD,CAAC;AAE3E,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,6NAA6N;QAC1O,YAAY,EAAE;;;;EAIhB,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KACnF,CAAC;AACJ,CAAC
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/issue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkDd,qBAAqB;;;;;;;;;;;;0EAYgD,CAAC;AAE3E,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,6NAA6N;QAC1O,YAAY,EAAE;;;;EAIhB,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KACnF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { SkillTemplate
|
|
1
|
+
import type { SkillTemplate } from '../types.js';
|
|
2
2
|
export declare function getTospecProposeSkillTemplate(): SkillTemplate;
|
|
3
|
-
export declare function getTospecProposeCommandTemplate(): CommandTemplate;
|
|
4
3
|
//# sourceMappingURL=propose.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propose.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/propose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"propose.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/propose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA8DjD,wBAAgB,6BAA6B,IAAI,aAAa,CAc7D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VALIDATE_VERDICT_RULE } from '../fragments/validate.js';
|
|
2
2
|
const PROPOSE_BODY = `Do NOT re-interview the user — synthesize what's already in the conversation (or from a prior \`tospec-explore\`). If the requirement is still fuzzy, send them to \`tospec-explore\` first instead of guessing.
|
|
3
3
|
|
|
4
|
-
**Planning boundary**:
|
|
4
|
+
**Planning boundary**: The request that triggered this workflow authorizes planning only, even if it asks to build or fix something. Do not edit project code, and do not start implementation in the same response: present the artifacts, then wait for a new user request before starting \`tospec-apply\`.
|
|
5
5
|
|
|
6
6
|
**Steps**
|
|
7
7
|
|
|
@@ -72,17 +72,4 @@ ${PROPOSE_BODY}`,
|
|
|
72
72
|
allowedTools: ['Bash(tospec:*)', 'Read', 'Write', 'Edit', 'Grep', 'Glob', 'AskUserQuestion'],
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
-
export function getTospecProposeCommandTemplate() {
|
|
76
|
-
return {
|
|
77
|
-
name: 'TOSPEC: Propose',
|
|
78
|
-
description: 'Synthesize an already-discussed requirement into a complete sdd change',
|
|
79
|
-
category: 'Workflow',
|
|
80
|
-
tags: ['workflow', 'sdd', 'artifacts'],
|
|
81
|
-
content: `Turn a converged requirement into a complete sdd change: proposal, delta specs, design, and tracer-bullet tasks (the ticket stub is auto-generated) — ready for \`tospec-apply\`.
|
|
82
|
-
|
|
83
|
-
**Input**: The argument after \`tospec-propose\` is the change name (kebab-case), or a description to derive one from. Relies on requirement context already in the conversation — if that's missing, run \`tospec-explore\` first.
|
|
84
|
-
|
|
85
|
-
${PROPOSE_BODY}`,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
75
|
//# sourceMappingURL=propose.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propose.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/propose.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2ChB,qBAAqB;;;;;;;;;;;;;;gIAcsG,CAAC;AAEjI,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,kRAAkR;QAC/R,YAAY,EAAE;;;;EAIhB,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC
|
|
1
|
+
{"version":3,"file":"propose.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/propose.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2ChB,qBAAqB;;;;;;;;;;;;;;gIAcsG,CAAC;AAEjI,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,kRAAkR;QAC/R,YAAY,EAAE;;;;EAIhB,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC"}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* decides whether a sync is warranted and runs this procedure without asking.
|
|
4
4
|
* Step 4's judge-before-write gate is what makes running it unannounced safe.
|
|
5
5
|
*/
|
|
6
|
-
import type { SkillTemplate
|
|
6
|
+
import type { SkillTemplate } from '../types.js';
|
|
7
7
|
export declare function getTospecSyncSkillTemplate(): SkillTemplate;
|
|
8
|
-
export declare function getTospecSyncCommandTemplate(): CommandTemplate;
|
|
9
8
|
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA+EjD,wBAAgB,0BAA0B,IAAI,aAAa,CAc1D"}
|
|
@@ -89,17 +89,4 @@ ${SYNC_BODY}`,
|
|
|
89
89
|
allowedTools: ['Bash(tospec:*)', 'Read', 'Write', 'Edit', 'Grep', 'Glob'],
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
|
-
export function getTospecSyncCommandTemplate() {
|
|
93
|
-
return {
|
|
94
|
-
name: 'TOSPEC: Sync',
|
|
95
|
-
description: 'Sync specs against the implementation, code as source of truth',
|
|
96
|
-
category: 'Workflow',
|
|
97
|
-
tags: ['workflow', 'sync', 'archive-gate'],
|
|
98
|
-
content: `Sync \`specs/\` against the implementation for every Requirement this change touched — code wins on any mismatch. Run this before \`tospec-archive\` when the change's specs may have drifted from the code.
|
|
99
|
-
|
|
100
|
-
**Input**: The argument after \`tospec-sync\` is the change name to sync.
|
|
101
|
-
|
|
102
|
-
${SYNC_BODY}`,
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
92
|
//# sourceMappingURL=sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/sync.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yFA4DuE,qBAAqB;;;;;;;;;;;;;;mQAcqJ,CAAC;AAEpQ,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,mMAAmM;QAChN,YAAY,EAAE;;;;EAIhB,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAC1E,CAAC;AACJ,CAAC
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/sync.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yFA4DuE,qBAAqB;;;;;;;;;;;;;;mQAcqJ,CAAC;AAEpQ,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,mMAAmM;QAChN,YAAY,EAAE;;;;EAIhB,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAC1E,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { SkillTemplate
|
|
1
|
+
import type { SkillTemplate } from '../types.js';
|
|
2
2
|
export declare function getTospecUpdateSkillTemplate(): SkillTemplate;
|
|
3
|
-
export declare function getTospecUpdateCommandTemplate(): CommandTemplate;
|
|
4
3
|
//# sourceMappingURL=update.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAuEjD,wBAAgB,4BAA4B,IAAI,aAAa,CAc5D"}
|
|
@@ -4,7 +4,7 @@ const UPDATE_BODY = `**Steps**
|
|
|
4
4
|
|
|
5
5
|
1. **Select the change**
|
|
6
6
|
|
|
7
|
-
If the user named one, use it. Otherwise run \`tospec list --json\` and let the user pick with \`AskUserQuestion\`
|
|
7
|
+
If the user named one, or the conversation hands over exactly one (e.g. a \`tospec-grill\` handoff), use it. Otherwise run \`tospec list --json\` and let the user pick with \`AskUserQuestion\` rather than guessing. Offer the 3-4 most recently modified, each labelled with its name, its status (from \`completedTasks\`/\`totalTasks\`/\`status\`) and how recently it changed (from \`lastModified\`), with the most recent marked "(Recommended)".
|
|
8
8
|
|
|
9
9
|
2. **Get the change's artifacts**
|
|
10
10
|
\`\`\`bash
|
|
@@ -46,7 +46,7 @@ const UPDATE_BODY = `**Steps**
|
|
|
46
46
|
\`\`\`
|
|
47
47
|
Skip this only when no file was written. ${VALIDATE_VERDICT_RULE}
|
|
48
48
|
|
|
49
|
-
7. **Point to the next step (
|
|
49
|
+
7. **Point to the next step (suggest it; don't run it)**
|
|
50
50
|
${nextStepLabelRule('where this change actually stands', '\`(propose)\`/\`(issue)\`, \`(apply)\`, \`(archive)\`')}
|
|
51
51
|
- Artifacts still missing → suggest **(propose)** (sdd) or **(issue)** via \`tospec-propose\`/\`tospec-issue\` to create them.
|
|
52
52
|
- Change already implemented (tasks checked off / already applied) → the code may no longer match the revised plan; suggest **(apply)** via \`tospec-apply\`.
|
|
@@ -60,7 +60,7 @@ After each invocation, show:
|
|
|
60
60
|
- Where the change stands and the recommended next command
|
|
61
61
|
|
|
62
62
|
**Guardrails**
|
|
63
|
-
- Planning artifacts only —
|
|
63
|
+
- Planning artifacts only — leave implementation code untouched. If the revised plan implies code changes, stop and point to \`tospec-apply\`.
|
|
64
64
|
- Use the artifact ids and paths reported by \`tospec status\`; never branch on hardcoded artifact names.
|
|
65
65
|
- Edit only the concrete files in \`existingOutputPaths\`; never write to a glob \`resolvedOutputPath\`.
|
|
66
66
|
- Stay behind the build frontier: revise what exists, and leave new artifacts and new glob files to \`tospec-propose\`/\`tospec-issue\`.
|
|
@@ -72,7 +72,7 @@ export function getTospecUpdateSkillTemplate() {
|
|
|
72
72
|
description: "Update a change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Never edits code.",
|
|
73
73
|
instructions: `Revise a change's existing planning artifacts and keep them coherent. Never edit code.
|
|
74
74
|
|
|
75
|
-
**Input**: Optionally specify a change name.
|
|
75
|
+
**Input**: Optionally specify a change name.
|
|
76
76
|
|
|
77
77
|
${UPDATE_BODY}`,
|
|
78
78
|
license: 'MIT',
|
|
@@ -81,17 +81,4 @@ ${UPDATE_BODY}`,
|
|
|
81
81
|
allowedTools: ['Bash(tospec:*)', 'Read', 'Write', 'Edit', 'Grep', 'Glob', 'AskUserQuestion'],
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
|
-
export function getTospecUpdateCommandTemplate() {
|
|
85
|
-
return {
|
|
86
|
-
name: 'TOSPEC: Update',
|
|
87
|
-
description: 'Update a change - revise existing planning artifacts and keep them coherent',
|
|
88
|
-
category: 'Workflow',
|
|
89
|
-
tags: ['workflow', 'artifacts'],
|
|
90
|
-
content: `Revise a change's existing planning artifacts and keep them coherent. Never edit code.
|
|
91
|
-
|
|
92
|
-
**Input**: Optionally specify a change name after \`tospec-update\` (e.g., \`tospec-update add-auth\`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
|
|
93
|
-
|
|
94
|
-
${UPDATE_BODY}`,
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
84
|
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CA4C0B,qBAAqB;;;KAG9D,iBAAiB,CAAC,mCAAmC,EAAE,uDAAuD,CAAC;;;;;;;;;;;;;;;;;;oLAkBgE,CAAC;AAErL,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oPAAoP;QACjQ,YAAY,EAAE;;;;EAIhB,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CA4C0B,qBAAqB;;;KAG9D,iBAAiB,CAAC,mCAAmC,EAAE,uDAAuD,CAAC;;;;;;;;;;;;;;;;;;oLAkBgE,CAAC;AAErL,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oPAAoP;QACjQ,YAAY,EAAE;;;;EAIhB,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/core/update.ts"],"names":[],"mappings":"AAAA,oDAAoD;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/core/update.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAgCpD,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAgC,CAAC;AAE5F,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAE/B,YAAY,OAAO,GAAE,oBAAyB,EAG7C;IAED;;;OAGG;IACH,OAAO,CAAC,GAAG;IAIX;;;;OAIG;IACH,OAAO,CAAC,IAAI;IAQZ,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IAElD,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqOhD;IAED;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,cAAc;IAkBtB;;;OAGG;IACH,OAAO,CAAC,+BAA+B;CAkBxC"}
|
package/dist/core/update.js
CHANGED
|
@@ -4,7 +4,7 @@ import * as fs from 'fs';
|
|
|
4
4
|
import { createRequire } from 'module';
|
|
5
5
|
import { FileSystemUtils } from '../utils/file-system.js';
|
|
6
6
|
import { AI_TOOLS, TOSPEC_DIR_NAME, dependencyToolIds } from './config.js';
|
|
7
|
-
import { getToolVersionStatus, getSkillTemplates, writeSkillDir, getConfiguredTools, removeLegacySkillDirs, removeUnselectedSkillDirs, removeLegacyToolSkillLayout,
|
|
7
|
+
import { getToolVersionStatus, getSkillTemplates, writeSkillDir, getConfiguredTools, removeLegacySkillDirs, removeUnselectedSkillDirs, removeLegacyToolSkillLayout, findWorkflowReferenceGaps, describeWorkflowReferenceGaps, } from './shared/index.js';
|
|
8
8
|
import { getGlobalConfig } from './global-config.js';
|
|
9
9
|
import { runLegacyUserStateMigration } from './user-state-migration.js';
|
|
10
10
|
import { getProfileWorkflows, ALL_WORKFLOWS } from './profiles.js';
|
|
@@ -148,9 +148,10 @@ export class UpdateCommand {
|
|
|
148
148
|
await removeLegacySkillDirs(agentsSkillsDir);
|
|
149
149
|
await fs.promises.rm(path.join(resolvedProjectPath, '.agents', 'commands'), { recursive: true, force: true });
|
|
150
150
|
await fs.promises.rm(path.join(resolvedProjectPath, '.cursor', 'commands'), { recursive: true, force: true });
|
|
151
|
-
//
|
|
152
|
-
//
|
|
151
|
+
// Every workflow ships as a skill only, so both slash-command namespaces an
|
|
152
|
+
// earlier version wrote (`tospec`, then `tosx`) are dropped.
|
|
153
153
|
await fs.promises.rm(path.join(resolvedProjectPath, '.claude', 'commands', 'tospec'), { recursive: true, force: true });
|
|
154
|
+
await fs.promises.rm(path.join(resolvedProjectPath, '.claude', 'commands', 'tosx'), { recursive: true, force: true });
|
|
154
155
|
// Deselected workflows are swept canonically too: the per-tool cleanup below
|
|
155
156
|
// reaches only that tool's copy, leaving a stale entry in .agents/. The same
|
|
156
157
|
// helper init uses, so a dir generated under a name WORKFLOW_DEFS no longer
|
|
@@ -183,9 +184,6 @@ export class UpdateCommand {
|
|
|
183
184
|
}
|
|
184
185
|
}
|
|
185
186
|
removedDeselectedSkillCount += await removeUnselectedSkillDirs(skillsDir, desiredWorkflows);
|
|
186
|
-
// Tools with an adapter (Claude Code) get
|
|
187
|
-
// `.claude/commands/tosx/<id>.md`, invocable as `/tosx:<id>`.
|
|
188
|
-
await writeToolCommands(resolvedProjectPath, tool.value, desiredWorkflows);
|
|
189
187
|
this.say(`${refreshOnly ? 'Refreshed' : 'Updated'} ${tool.name}`);
|
|
190
188
|
updatedTools.push(tool.name);
|
|
191
189
|
}
|
package/dist/core/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/core/update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/core/update.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seanmars/tospec",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "Spec-driven development CLI for structured requirements and issue workflows",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://www.npmjs.com/package/@seanmars/tospec",
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"build": "node build.js",
|
|
53
53
|
"skills": "node build.js && node scripts/gen-skills.mjs",
|
|
54
54
|
"templates": "node scripts/gen-templates.mjs",
|
|
55
|
+
"guide": "node scripts/build-guide.mjs",
|
|
55
56
|
"dev": "tsc --watch",
|
|
56
57
|
"test": "vitest run"
|
|
57
58
|
}
|
|
@@ -3,7 +3,7 @@ version: 1
|
|
|
3
3
|
description: Architecture Decision Record (ADR) workflow
|
|
4
4
|
artifacts:
|
|
5
5
|
# decision is created by the dedicated `tospec decision` command at
|
|
6
|
-
# tospec/decisions/<
|
|
6
|
+
# tospec/decisions/<yyyyMMdd_HHmmss>-<topic>.md; it does not go through the change
|
|
7
7
|
# directory. This artifact only serves as the template and section-validation
|
|
8
8
|
# data contract.
|
|
9
9
|
- id: decision
|
|
@@ -44,7 +44,7 @@ apply:
|
|
|
44
44
|
requires: [task]
|
|
45
45
|
tracks: task.md
|
|
46
46
|
instruction: |
|
|
47
|
-
Fix per task.md
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
Fix the root cause per task.md and confirm it with task.md's feedback loop,
|
|
48
|
+
keeping the existing suite green. Whether a new regression test is required,
|
|
49
|
+
and whether it must go red first, is set by the apply skill in use
|
|
50
|
+
(tospec-apply-with-tdd mandates it), not here. Verify the fix matches task.md.
|
package/schemas/sdd/schema.yaml
CHANGED
|
@@ -106,6 +106,7 @@ apply:
|
|
|
106
106
|
requires: [tasks]
|
|
107
107
|
tracks: tasks.md
|
|
108
108
|
instruction: |
|
|
109
|
-
Execute tasks.md
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
Execute tasks.md slice by slice, including the test tasks it lists; test only
|
|
110
|
+
the seam design.md chose. Whether each test must go red before its
|
|
111
|
+
implementation is set by the apply skill in use (tospec-apply-with-tdd
|
|
112
|
+
mandates it), not here. When done, verify behavior against the specs.
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ToolCommandAdapter } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* The `tosx` sub-folder becomes the command namespace, so what lands at
|
|
4
|
-
* `.claude/commands/tosx/<id>.md` is invoked as `/tosx:<id>`.
|
|
5
|
-
*/
|
|
6
|
-
export declare const claudeAdapter: ToolCommandAdapter;
|
|
7
|
-
//# sourceMappingURL=claude.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../../src/core/command-generation/adapters/claude.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQtE;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,kBAkB3B,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import { escapeYamlValue } from '../yaml.js';
|
|
3
|
-
function formatTagsArray(tags) {
|
|
4
|
-
const escapedTags = tags.map((tag) => escapeYamlValue(tag));
|
|
5
|
-
return `[${escapedTags.join(', ')}]`;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* The `tosx` sub-folder becomes the command namespace, so what lands at
|
|
9
|
-
* `.claude/commands/tosx/<id>.md` is invoked as `/tosx:<id>`.
|
|
10
|
-
*/
|
|
11
|
-
export const claudeAdapter = {
|
|
12
|
-
toolId: 'claude',
|
|
13
|
-
getFilePath(commandId) {
|
|
14
|
-
return path.join('.claude', 'commands', 'tosx', `${commandId}.md`);
|
|
15
|
-
},
|
|
16
|
-
formatFile(content) {
|
|
17
|
-
return `---
|
|
18
|
-
name: ${escapeYamlValue(content.name)}
|
|
19
|
-
description: ${escapeYamlValue(content.description)}
|
|
20
|
-
category: ${escapeYamlValue(content.category)}
|
|
21
|
-
tags: ${formatTagsArray(content.tags)}
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
${content.body}
|
|
25
|
-
`;
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=claude.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/core/command-generation/adapters/claude.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,SAAS,eAAe,CAAC,IAAc;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAuB;IAC/C,MAAM,EAAE,QAAQ;IAEhB,WAAW,CAAC,SAAiB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,UAAU,CAAC,OAAuB;QAChC,OAAO;QACH,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;eACtB,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC;YACvC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;;;EAGnC,OAAO,CAAC,IAAI;CACb,CAAC;IACA,CAAC;CACF,CAAC"}
|