@wbern/claude-instructions 1.20.0 โ†’ 1.21.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.
Files changed (3) hide show
  1. package/README.md +1 -23
  2. package/bin/cli.js +18 -6
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -134,7 +134,7 @@ Only the first file found is used.
134
134
 
135
135
  ### Main Workflow
136
136
 
137
- Follow this workflow from planning to shipping:
137
+ This is the core TDD workflow. Additional utility commands (worktrees, spikes, etc.) are listed in [Available Commands](#available-commands) below.
138
138
 
139
139
  ```mermaid
140
140
  flowchart TB
@@ -179,28 +179,6 @@ flowchart TB
179
179
  style Done fill:#c8e6c9
180
180
  ```
181
181
 
182
- ### Other Commands
183
-
184
- Available anytime during your workflow:
185
-
186
- ```mermaid
187
- flowchart TB
188
- Utils[<b>UTILITIES</b>]
189
- Utils --> Spike[๐Ÿ”ฌ /spike<br/>Exploratory coding before TDD]
190
- Utils --> TDD[๐Ÿ“š /tdd<br/>Remind agent about TDD]
191
- Utils --> AddCommand[โž• /add-command<br/>Create custom commands]
192
- Utils --> Summarize[๐Ÿ“„ /summarize<br/>Summarize conversation<br/><i>Optional: Beads MCP</i>]
193
- Utils --> Gap[๐Ÿ” /gap<br/>Find unaddressed items<br/><i>Optional: Beads MCP</i>]
194
- Utils --> Beepboop[๐Ÿค– /beepboop<br/>AI attribution]
195
-
196
- Worktree[<b>WORKTREE MANAGEMENT</b>]
197
- Worktree --> WorktreeAdd[โž• /worktree-add<br/>Create new worktree<br/><i>Requires: GitHub MCP</i>]
198
- Worktree --> WorktreeCleanup[๐Ÿงน /worktree-cleanup<br/>Clean up merged worktrees<br/><i>Requires: GitHub MCP</i>]
199
-
200
- style Utils fill:#fff9c4
201
- style Worktree fill:#f3e5f5
202
- ```
203
-
204
182
  ## Available Commands
205
183
 
206
184
  ### Planning
package/bin/cli.js CHANGED
@@ -742,8 +742,7 @@ var CLI_OPTIONS = [
742
742
  key: "prefix",
743
743
  type: "string",
744
744
  description: "Add prefix to command names",
745
- example: "--prefix=my-",
746
- requiredForNonInteractive: true
745
+ example: "--prefix=my-"
747
746
  },
748
747
  {
749
748
  flag: "--commands",
@@ -926,10 +925,10 @@ async function main(args) {
926
925
  let selectedCommands;
927
926
  let selectedAllowedTools;
928
927
  let cachedExistingFiles;
929
- if (args?.variant && args?.scope && args?.prefix !== void 0) {
928
+ if (args?.variant && args?.scope) {
930
929
  variant = args.variant;
931
930
  scope = args.scope;
932
- commandPrefix = args.prefix;
931
+ commandPrefix = args.prefix ?? "";
933
932
  selectedCommands = args.commands;
934
933
  if (args.updateExisting) {
935
934
  cachedExistingFiles = await checkExistingFiles(
@@ -1034,7 +1033,14 @@ async function main(args) {
1034
1033
  allowedTools: selectedAllowedTools
1035
1034
  });
1036
1035
  const skipFiles = [];
1037
- if (!args?.overwrite && !args?.skipOnConflict) {
1036
+ const shouldSkipConflicts = args?.skipOnConflict || !isInteractiveTTY();
1037
+ if (args?.overwrite) {
1038
+ for (const file of existingFiles) {
1039
+ if (!file.isIdentical) {
1040
+ log.info(`Overwriting ${file.filename}`);
1041
+ }
1042
+ }
1043
+ } else if (!shouldSkipConflicts) {
1038
1044
  const conflictingFiles = existingFiles.filter((f) => !f.isIdentical);
1039
1045
  const hasMultipleConflicts = conflictingFiles.length > 1;
1040
1046
  let overwriteAllSelected = false;
@@ -1089,12 +1095,18 @@ async function main(args) {
1089
1095
  }
1090
1096
  }
1091
1097
  }
1092
- } else if (args?.skipOnConflict) {
1098
+ } else if (shouldSkipConflicts) {
1093
1099
  for (const file of existingFiles) {
1094
1100
  if (!file.isIdentical) {
1095
1101
  skipFiles.push(file.filename);
1102
+ log.warn(`Skipping ${file.filename} (conflict)`);
1096
1103
  }
1097
1104
  }
1105
+ if (skipFiles.length > 0 && !isInteractiveTTY()) {
1106
+ log.info(
1107
+ "To resolve conflicts, run interactively or use --overwrite to overwrite"
1108
+ );
1109
+ }
1098
1110
  }
1099
1111
  const result = await generateToDirectory(
1100
1112
  void 0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wbern/claude-instructions",
3
- "version": "1.20.0",
3
+ "version": "1.21.0",
4
4
  "description": "TDD workflow commands for Claude Code CLI",
5
5
  "type": "module",
6
6
  "bin": "./bin/cli.js",