@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.
@@ -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 commands).
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,CAqBjB"}
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 commands).
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:execute\`
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:capture\`
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:show\`
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:capture.`;
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
- .replaceAll("/whyspec-", "/whyspec:")
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}.claude/commands/whyspec:${command}.md`,
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;aAC/C,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC;aACpC,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,qCAAqC,OAAO,KAAK,CAAC;QAEzE,OAAO;YACL,IAAI,EAAE,GAAG,MAAM,4BAA4B,OAAO,KAAK;YACvD,OAAO,EAAE,GAAG,WAAW,OAAO,cAAc,OAAO,YAAY,IAAI;SACpE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,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"}
@@ -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., ".claude/skills/whyspec-plan/SKILL.md") */
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,qFAAqF;IACrF,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"}
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"}
@@ -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 ensureVisibleGitwhyAlias(root: string, tools: string[]): void;
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":"AAiBA,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,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CA8D5E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAwBvE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CA+BjD;AAsED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAoB1D;AA0FD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAoBrE;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,CAkJ7C"}
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"}
@@ -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 ensureVisibleGitwhyAlias(root, tools) {
26
- if (!tools.includes("codex")) {
27
- return;
28
- }
23
+ export function removeLegacyGitwhyAlias(root) {
29
24
  const helperPath = path.join(root, "gitwhy");
30
- const targetPath = path.join(root, ".gitwhy");
31
- if (!fs.existsSync(targetPath)) {
32
- return;
25
+ if (!fs.lstatSync(helperPath, { throwIfNoEntry: false })) {
26
+ return false;
33
27
  }
34
- if (fs.existsSync(helperPath) && fs.lstatSync(helperPath).isSymbolicLink()) {
28
+ const helperStat = fs.lstatSync(helperPath);
29
+ if (helperStat.isSymbolicLink()) {
35
30
  fs.unlinkSync(helperPath);
31
+ return true;
36
32
  }
37
- fs.mkdirSync(helperPath, { recursive: true });
38
- const readmePath = path.join(helperPath, "README.md");
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 entries = [
49
- ["config.yaml", path.join(targetPath, "config.yaml"), "file"],
50
- ["changes", path.join(targetPath, "changes"), "dir"],
51
- ["archive", path.join(targetPath, "archive"), "dir"],
52
- ["debug", path.join(targetPath, "debug"), "dir"],
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
- // Always use .gitignore (committed, visible to all agents).
100
- // .git/info/exclude is local-only and some agents delete files
101
- // listed there on startup, causing data loss.
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
- else {
111
- fs.writeFileSync(gitignorePath, entry + "\n", "utf-8");
112
- }
113
- // Migrate: remove from .git/info/exclude if it was previously added there.
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 skills/ directory if they exist (Agent 5's work).
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 raw = fs.readFileSync(src, "utf-8");
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.writeFileSync(dest, content, "utf-8");
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
- const commandsInstalled = installClaudeCommandsFromSkills(path.join(root, ".claude", "commands"), skillsDir);
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 commandCheck = path.join(root, ".claude", "commands", "whyspec:plan.md");
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(commandCheck)) {
353
- console.log(chalk.yellow("\n Repairing missing Claude commands...\n"));
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 (tools.includes("codex")) {
391
- const hadAlias = fs.existsSync(path.join(root, "gitwhy"));
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
- ? tools.includes("claude-code")
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. Ignore .gitwhy for Git without hiding it from agent file trees
393
+ // 6. Keep .gitwhy visible to tools and repair any legacy ignore entries
436
394
  addToGitignore(root);
437
395
  ensureVsCodeShowsGitwhy(root);
438
- ensureVisibleGitwhyAlias(root, selectedTools);
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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"}
@@ -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,CAmC5D"}
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"}
@@ -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:plan")} Claude Code command`);
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 usesCodex = tools.includes("codex");
30
- const exampleCommand = usesClaudeCommands
31
- ? "/whyspec:plan"
32
- : usesCursorCommands
33
- ? "/whyspec-plan"
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("");
@@ -1 +1 @@
1
- {"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitwhy-cli/whyspec",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "The reasoning layer for AI-assisted development — capture WHY code was built the way it was",
5
5
  "type": "module",
6
6
  "main": "dist/cli/index.js",
@@ -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:show`
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:show <name>
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:capture` invocation creates exactly one `ctx_<id>.md` file.
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:show <bug-name>
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:capture` to save your reasoning.
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:capture` prompt |
132
- | DONE_WITH_CONCERNS | Tasks done but something feels off | Summary + concerns + `/whyspec:capture` |
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:capture
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:capture` suggestion.
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:execute`
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:plan` with a description of what they want. Your job is to structure their intent into plan files — not to interview them.
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:plan add dark mode support`
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:plan add dark mode support`
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:plan`
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:plan refactor auth middleware`
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:capture after implementation.
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:execute
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:execute`.
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:show add-auth`
73
- Narrow by domain: `/whyspec:search "authentication" --domain auth`
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:search "session" --domain auth`
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: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.
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:capture to complete the story.
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:execute` to start." |
120
- | No context | Intent + Design + Tasks | "Reasoning not captured yet. Run `/whyspec:capture`." |
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:execute <name>`" |
122
+ | Tasks partially done | Show progress bar | "Progress: ███░░ 3/5 tasks — resume with `/whyspec-execute <name>`" |
123
123
 
124
124
  ## Tools
125
125