@gitwhy-cli/whyspec 0.1.19 → 0.1.21
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/dist/adapters/claude-code.d.ts +1 -1
- package/dist/adapters/claude-code.d.ts.map +1 -1
- package/dist/adapters/claude-code.js +8 -10
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/types.d.ts +1 -1
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +57 -99
- package/dist/commands/init.js.map +1 -1
- package/dist/ui/welcome.d.ts.map +1 -1
- package/dist/ui/welcome.js +6 -16
- package/dist/ui/welcome.js.map +1 -1
- package/package.json +1 -1
- package/skill-sources/whyspec-capture/SKILL.md +3 -3
- package/skill-sources/whyspec-debug/SKILL.md +1 -1
- package/skill-sources/whyspec-execute/SKILL.md +5 -5
- package/skill-sources/whyspec-plan/SKILL.md +9 -9
- package/skill-sources/whyspec-search/SKILL.md +6 -6
- package/skill-sources/whyspec-show/SKILL.md +4 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { GeneratedFile, WhySpecCommand } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Generate compact instructions for each WhySpec command.
|
|
4
|
-
* Used by adapters that embed skill content (Codex, Claude
|
|
4
|
+
* Used by adapters that embed skill content (Codex, Claude Code skills).
|
|
5
5
|
* The canonical full-length skills live in skills/whyspec-{cmd}/SKILL.md.
|
|
6
6
|
*/
|
|
7
7
|
export declare function getSkillInstructions(command: WhySpecCommand): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAIb,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CA+IpE;AAED,wBAAgB,0BAA0B,CACxC,WAAW,GAAE,MAAW,GACvB,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAIb,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CA+IpE;AAED,wBAAgB,0BAA0B,CACxC,WAAW,GAAE,MAAW,GACvB,aAAa,EAAE,CAmBjB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WHYSPEC_COMMANDS, COMMAND_DESCRIPTIONS, COMMAND_ARGUMENT_HINTS, } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Generate compact instructions for each WhySpec command.
|
|
4
|
-
* Used by adapters that embed skill content (Codex, Claude
|
|
4
|
+
* Used by adapters that embed skill content (Codex, Claude Code skills).
|
|
5
5
|
* The canonical full-length skills live in skills/whyspec-{cmd}/SKILL.md.
|
|
6
6
|
*/
|
|
7
7
|
export function getSkillInstructions(command) {
|
|
@@ -9,7 +9,7 @@ export function getSkillInstructions(command) {
|
|
|
9
9
|
case "plan":
|
|
10
10
|
return `Plan a change — create intent.md, design.md, and tasks.md with the Decision Bridge.
|
|
11
11
|
|
|
12
|
-
When ready to implement, run \`/whyspec
|
|
12
|
+
When ready to implement, run \`/whyspec-execute\`
|
|
13
13
|
|
|
14
14
|
## Workflow
|
|
15
15
|
|
|
@@ -39,7 +39,7 @@ When ready to implement, run \`/whyspec:execute\`
|
|
|
39
39
|
case "execute":
|
|
40
40
|
return `Implement a change — read the plan, work through tasks, commit atomically.
|
|
41
41
|
|
|
42
|
-
When all tasks are done, run \`/whyspec
|
|
42
|
+
When all tasks are done, run \`/whyspec-capture\`
|
|
43
43
|
|
|
44
44
|
## Workflow
|
|
45
45
|
|
|
@@ -66,7 +66,7 @@ When all tasks are done, run \`/whyspec:capture\`
|
|
|
66
66
|
case "capture":
|
|
67
67
|
return `Capture reasoning — resolve the Decision Bridge and preserve the full story.
|
|
68
68
|
|
|
69
|
-
View the complete story with \`/whyspec
|
|
69
|
+
View the complete story with \`/whyspec-show\`
|
|
70
70
|
|
|
71
71
|
## Workflow
|
|
72
72
|
|
|
@@ -102,7 +102,7 @@ View the complete story with \`/whyspec:show\`
|
|
|
102
102
|
|
|
103
103
|
## Important
|
|
104
104
|
- The Decision Bridge delta is the core value — always show it.
|
|
105
|
-
- If context hasn't been captured, suggest running /whyspec
|
|
105
|
+
- If context hasn't been captured, suggest running /whyspec-capture.`;
|
|
106
106
|
case "search":
|
|
107
107
|
return `Search reasoning — find past decisions and contexts across all changes.
|
|
108
108
|
|
|
@@ -152,12 +152,10 @@ export function generateClaudeCodeCommands(projectRoot = "") {
|
|
|
152
152
|
`argument-hint: ${COMMAND_ARGUMENT_HINTS[command]}`,
|
|
153
153
|
"---",
|
|
154
154
|
].join("\n");
|
|
155
|
-
const instructions = getSkillInstructions(command)
|
|
156
|
-
|
|
157
|
-
.replaceAll("Run /whyspec:", "Run /whyspec:");
|
|
158
|
-
const invocationLine = `Invoke this command as \`/whyspec:${command}\`.`;
|
|
155
|
+
const instructions = getSkillInstructions(command);
|
|
156
|
+
const invocationLine = `Invoke this command as \`/whyspec-${command}\`.`;
|
|
159
157
|
return {
|
|
160
|
-
path: `${prefix}
|
|
158
|
+
path: `${prefix}skills/whyspec-${command}/SKILL.md`,
|
|
161
159
|
content: `${frontmatter}\n\n${invocationLine}\n\n${instructions}\n`,
|
|
162
160
|
};
|
|
163
161
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,GAEvB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;kFA4BqE,CAAC;QAE/E,KAAK,SAAS;YACZ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;sEAyByD,CAAC;QAEnE,KAAK,SAAS;YACZ,OAAO;;;;;;;;;;;;;;;;;;;;;6EAqBgE,CAAC;QAE1E,KAAK,MAAM;YACT,OAAO;;;;;;;;;;;;;;;qEAewD,CAAC;QAElE,KAAK,QAAQ;YACX,OAAO;;;;;;;;;;;;;iFAaoE,CAAC;QAE9E,KAAK,OAAO;YACV,OAAO;;;;;;;;;;;;;;;;;;;;;oEAqBuD,CAAC;IACnE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,cAAsB,EAAE;IAExB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACtC,MAAM,WAAW,GAAG;YAClB,KAAK;YACL,gBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE;YAC/C,kBAAkB,sBAAsB,CAAC,OAAO,CAAC,EAAE;YACnD,KAAK;SACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,GAEvB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;kFA4BqE,CAAC;QAE/E,KAAK,SAAS;YACZ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;sEAyByD,CAAC;QAEnE,KAAK,SAAS;YACZ,OAAO;;;;;;;;;;;;;;;;;;;;;6EAqBgE,CAAC;QAE1E,KAAK,MAAM;YACT,OAAO;;;;;;;;;;;;;;;qEAewD,CAAC;QAElE,KAAK,QAAQ;YACX,OAAO;;;;;;;;;;;;;iFAaoE,CAAC;QAE9E,KAAK,OAAO;YACV,OAAO;;;;;;;;;;;;;;;;;;;;;oEAqBuD,CAAC;IACnE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,cAAsB,EAAE;IAExB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACtC,MAAM,WAAW,GAAG;YAClB,KAAK;YACL,gBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE;YAC/C,kBAAkB,sBAAsB,CAAC,OAAO,CAAC,EAAE;YACnD,KAAK;SACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,qCAAqC,OAAO,KAAK,CAAC;QAEzE,OAAO;YACL,IAAI,EAAE,GAAG,MAAM,kBAAkB,OAAO,WAAW;YACnD,OAAO,EAAE,GAAG,WAAW,OAAO,cAAc,OAAO,YAAY,IAAI;SACpE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/adapters/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Adapters return these; the caller handles writing to disk.
|
|
4
4
|
*/
|
|
5
5
|
export interface GeneratedFile {
|
|
6
|
-
/** Relative path from project root (e.g., "
|
|
6
|
+
/** Relative path from project root (e.g., "skills/whyspec-plan/SKILL.md") */
|
|
7
7
|
path: string;
|
|
8
8
|
/** File content */
|
|
9
9
|
content: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,oEAOnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D;;mEAEmE;AACnE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAO/D,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAOjE,CAAC"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface ConfigOptions {
|
|
|
5
5
|
telemetry: boolean;
|
|
6
6
|
}
|
|
7
7
|
export declare function createGitwhyDir(root: string): void;
|
|
8
|
-
export declare function
|
|
8
|
+
export declare function removeLegacyGitwhyAlias(root: string): boolean;
|
|
9
9
|
export declare function writeConfigYaml(root: string, opts: ConfigOptions): void;
|
|
10
10
|
export declare function addToGitignore(root: string): void;
|
|
11
11
|
export declare function ensureVsCodeShowsGitwhy(root: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQlD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CA0B7D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAwBvE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAuBjD;AAsED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAoB1D;AAkGD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAkBrE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAIpE;AAID,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CActD;AAID,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA6I7C"}
|
package/dist/commands/init.js
CHANGED
|
@@ -7,11 +7,9 @@ import YAML from "yaml";
|
|
|
7
7
|
import { renderWelcomeScreen, renderTelemetryNotice, renderSuccessMessage } from "../ui/welcome.js";
|
|
8
8
|
import { promptToolPicker, needsAgentsMd } from "../ui/tool-picker.js";
|
|
9
9
|
import { readConfig } from "../core/config.js";
|
|
10
|
-
import { generateClaudeCodeCommands } from "../adapters/claude-code.js";
|
|
11
10
|
import { generateCursorCommands } from "../adapters/cursor.js";
|
|
12
11
|
import { generateCodexSkills } from "../adapters/codex.js";
|
|
13
12
|
import { generateAgentsMd as generateAgentsMdAdapter } from "../adapters/agents-md.js";
|
|
14
|
-
import { COMMAND_ARGUMENT_HINTS, COMMAND_DESCRIPTIONS } from "../adapters/types.js";
|
|
15
13
|
// ── Filesystem helpers (testable, accept root) ───────────────────────
|
|
16
14
|
export function createGitwhyDir(root) {
|
|
17
15
|
const gitwhyDir = path.join(root, ".gitwhy");
|
|
@@ -22,53 +20,27 @@ export function createGitwhyDir(root) {
|
|
|
22
20
|
fs.mkdirSync(archiveDir, { recursive: true });
|
|
23
21
|
fs.mkdirSync(debugDir, { recursive: true });
|
|
24
22
|
}
|
|
25
|
-
export function
|
|
26
|
-
if (!tools.includes("codex")) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
23
|
+
export function removeLegacyGitwhyAlias(root) {
|
|
29
24
|
const helperPath = path.join(root, "gitwhy");
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return;
|
|
25
|
+
if (!fs.lstatSync(helperPath, { throwIfNoEntry: false })) {
|
|
26
|
+
return false;
|
|
33
27
|
}
|
|
34
|
-
|
|
28
|
+
const helperStat = fs.lstatSync(helperPath);
|
|
29
|
+
if (helperStat.isSymbolicLink()) {
|
|
35
30
|
fs.unlinkSync(helperPath);
|
|
31
|
+
return true;
|
|
36
32
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (!fs.existsSync(readmePath)) {
|
|
40
|
-
fs.writeFileSync(readmePath, [
|
|
41
|
-
"# WhySpec workspace",
|
|
42
|
-
"",
|
|
43
|
-
"This visible folder mirrors `.gitwhy/` for Codex file trees.",
|
|
44
|
-
"Edit files through `gitwhy/` or `.gitwhy/` interchangeably.",
|
|
45
|
-
"",
|
|
46
|
-
].join("\n"), "utf-8");
|
|
33
|
+
if (!helperStat.isDirectory()) {
|
|
34
|
+
return false;
|
|
47
35
|
}
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
];
|
|
54
|
-
for (const [name, sourcePath, linkType] of entries) {
|
|
55
|
-
const entryPath = path.join(helperPath, name);
|
|
56
|
-
if (fs.existsSync(entryPath)) {
|
|
57
|
-
if (fs.lstatSync(entryPath).isSymbolicLink()) {
|
|
58
|
-
const currentTarget = fs.realpathSync(entryPath);
|
|
59
|
-
const expectedTarget = fs.realpathSync(sourcePath);
|
|
60
|
-
if (currentTarget === expectedTarget) {
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
fs.unlinkSync(entryPath);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
const relativeTarget = path.relative(path.dirname(entryPath), sourcePath);
|
|
70
|
-
fs.symlinkSync(relativeTarget, entryPath, process.platform === "win32" ? "junction" : linkType);
|
|
36
|
+
const readmePath = path.join(helperPath, "README.md");
|
|
37
|
+
const readmeContent = fs.existsSync(readmePath) ? fs.readFileSync(readmePath, "utf-8") : "";
|
|
38
|
+
const isKnownLegacyHelper = readmeContent.includes("This visible folder mirrors `.gitwhy/` for Codex file trees.");
|
|
39
|
+
if (!isKnownLegacyHelper) {
|
|
40
|
+
return false;
|
|
71
41
|
}
|
|
42
|
+
fs.rmSync(helperPath, { recursive: true, force: true });
|
|
43
|
+
return true;
|
|
72
44
|
}
|
|
73
45
|
export function writeConfigYaml(root, opts) {
|
|
74
46
|
const config = {
|
|
@@ -96,31 +68,20 @@ export function addToGitignore(root) {
|
|
|
96
68
|
const gitignorePath = path.join(root, ".gitignore");
|
|
97
69
|
const gitDir = path.join(root, ".git");
|
|
98
70
|
const gitExcludePath = path.join(gitDir, "info", "exclude");
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
if (fs.existsSync(gitignorePath)) {
|
|
103
|
-
const content = fs.readFileSync(gitignorePath, "utf-8");
|
|
104
|
-
const lines = content.split("\n");
|
|
105
|
-
if (!lines.some((line) => line.trim() === entry)) {
|
|
106
|
-
const separator = content.endsWith("\n") ? "" : "\n";
|
|
107
|
-
fs.writeFileSync(gitignorePath, content + separator + entry + "\n", "utf-8");
|
|
71
|
+
const removeEntry = (filePath) => {
|
|
72
|
+
if (!fs.existsSync(filePath)) {
|
|
73
|
+
return;
|
|
108
74
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
// This prevents double-ignoring and completes the migration to .gitignore.
|
|
115
|
-
if (fs.existsSync(gitExcludePath)) {
|
|
116
|
-
const excludeContent = fs.readFileSync(gitExcludePath, "utf-8");
|
|
117
|
-
const excludeLines = excludeContent.split("\n");
|
|
118
|
-
if (excludeLines.some((line) => line.trim() === entry)) {
|
|
119
|
-
const filtered = excludeLines
|
|
120
|
-
.filter((line) => line.trim() !== entry);
|
|
121
|
-
fs.writeFileSync(gitExcludePath, filtered.join("\n"), "utf-8");
|
|
75
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
76
|
+
const lines = content.split("\n");
|
|
77
|
+
const filtered = lines.filter((line) => line.trim() !== entry);
|
|
78
|
+
if (filtered.length !== lines.length) {
|
|
79
|
+
fs.writeFileSync(filePath, filtered.join("\n"), "utf-8");
|
|
122
80
|
}
|
|
123
|
-
}
|
|
81
|
+
};
|
|
82
|
+
// Migration-only cleanup: keep .gitwhy visible and unmanaged by ignore files.
|
|
83
|
+
removeEntry(gitignorePath);
|
|
84
|
+
removeEntry(gitExcludePath);
|
|
124
85
|
}
|
|
125
86
|
const WHYSPEC_COMMANDS = ["plan", "execute", "capture", "show", "search", "debug"];
|
|
126
87
|
/** Write GeneratedFile[] to disk, creating directories as needed. */
|
|
@@ -196,8 +157,7 @@ export function ensureVsCodeShowsGitwhy(root) {
|
|
|
196
157
|
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + "\n", "utf-8");
|
|
197
158
|
}
|
|
198
159
|
/**
|
|
199
|
-
* Install authored skill files from
|
|
200
|
-
* Falls back to adapter-generated placeholders if authored files aren't available.
|
|
160
|
+
* Install authored skill files from skill-sources/ if they exist.
|
|
201
161
|
*/
|
|
202
162
|
function installAuthoredSkills(root, skillsSourceDir) {
|
|
203
163
|
if (!fs.existsSync(skillsSourceDir))
|
|
@@ -223,23 +183,28 @@ function installClaudeCommandsFromSkills(root, skillsSourceDir) {
|
|
|
223
183
|
if (!fs.existsSync(src)) {
|
|
224
184
|
continue;
|
|
225
185
|
}
|
|
226
|
-
const
|
|
227
|
-
const parts = raw.split("---");
|
|
228
|
-
const body = parts.length >= 3 ? parts.slice(2).join("---").trim() : raw.trim();
|
|
229
|
-
const frontmatter = [
|
|
230
|
-
"---",
|
|
231
|
-
`description: ${COMMAND_DESCRIPTIONS[cmd]}`,
|
|
232
|
-
`argument-hint: ${COMMAND_ARGUMENT_HINTS[cmd]}`,
|
|
233
|
-
"---",
|
|
234
|
-
].join("\n");
|
|
235
|
-
const content = `${frontmatter}\n\n${body.replaceAll("/whyspec-", "/whyspec:")}\n`;
|
|
236
|
-
const dest = path.join(root, `whyspec:${cmd}.md`);
|
|
186
|
+
const dest = path.join(root, "skills", `whyspec-${cmd}`, "SKILL.md");
|
|
237
187
|
fs.mkdirSync(path.dirname(dest), { recursive: true });
|
|
238
|
-
fs.
|
|
188
|
+
fs.copyFileSync(src, dest);
|
|
239
189
|
installed = true;
|
|
240
190
|
}
|
|
241
191
|
return installed;
|
|
242
192
|
}
|
|
193
|
+
function removeLegacyClaudeCommands(root) {
|
|
194
|
+
const commandsRoot = path.join(root, ".claude", "commands");
|
|
195
|
+
let removed = false;
|
|
196
|
+
for (const cmd of WHYSPEC_COMMANDS) {
|
|
197
|
+
const legacyPath = path.join(commandsRoot, `whyspec:${cmd}.md`);
|
|
198
|
+
if (fs.existsSync(legacyPath)) {
|
|
199
|
+
fs.rmSync(legacyPath, { force: true });
|
|
200
|
+
removed = true;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
if (removed && fs.existsSync(commandsRoot) && fs.readdirSync(commandsRoot).length === 0) {
|
|
204
|
+
fs.rmdirSync(commandsRoot);
|
|
205
|
+
}
|
|
206
|
+
return removed;
|
|
207
|
+
}
|
|
243
208
|
function removeLegacyClaudeSkills(root) {
|
|
244
209
|
const skillsRoot = path.join(root, ".claude", "skills");
|
|
245
210
|
let removed = false;
|
|
@@ -277,11 +242,9 @@ export function installSkillFiles(root, tools) {
|
|
|
277
242
|
const skillsDir = getSkillsSourceDir();
|
|
278
243
|
// Claude Code skills
|
|
279
244
|
if (tools.includes("claude-code")) {
|
|
245
|
+
removeLegacyClaudeCommands(root);
|
|
280
246
|
removeLegacyClaudeSkills(root);
|
|
281
|
-
|
|
282
|
-
if (!commandsInstalled) {
|
|
283
|
-
writeGeneratedFiles(root, generateClaudeCodeCommands());
|
|
284
|
-
}
|
|
247
|
+
installClaudeCommandsFromSkills(root, skillsDir);
|
|
285
248
|
}
|
|
286
249
|
// Cursor commands
|
|
287
250
|
if (tools.includes("cursor")) {
|
|
@@ -344,13 +307,14 @@ export async function runInit() {
|
|
|
344
307
|
let repaired = false;
|
|
345
308
|
// Check if skills need to be installed (e.g. prior crash before skill step)
|
|
346
309
|
if (tools.includes("claude-code")) {
|
|
347
|
-
const
|
|
310
|
+
const skillCheck = path.join(root, "skills", "whyspec-plan", "SKILL.md");
|
|
311
|
+
const removedLegacyCommands = removeLegacyClaudeCommands(root);
|
|
348
312
|
const removedLegacySkills = removeLegacyClaudeSkills(root);
|
|
349
|
-
if (removedLegacySkills) {
|
|
313
|
+
if (removedLegacyCommands || removedLegacySkills) {
|
|
350
314
|
repaired = true;
|
|
351
315
|
}
|
|
352
|
-
if (!fs.existsSync(
|
|
353
|
-
console.log(chalk.yellow("\n Repairing missing Claude
|
|
316
|
+
if (!fs.existsSync(skillCheck)) {
|
|
317
|
+
console.log(chalk.yellow("\n Repairing missing Claude Code skills...\n"));
|
|
354
318
|
installSkillFiles(root, tools);
|
|
355
319
|
generateAgentsMd(root, tools);
|
|
356
320
|
repaired = true;
|
|
@@ -387,18 +351,12 @@ export async function runInit() {
|
|
|
387
351
|
catch {
|
|
388
352
|
// Leave malformed user settings untouched and continue with existing repair work.
|
|
389
353
|
}
|
|
390
|
-
if (
|
|
391
|
-
|
|
392
|
-
ensureVisibleGitwhyAlias(root, tools);
|
|
393
|
-
if (!hadAlias && fs.existsSync(path.join(root, "gitwhy"))) {
|
|
394
|
-
repaired = true;
|
|
395
|
-
}
|
|
354
|
+
if (removeLegacyGitwhyAlias(root)) {
|
|
355
|
+
repaired = true;
|
|
396
356
|
}
|
|
397
357
|
if (repaired) {
|
|
398
358
|
const exampleCommand = tools.includes("claude-code") || tools.includes("cursor")
|
|
399
|
-
?
|
|
400
|
-
? "/whyspec:plan"
|
|
401
|
-
: "/whyspec-plan"
|
|
359
|
+
? "/whyspec-plan"
|
|
402
360
|
: tools.includes("codex")
|
|
403
361
|
? "$whyspec-plan"
|
|
404
362
|
: "whyspec plan";
|
|
@@ -432,10 +390,10 @@ export async function runInit() {
|
|
|
432
390
|
tools: selectedTools,
|
|
433
391
|
telemetry: process.env.WHYSPEC_TELEMETRY !== "0",
|
|
434
392
|
});
|
|
435
|
-
// 6.
|
|
393
|
+
// 6. Keep .gitwhy visible to tools and repair any legacy ignore entries
|
|
436
394
|
addToGitignore(root);
|
|
437
395
|
ensureVsCodeShowsGitwhy(root);
|
|
438
|
-
|
|
396
|
+
removeLegacyGitwhyAlias(root);
|
|
439
397
|
// 7. Install skill files
|
|
440
398
|
installSkillFiles(root, selectedTools);
|
|
441
399
|
// 8. Generate AGENTS.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/welcome.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,IAAI,MAAM,CAoB5C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,IAAI,MAAM,CAoB5C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAyB5D"}
|
package/dist/ui/welcome.js
CHANGED
|
@@ -13,7 +13,7 @@ export function renderWelcomeScreen() {
|
|
|
13
13
|
lines.push(chalk.white(" \u2514\u2500\u2500 changes/"));
|
|
14
14
|
lines.push("");
|
|
15
15
|
lines.push(chalk.dim(" Quick start after setup:"));
|
|
16
|
-
lines.push(` ${chalk.green("/whyspec
|
|
16
|
+
lines.push(` ${chalk.green("/whyspec-plan")} Claude Code skill`);
|
|
17
17
|
lines.push(` ${chalk.green("/whyspec-plan")} Cursor command`);
|
|
18
18
|
lines.push(` ${chalk.green("$whyspec-plan")} Codex skill`);
|
|
19
19
|
lines.push("");
|
|
@@ -26,31 +26,21 @@ export function renderSuccessMessage(tools) {
|
|
|
26
26
|
const lines = [];
|
|
27
27
|
const usesClaudeCommands = tools.includes("claude-code");
|
|
28
28
|
const usesCursorCommands = tools.includes("cursor");
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
: usesCodex
|
|
35
|
-
? "$whyspec-plan"
|
|
36
|
-
: "whyspec plan";
|
|
29
|
+
const exampleCommand = usesClaudeCommands || usesCursorCommands
|
|
30
|
+
? "/whyspec-plan"
|
|
31
|
+
: tools.includes("codex")
|
|
32
|
+
? "$whyspec-plan"
|
|
33
|
+
: "whyspec plan";
|
|
37
34
|
lines.push("");
|
|
38
35
|
lines.push(chalk.green.bold(" \u2713 WhySpec initialized!"));
|
|
39
36
|
lines.push("");
|
|
40
37
|
lines.push(chalk.dim(" Created:"));
|
|
41
38
|
lines.push(chalk.white(" .gitwhy/config.yaml"));
|
|
42
39
|
lines.push(chalk.white(" .gitwhy/changes/"));
|
|
43
|
-
if (usesCodex) {
|
|
44
|
-
lines.push(chalk.white(" gitwhy/ (Codex-visible mirror of .gitwhy/)"));
|
|
45
|
-
}
|
|
46
40
|
if (tools.length > 0) {
|
|
47
41
|
lines.push("");
|
|
48
42
|
lines.push(chalk.dim(` Tools configured: ${tools.join(", ")}`));
|
|
49
43
|
}
|
|
50
|
-
if (usesCodex) {
|
|
51
|
-
lines.push("");
|
|
52
|
-
lines.push(chalk.dim(" In Codex, open gitwhy/ if .gitwhy/ is hidden after reload."));
|
|
53
|
-
}
|
|
54
44
|
lines.push("");
|
|
55
45
|
lines.push(` Ready! Try: ${chalk.cyan.bold(exampleCommand)}`);
|
|
56
46
|
lines.push("");
|
package/dist/ui/welcome.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,UAAU,mBAAmB;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@ argument-hint: "[change-name]"
|
|
|
6
6
|
|
|
7
7
|
Capture reasoning — create a context file that resolves the Decision Bridge and preserves the full story.
|
|
8
8
|
|
|
9
|
-
View the complete story with `/whyspec
|
|
9
|
+
View the complete story with `/whyspec-show`
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -200,7 +200,7 @@ View the complete story with `/whyspec:show`
|
|
|
200
200
|
Files documented: N
|
|
201
201
|
Commits linked: N
|
|
202
202
|
|
|
203
|
-
View the full story: /whyspec
|
|
203
|
+
View the full story: /whyspec-show <name>
|
|
204
204
|
```
|
|
205
205
|
|
|
206
206
|
## Tools
|
|
@@ -238,4 +238,4 @@ View the complete story with `/whyspec:show`
|
|
|
238
238
|
- **Use SaaS XML format exactly** — the `<context>` tags must match the GitWhy format so `git why log` and `git why push` work without conversion.
|
|
239
239
|
- **Include verification results** — what tests pass, what was manually verified. Evidence, not claims.
|
|
240
240
|
- **Don't fabricate rationale** — if you don't know why a decision was made, ask the user. Invented reasoning is worse than no reasoning.
|
|
241
|
-
- **One context per capture** — each `/whyspec
|
|
241
|
+
- **One context per capture** — each `/whyspec-capture` invocation creates exactly one `ctx_<id>.md` file.
|
|
@@ -253,7 +253,7 @@ Once root cause is verified (HIGH or MEDIUM confidence):
|
|
|
253
253
|
Evidence entries: N
|
|
254
254
|
Past contexts referenced: N
|
|
255
255
|
|
|
256
|
-
View full investigation: /whyspec
|
|
256
|
+
View full investigation: /whyspec-show <bug-name>
|
|
257
257
|
```
|
|
258
258
|
|
|
259
259
|
## Resuming an Investigation
|
|
@@ -6,7 +6,7 @@ argument-hint: "[change-name]"
|
|
|
6
6
|
|
|
7
7
|
Implement a change — read the plan, work through tasks, commit atomically.
|
|
8
8
|
|
|
9
|
-
When all tasks are done, run `/whyspec
|
|
9
|
+
When all tasks are done, run `/whyspec-capture` to save your reasoning.
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -128,8 +128,8 @@ When all tasks are done, run `/whyspec:capture` to save your reasoning.
|
|
|
128
128
|
|
|
129
129
|
| Status | When | What to show |
|
|
130
130
|
|--------|------|-------------|
|
|
131
|
-
| DONE | All tasks completed and verified | Full summary + `/whyspec
|
|
132
|
-
| DONE_WITH_CONCERNS | Tasks done but something feels off | Summary + concerns + `/whyspec
|
|
131
|
+
| DONE | All tasks completed and verified | Full summary + `/whyspec-capture` prompt |
|
|
132
|
+
| DONE_WITH_CONCERNS | Tasks done but something feels off | Summary + concerns + `/whyspec-capture` |
|
|
133
133
|
| BLOCKED | Cannot proceed without input | Blocker details + resume command |
|
|
134
134
|
| NEEDS_CONTEXT | Missing information | Specific question about what's missing |
|
|
135
135
|
|
|
@@ -143,7 +143,7 @@ When all tasks are done, run `/whyspec:capture` to save your reasoning.
|
|
|
143
143
|
- [x] Task 1: description — committed as "feat: ..."
|
|
144
144
|
- [x] Task 2: description — committed as "feat: ..."
|
|
145
145
|
|
|
146
|
-
Ready to capture reasoning? Run /whyspec
|
|
146
|
+
Ready to capture reasoning? Run /whyspec-capture
|
|
147
147
|
```
|
|
148
148
|
|
|
149
149
|
## Tools
|
|
@@ -207,4 +207,4 @@ Why good: Specific blocker with evidence from code. Options with trade-offs.
|
|
|
207
207
|
- **Pause on unclear tasks** — don't guess at ambiguous requirements. Ask for clarification.
|
|
208
208
|
- **Pause on design issues** — if reality doesn't match the plan, stop and suggest design.md updates before continuing.
|
|
209
209
|
- **Mark checkboxes immediately** — update tasks.md after each task completion, not at the end.
|
|
210
|
-
- **Always prompt capture** — end every execution session with the `/whyspec
|
|
210
|
+
- **Always prompt capture** — end every execution session with the `/whyspec-capture` suggestion.
|
|
@@ -6,7 +6,7 @@ argument-hint: "<change-name-or-description>"
|
|
|
6
6
|
|
|
7
7
|
Plan a change — create intent.md, design.md, and tasks.md with the Decision Bridge.
|
|
8
8
|
|
|
9
|
-
When ready to implement, run `/whyspec
|
|
9
|
+
When ready to implement, run `/whyspec-execute`
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ When ready to implement, run `/whyspec:execute`
|
|
|
14
14
|
|
|
15
15
|
## Iron Law
|
|
16
16
|
|
|
17
|
-
**ACT FIRST, ASK ONLY WHEN STUCK.** The user invoked `/whyspec
|
|
17
|
+
**ACT FIRST, ASK ONLY WHEN STUCK.** The user invoked `/whyspec-plan` with a description of what they want. Your job is to structure their intent into plan files — not to interview them.
|
|
18
18
|
|
|
19
19
|
## Red Flags — If You're Thinking This, STOP
|
|
20
20
|
|
|
@@ -38,7 +38,7 @@ When ready to implement, run `/whyspec:execute`
|
|
|
38
38
|
|
|
39
39
|
<examples>
|
|
40
40
|
<good>
|
|
41
|
-
User: `/whyspec
|
|
41
|
+
User: `/whyspec-plan add dark mode support`
|
|
42
42
|
Agent: Creates change folder, writes intent.md capturing dark mode as the goal,
|
|
43
43
|
design.md with CSS custom properties vs class-based approach trade-off,
|
|
44
44
|
tasks.md with implementation steps.
|
|
@@ -46,20 +46,20 @@ When ready to implement, run `/whyspec:execute`
|
|
|
46
46
|
</good>
|
|
47
47
|
|
|
48
48
|
<bad>
|
|
49
|
-
User: `/whyspec
|
|
49
|
+
User: `/whyspec-plan add dark mode support`
|
|
50
50
|
Agent: "What problem does this solve? Who feels this pain today?"
|
|
51
51
|
Why bad: The user literally just told you — they want dark mode. Asking "what problem does
|
|
52
52
|
this solve" is patronizing checklist-walking. The answer is obvious from the input.
|
|
53
53
|
</bad>
|
|
54
54
|
|
|
55
55
|
<good>
|
|
56
|
-
User: `/whyspec
|
|
56
|
+
User: `/whyspec-plan`
|
|
57
57
|
Agent: "What change are you planning?"
|
|
58
58
|
Why good: ARGUMENTS is empty. ONE question to get started is justified.
|
|
59
59
|
</good>
|
|
60
60
|
|
|
61
61
|
<bad>
|
|
62
|
-
User: `/whyspec
|
|
62
|
+
User: `/whyspec-plan refactor auth middleware`
|
|
63
63
|
Agent: "What constraints exist? What does success look like? How will you know it works?"
|
|
64
64
|
Why bad: Three rounds of corporate interview questions. The user wants to refactor auth
|
|
65
65
|
middleware — explore the codebase to understand constraints, don't ask generic questions.
|
|
@@ -129,7 +129,7 @@ When ready to implement, run `/whyspec:execute`
|
|
|
129
129
|
- [ ] Response on limit: 429 with Retry-After header vs 429 with custom error body?
|
|
130
130
|
|
|
131
131
|
These checkboxes form the "before" side of the Decision Bridge.
|
|
132
|
-
They will be resolved during /whyspec
|
|
132
|
+
They will be resolved during /whyspec-capture after implementation.
|
|
133
133
|
|
|
134
134
|
## Constraints
|
|
135
135
|
|
|
@@ -237,7 +237,7 @@ When ready to implement, run `/whyspec:execute`
|
|
|
237
237
|
Decisions to make: N pending
|
|
238
238
|
Tasks: N defined
|
|
239
239
|
|
|
240
|
-
Ready to implement? Run /whyspec
|
|
240
|
+
Ready to implement? Run /whyspec-execute
|
|
241
241
|
```
|
|
242
242
|
|
|
243
243
|
## Tools
|
|
@@ -301,7 +301,7 @@ If you hit any of these, STOP and ask the user (max 3 attempts before escalating
|
|
|
301
301
|
|
|
302
302
|
- **Don't interrogate the user** — if ARGUMENTS contains a meaningful description, proceed. Only ask when ARGUMENTS is empty or genuinely ambiguous.
|
|
303
303
|
- **Ground plans in the codebase** — read relevant code before writing. Plans that ignore the actual architecture are useless.
|
|
304
|
-
- **Don't implement code** — this skill creates plan files only. Implementation happens in `/whyspec
|
|
304
|
+
- **Don't implement code** — this skill creates plan files only. Implementation happens in `/whyspec-execute`.
|
|
305
305
|
- **Don't skip "Decisions to Make"** — every unsettled design choice must be a checkbox. If you can't find any decisions, you haven't thought hard enough about the change.
|
|
306
306
|
- **Use CLI-as-oracle** — always call `whyspec plan --json` to create the folder. Don't create paths or generate IDs manually.
|
|
307
307
|
- **Apply `context` and `rules` as constraints** — they guide your writing but must NOT appear in the output files.
|
|
@@ -69,8 +69,8 @@ Search is not just a lookup tool — it's the **team knowledge check** before ne
|
|
|
69
69
|
> "src/middleware/auth.ts — modified to extract JWT sub claim for
|
|
70
70
|
> per-user rate limiting after authentication."
|
|
71
71
|
|
|
72
|
-
View full story: `/whyspec
|
|
73
|
-
Narrow by domain: `/whyspec
|
|
72
|
+
View full story: `/whyspec-show add-auth`
|
|
73
|
+
Narrow by domain: `/whyspec-search "authentication" --domain auth`
|
|
74
74
|
Why good: Shows the actual reasoning from past decisions. A developer
|
|
75
75
|
searching for "authentication" immediately sees WHY RS256 was chosen,
|
|
76
76
|
WHY httpOnly cookies, and WHERE token decisions connect to rate limiting.
|
|
@@ -97,7 +97,7 @@ Search is not just a lookup tool — it's the **team knowledge check** before ne
|
|
|
97
97
|
|
|
98
98
|
Suggestions:
|
|
99
99
|
- Try broader terms: "session", "timeout", "token expiry"
|
|
100
|
-
- Search by domain: `/whyspec
|
|
100
|
+
- Search by domain: `/whyspec-search "session" --domain auth`
|
|
101
101
|
- Check if this decision was captured: maybe it predates WhySpec adoption
|
|
102
102
|
Why good: Empty results get helpful guidance, not a dead end.
|
|
103
103
|
</good>
|
|
@@ -113,9 +113,9 @@ Search is not just a lookup tool — it's the **team knowledge check** before ne
|
|
|
113
113
|
3. **Connect results to the current context**
|
|
114
114
|
|
|
115
115
|
If the search was triggered during planning or debugging, connect the findings:
|
|
116
|
-
- During `/whyspec
|
|
117
|
-
- During `/whyspec
|
|
118
|
-
- Standalone: Offer follow-up actions: `/whyspec
|
|
116
|
+
- During `/whyspec-plan`: "Past decision in add-auth chose RS256 — your new feature should be compatible with this."
|
|
117
|
+
- During `/whyspec-debug`: "Similar bug was investigated in debug-token-expiry — root cause was clock skew between services."
|
|
118
|
+
- Standalone: Offer follow-up actions: `/whyspec-show <name>` or narrower search.
|
|
119
119
|
|
|
120
120
|
## Tools
|
|
121
121
|
|
|
@@ -63,7 +63,7 @@ The Decision Bridge delta is the most valuable output — it reveals the gap bet
|
|
|
63
63
|
If context hasn't been captured yet:
|
|
64
64
|
```
|
|
65
65
|
## Reasoning (AFTER)
|
|
66
|
-
Not yet captured. Run /whyspec
|
|
66
|
+
Not yet captured. Run /whyspec-capture to complete the story.
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
3. **Highlight the Decision Bridge Delta**
|
|
@@ -116,10 +116,10 @@ The Decision Bridge delta is the most valuable output — it reveals the gap bet
|
|
|
116
116
|
| Missing | What to show | Suggestion |
|
|
117
117
|
|---------|-------------|------------|
|
|
118
118
|
| No design.md | Intent + Tasks only | "Design not captured. Was this a quick fix?" |
|
|
119
|
-
| No tasks.md | Intent + Design only | "No tasks defined. Run `/whyspec
|
|
120
|
-
| No context | Intent + Design + Tasks | "Reasoning not captured yet. Run `/whyspec
|
|
119
|
+
| No tasks.md | Intent + Design only | "No tasks defined. Run `/whyspec-execute` to start." |
|
|
120
|
+
| No context | Intent + Design + Tasks | "Reasoning not captured yet. Run `/whyspec-capture`." |
|
|
121
121
|
| No intent (shouldn't happen) | Whatever exists | "Intent missing — this change may not have been planned with WhySpec." |
|
|
122
|
-
| Tasks partially done | Show progress bar | "Progress: ███░░ 3/5 tasks — resume with `/whyspec
|
|
122
|
+
| Tasks partially done | Show progress bar | "Progress: ███░░ 3/5 tasks — resume with `/whyspec-execute <name>`" |
|
|
123
123
|
|
|
124
124
|
## Tools
|
|
125
125
|
|