specweave 1.0.37 → 1.0.39

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/CLAUDE.md CHANGED
@@ -1,10 +1,10 @@
1
- <!-- SW:META template="claude" version="1.0.34" sections="header,start,autodetect,metarule,rules,workflow,structure,taskformat,secrets,syncing,mapping,testing,limits,troubleshooting,principles,linking,docs" -->
1
+ <!-- SW:META template="claude" version="1.0.38" sections="header,start,autodetect,metarule,rules,workflow,structure,taskformat,secrets,syncing,mapping,testing,limits,troubleshooting,principles,linking,docs" -->
2
2
 
3
- <!-- SW:SECTION:header version="1.0.34" -->
3
+ <!-- SW:SECTION:header version="1.0.38" -->
4
4
  **Framework**: SpecWeave | **Truth**: `spec.md` + `tasks.md`
5
5
  <!-- SW:END:header -->
6
6
 
7
- <!-- SW:SECTION:start version="1.0.34" -->
7
+ <!-- SW:SECTION:start version="1.0.38" -->
8
8
  ## Getting Started
9
9
 
10
10
  **Initial increment**: `0001-project-setup` (auto-created by `specweave init`)
@@ -14,7 +14,7 @@
14
14
  2. **Customize**: Edit spec.md and use for setup tasks
15
15
  <!-- SW:END:start -->
16
16
 
17
- <!-- SW:SECTION:autodetect version="1.0.34" -->
17
+ <!-- SW:SECTION:autodetect version="1.0.38" -->
18
18
  ## Auto-Detection
19
19
 
20
20
  SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
@@ -24,7 +24,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
24
24
  **Opt-out phrases**: "Just brainstorm first" | "Don't plan yet" | "Quick discussion" | "Let's explore ideas"
25
25
  <!-- SW:END:autodetect -->
26
26
 
27
- <!-- SW:SECTION:metarule version="1.0.34" -->
27
+ <!-- SW:SECTION:metarule version="1.0.38" -->
28
28
  ## Meta-Rule: Think-Before-Act
29
29
 
30
30
  **Satisfy dependencies BEFORE dependent operations.**
@@ -35,7 +35,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
35
35
  ```
36
36
  <!-- SW:END:metarule -->
37
37
 
38
- <!-- SW:SECTION:rules version="1.0.34" -->
38
+ <!-- SW:SECTION:rules version="1.0.38" -->
39
39
  ## Rules
40
40
 
41
41
  1. **Files** → `.specweave/increments/####-name/` (spec.md, plan.md, tasks.md at root; reports/, scripts/, logs/ subfolders)
@@ -45,7 +45,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
45
45
  5. **Root clean**: NEVER create .md/reports/scripts in project root → use increment folders
46
46
  <!-- SW:END:rules -->
47
47
 
48
- <!-- SW:SECTION:workflow version="1.0.34" -->
48
+ <!-- SW:SECTION:workflow version="1.0.38" -->
49
49
  ## Workflow
50
50
 
51
51
  `/sw:increment "X"` → `/sw:do` → `/sw:progress` → `/sw:done 0001`
@@ -62,7 +62,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
62
62
  **Natural language**: "Let's build X" → `/sw:increment` | "What's status?" → `/sw:progress` | "We're done" → `/sw:done`
63
63
  <!-- SW:END:workflow -->
64
64
 
65
- <!-- SW:SECTION:structure version="1.0.34" -->
65
+ <!-- SW:SECTION:structure version="1.0.38" -->
66
66
  ## Structure
67
67
 
68
68
  ```
@@ -78,7 +78,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
78
78
  **Multi-repo**: Clone to `/repositories`, not root → `repositories/backend/src/...`
79
79
  <!-- SW:END:structure -->
80
80
 
81
- <!-- SW:SECTION:taskformat version="1.0.34" -->
81
+ <!-- SW:SECTION:taskformat version="1.0.38" -->
82
82
  ## Task Format
83
83
 
84
84
  ```markdown
@@ -88,7 +88,7 @@ SpecWeave auto-detects product descriptions and routes to `/sw:increment`:
88
88
  ```
89
89
  <!-- SW:END:taskformat -->
90
90
 
91
- <!-- SW:SECTION:secrets version="1.0.34" -->
91
+ <!-- SW:SECTION:secrets version="1.0.38" -->
92
92
  ## Secrets Check
93
93
 
94
94
  **BEFORE CLI tools**: Check existing config first!
@@ -99,7 +99,7 @@ gh auth status
99
99
  ```
100
100
  <!-- SW:END:secrets -->
101
101
 
102
- <!-- SW:SECTION:syncing version="1.0.34" -->
102
+ <!-- SW:SECTION:syncing version="1.0.38" -->
103
103
  ## Auto-Sync (Hooks)
104
104
 
105
105
  Post-task: updates tasks.md → living docs → external trackers (if configured)
@@ -107,7 +107,7 @@ Post-task: updates tasks.md → living docs → external trackers (if configured
107
107
  Config: `.specweave/config.json` → `hooks.post_task_completion`
108
108
  <!-- SW:END:syncing -->
109
109
 
110
- <!-- SW:SECTION:mapping version="1.0.34" -->
110
+ <!-- SW:SECTION:mapping version="1.0.38" -->
111
111
  ## GitHub Mapping
112
112
 
113
113
  | SpecWeave | GitHub |
@@ -117,7 +117,7 @@ Config: `.specweave/config.json` → `hooks.post_task_completion`
117
117
  | Task T-XXX | Checkbox |
118
118
  <!-- SW:END:mapping -->
119
119
 
120
- <!-- SW:SECTION:testing version="1.0.34" -->
120
+ <!-- SW:SECTION:testing version="1.0.38" -->
121
121
  ## Testing
122
122
 
123
123
  BDD in tasks.md | Unit >80% | `.test.ts` (Vitest)
@@ -129,13 +129,13 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
129
129
  ```
130
130
  <!-- SW:END:testing -->
131
131
 
132
- <!-- SW:SECTION:limits version="1.0.34" -->
132
+ <!-- SW:SECTION:limits version="1.0.38" -->
133
133
  ## Limits
134
134
 
135
135
  **Max 1500 lines/file** — extract before adding
136
136
  <!-- SW:END:limits -->
137
137
 
138
- <!-- SW:SECTION:troubleshooting version="1.0.34" -->
138
+ <!-- SW:SECTION:troubleshooting version="1.0.38" -->
139
139
  ## Troubleshooting
140
140
 
141
141
  | Issue | Fix |
@@ -149,7 +149,7 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
149
149
  | External not syncing | Check `config.json` → `external_tracker_sync: true` |
150
150
  <!-- SW:END:troubleshooting -->
151
151
 
152
- <!-- SW:SECTION:principles version="1.0.34" -->
152
+ <!-- SW:SECTION:principles version="1.0.38" -->
153
153
  ## Principles
154
154
 
155
155
  1. **Spec-first**: `/sw:increment` before coding
@@ -159,7 +159,7 @@ vi.mock('fs', () => ({ readFile: vi.fn() }));
159
159
  5. **Clean**: All files in increment folders
160
160
  <!-- SW:END:principles -->
161
161
 
162
- <!-- SW:SECTION:linking version="1.0.34" -->
162
+ <!-- SW:SECTION:linking version="1.0.38" -->
163
163
  ## Bidirectional Linking
164
164
 
165
165
  Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
@@ -167,7 +167,7 @@ Tasks ↔ User Stories auto-linked via AC-IDs: `AC-US1-01` → `US-001`
167
167
  Task format: `**AC**: AC-US1-01, AC-US1-02` (CRITICAL for linking)
168
168
  <!-- SW:END:linking -->
169
169
 
170
- <!-- SW:SECTION:docs version="1.0.34" -->
170
+ <!-- SW:SECTION:docs version="1.0.38" -->
171
171
  ## Docs
172
172
 
173
173
  [spec-weave.com](https://spec-weave.com) | `.specweave/docs/internal/`
@@ -1 +1 @@
1
- {"version":3,"file":"sync-config-writer.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/issue-tracker/sync-config-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,MAAM,EAAiB,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElG;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,kBAAkB,EAC/B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAC3B,MAAM,GAAE,MAAsB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA+Df;AAmPD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,CAa1F"}
1
+ {"version":3,"file":"sync-config-writer.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/issue-tracker/sync-config-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAAE,MAAM,EAAiB,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElG;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,kBAAkB,EAC/B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAC3B,MAAM,GAAE,MAAsB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAuEf;AA4TD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,CAa1F"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import chalk from 'chalk';
10
10
  import { execSync } from 'child_process';
11
+ import * as fs from 'fs';
11
12
  import * as path from 'path';
12
13
  import { getConfigManager } from '../../../core/config/index.js';
13
14
  import { consoleLogger } from '../../../utils/logger.js';
@@ -56,6 +57,13 @@ export async function writeSyncConfig(projectPath, tracker, credentials, syncSet
56
57
  }
57
58
  // Write config using ConfigManager
58
59
  await configManager.write(config);
60
+ // CRITICAL FIX (v1.0.37): Remove parent project folder for GitHub multi-repo setups
61
+ // During init, scaffold creates specs/{projectName}/ folder before we know the repo structure.
62
+ // For GitHub multi-repo, each repo should be a separate project folder at specs/ root level,
63
+ // NOT nested under a parent umbrella folder.
64
+ if (tracker === 'github' && repositoryProfiles && repositoryProfiles.length > 1) {
65
+ await cleanupParentProjectFolder(projectPath, config, repositoryProfiles, logger);
66
+ }
59
67
  logger.log(chalk.green(`✓ Sync config written to .specweave/config.json`));
60
68
  logger.log(chalk.gray(` Provider: ${tracker}`));
61
69
  logger.log(chalk.gray(` Auto-sync: enabled`));
@@ -63,6 +71,68 @@ export async function writeSyncConfig(projectPath, tracker, credentials, syncSet
63
71
  logger.log(chalk.gray(` Auto-labeling: ${syncSettings.autoApplyLabels ? 'enabled' : 'disabled'}`));
64
72
  logger.log(chalk.gray(` Hooks: post_task_completion, post_increment_planning`));
65
73
  }
74
+ /**
75
+ * Clean up parent project folder for GitHub multi-repo setups
76
+ *
77
+ * CRITICAL FIX (v1.0.37): For GitHub multi-repo setups, the scaffold creates
78
+ * a parent folder (specs/{projectName}/) during init before we know the structure.
79
+ * For GitHub multi-repo, each repo should be a top-level folder in specs/, NOT
80
+ * nested under a parent umbrella folder.
81
+ *
82
+ * This function removes the parent folder if:
83
+ * 1. We're setting up multiple GitHub repos (multi-repo)
84
+ * 2. The parent folder exists
85
+ * 3. The parent folder is empty or only contains README.md
86
+ *
87
+ * @param projectPath - Path to project root
88
+ * @param config - Current config object
89
+ * @param repositoryProfiles - Array of repository profiles
90
+ * @param logger - Logger instance
91
+ */
92
+ async function cleanupParentProjectFolder(projectPath, config, repositoryProfiles, logger) {
93
+ try {
94
+ // Get the parent project name from config
95
+ const parentProjectName = config.project?.name;
96
+ if (!parentProjectName) {
97
+ return;
98
+ }
99
+ // Normalize to lowercase for folder matching
100
+ const normalizedParentName = parentProjectName.toLowerCase().replace(/[^a-z0-9-]/g, '-');
101
+ // Check if parent folder exists in specs/
102
+ const specsPath = path.join(projectPath, '.specweave', 'docs', 'internal', 'specs');
103
+ const parentFolderPath = path.join(specsPath, normalizedParentName);
104
+ if (!fs.existsSync(parentFolderPath)) {
105
+ return; // No parent folder to clean up
106
+ }
107
+ // Check if any repository profile matches the parent folder name
108
+ // If so, this is a valid repo folder, not a parent umbrella folder
109
+ const isRepoFolder = repositoryProfiles.some(p => {
110
+ const repoName = (p.repo || p.id || '').toLowerCase().replace(/[^a-z0-9-]/g, '-');
111
+ return repoName === normalizedParentName;
112
+ });
113
+ if (isRepoFolder) {
114
+ return; // This is a valid repo folder, don't remove
115
+ }
116
+ // Check if parent folder is empty or only contains README.md
117
+ const contents = fs.readdirSync(parentFolderPath);
118
+ const isEmptyOrReadmeOnly = contents.length === 0 ||
119
+ (contents.length === 1 && contents[0] === 'README.md');
120
+ if (isEmptyOrReadmeOnly) {
121
+ // Safe to remove - it's just the scaffold placeholder
122
+ fs.rmSync(parentFolderPath, { recursive: true, force: true });
123
+ logger.log(chalk.gray(` ✓ Removed parent folder: specs/${normalizedParentName}/ (multi-repo mode)`));
124
+ }
125
+ else {
126
+ // Has content - warn but don't remove
127
+ logger.log(chalk.yellow(` ⚠️ Parent folder specs/${normalizedParentName}/ has content - not removed`));
128
+ logger.log(chalk.gray(` Consider moving files to individual repo folders`));
129
+ }
130
+ }
131
+ catch (error) {
132
+ // Non-blocking - log warning but continue
133
+ logger.log(chalk.gray(` Note: Could not clean up parent folder: ${error}`));
134
+ }
135
+ }
66
136
  /**
67
137
  * Build GitHub sync configuration
68
138
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sync-config-writer.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/issue-tracker/sync-config-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-config-writer.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/issue-tracker/sync-config-writer.ts"],"names":[],"mappings":"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"}
@@ -252,6 +252,23 @@ async function main() {
252
252
  };
253
253
  fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
254
254
  log(`Umbrella config saved: ${mergedRepos.length} repos (${newChildRepos.length} from this job)`);
255
+ // CRITICAL FIX (v1.0.37): Remove parent project folder from specs/ for GitHub multi-repo
256
+ // The scaffold creates specs/{parent-project}/ but for umbrella repos each child creates its own folder
257
+ // The parent folder is incorrect and should be removed
258
+ const projectName = config?.project?.name;
259
+ if (projectName) {
260
+ const parentSpecsFolder = path.join(projectPath, '.specweave', 'docs', 'internal', 'specs', projectName.toLowerCase());
261
+ if (fs.existsSync(parentSpecsFolder)) {
262
+ // Check if folder is empty or only has README.md
263
+ const contents = fs.readdirSync(parentSpecsFolder);
264
+ const isEmptyOrReadmeOnly = contents.length === 0 ||
265
+ (contents.length === 1 && contents[0] === 'README.md');
266
+ if (isEmptyOrReadmeOnly) {
267
+ fs.rmSync(parentSpecsFolder, { recursive: true, force: true });
268
+ log(`Removed parent project folder: specs/${projectName.toLowerCase()}/ (umbrella mode - child repos create their own folders)`);
269
+ }
270
+ }
271
+ }
255
272
  }
256
273
  catch (umbrellaError) {
257
274
  log(`Warning: Failed to persist umbrella config: ${umbrellaError.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"clone-worker.js","sourceRoot":"","sources":["../../../../src/cli/workers/clone-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clone-worker.js","sourceRoot":"","sources":["../../../../src/cli/workers/clone-worker.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,12 @@ export interface ScaffoldOptions {
28
28
  logger?: Logger;
29
29
  /** Additional template context variables */
30
30
  additionalContext?: Record<string, unknown>;
31
+ /**
32
+ * Skip creating parent project folder in specs/
33
+ * Set to true for GitHub multi-repo setups where each repo = separate project folder
34
+ * The child repo folders will be created during /sw:increment or sync
35
+ */
36
+ skipParentProjectFolder?: boolean;
31
37
  }
32
38
  /**
33
39
  * Scaffold result
@@ -56,6 +62,7 @@ export declare class LivingDocsScaffold {
56
62
  private templateEngine;
57
63
  private overwrite;
58
64
  private dryRun;
65
+ private skipParentProjectFolder;
59
66
  private context;
60
67
  constructor(options: ScaffoldOptions);
61
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../../../src/core/living-docs/scaffolding/scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,MAAM,EAAiB,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAwC,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAElG;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,oCAAoC;IACpC,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,2CAA2C;IAC3C,OAAO,EAAE,eAAe,CAAC;CAC1B;AA8FD;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAkB;gBAErB,OAAO,EAAE,eAAe;IAgBpC;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IA8CzC;;OAEG;YACW,eAAe;IAwB7B;;OAEG;YACW,gBAAgB;IAoC9B;;OAEG;YACW,wBAAwB;IAsCtC;;OAEG;YACW,qBAAqB;IAkCnC;;OAEG;YACW,SAAS;IAcvB;;OAEG;YACW,UAAU;CAqBzB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAG1F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGnE"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../../../src/core/living-docs/scaffolding/scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,MAAM,EAAiB,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAwC,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAElG;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,oCAAoC;IACpC,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,2CAA2C;IAC3C,OAAO,EAAE,eAAe,CAAC;CAC1B;AA8FD;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,uBAAuB,CAAU;IACzC,OAAO,CAAC,OAAO,CAAkB;gBAErB,OAAO,EAAE,eAAe;IAiBpC;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAmDzC;;OAEG;YACW,eAAe;IAwB7B;;OAEG;YACW,gBAAgB;IAoC9B;;OAEG;YACW,wBAAwB;IAsCtC;;OAEG;YACW,qBAAqB;IAkCnC;;OAEG;YACW,SAAS;IAcvB;;OAEG;YACW,UAAU;CAqBzB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAG1F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGnE"}
@@ -100,6 +100,7 @@ export class LivingDocsScaffold {
100
100
  this.templateEngine = new TemplateEngine({ logger: this.logger });
101
101
  this.overwrite = options.overwrite ?? false;
102
102
  this.dryRun = options.dryRun ?? false;
103
+ this.skipParentProjectFolder = options.skipParentProjectFolder ?? false;
103
104
  // Create context
104
105
  this.context = {
105
106
  ...createDefaultContext(this.projectId),
@@ -152,7 +153,13 @@ export class LivingDocsScaffold {
152
153
  // Recursively create structure
153
154
  await this.createStructure(docsBase, DOCS_STRUCTURE, result);
154
155
  // Create project-specific specs folder
155
- await this.createProjectSpecsFolder(docsBase, result);
156
+ // Skip for multi-repo GitHub setups where each repo creates its own folder
157
+ if (!this.skipParentProjectFolder) {
158
+ await this.createProjectSpecsFolder(docsBase, result);
159
+ }
160
+ else {
161
+ this.logger.info(' Skipping parent project folder (multi-repo mode)');
162
+ }
156
163
  // Create SUGGESTIONS.md placeholder
157
164
  await this.createSuggestionsFile(docsBase, result);
158
165
  this.logger.info('Scaffold complete!');
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../../../src/core/living-docs/scaffolding/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../../../src/core/living-docs/scaffolding/scaffold.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "1.0.37",
3
+ "version": "1.0.39",
4
4
  "description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -77,7 +77,8 @@ guard_allow() {
77
77
  exit 0
78
78
  }
79
79
 
80
- # Block the tool call with reason
80
+ # Block the tool call with reason (DEPRECATED v1.0.37 - use guard_warn instead)
81
+ # NOTE: Blocking is discouraged. Use guard_warn for most cases.
81
82
  guard_block() {
82
83
  local reason="$1"
83
84
  reason=$(echo "$reason" | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g')
@@ -85,6 +86,15 @@ guard_block() {
85
86
  exit 2
86
87
  }
87
88
 
89
+ # Warn but ALLOW the tool call (v1.0.37+)
90
+ # This is the PREFERRED approach - never block operations, always allow with warnings.
91
+ guard_warn() {
92
+ local message="$1"
93
+ message=$(echo "$message" | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g')
94
+ printf '{"decision":"allow","message":"%s"}\n' "$message"
95
+ exit 0
96
+ }
97
+
88
98
  # ============================================================================
89
99
  # SIMPLE LOGGING (optional, writes to .specweave/logs/hooks.log)
90
100
  # ============================================================================
@@ -1,12 +1,16 @@
1
1
  #!/bin/bash
2
- # completion-guard.sh - Block direct editing of metadata.json to "completed" status
2
+ # completion-guard.sh - WARN (not block) on direct editing of metadata.json to "completed" status
3
3
  #
4
- # v0.28.63+: Prevents the auto-completion bug by blocking direct status changes to completed.
5
- # Status MUST go through ready_for_review first, and only /sw:done can mark completed.
4
+ # v0.28.63+: Detects the auto-completion bug by warning on direct status changes to completed.
5
+ # Status SHOULD go through ready_for_review first, and /sw:done marks completed with validation.
6
6
  #
7
- # PreToolUse hook - can BLOCK the tool call by returning non-zero exit code
7
+ # v1.0.37+: CRITICAL CHANGE - Now WARNS instead of BLOCKING!
8
+ # User feedback: "you MUST NEVER block such operations... do at least warning"
9
+ # Business logic and validation should be in scripts/agents, not hard blocks.
8
10
  #
9
- # IMPORTANT: This is a safety guard. Exit 0 allows, exit 2 blocks.
11
+ # PreToolUse hook - WARNS but ALLOWS the tool call
12
+ #
13
+ # IMPORTANT: This is a safety guard. Exit 0 allows (with warning if needed).
10
14
  # All exit paths MUST output JSON for proper Claude Code handling.
11
15
  set +e
12
16
 
@@ -57,14 +61,14 @@ if echo "$NEW_CONTENT" | grep -q '"status"[[:space:]]*:[[:space:]]*"completed"';
57
61
  fi
58
62
  fi
59
63
 
60
- # BLOCK - trying to set completed without going through ready_for_review
61
- cat << 'BLOCK_EOF'
64
+ # WARN - trying to set completed without going through ready_for_review (v1.0.37)
65
+ cat << 'WARN_EOF'
62
66
  {
63
- "decision": "block",
64
- "reason": "🚫 BLOCKED: Direct status change to \"completed\" is not allowed (v0.28.63+)\n\nYou cannot directly set status to \"completed\" in metadata.json.\n\nCORRECT WORKFLOW:\n1. All tasks completed → status auto-transitions to \"ready_for_review\"\n2. Run /sw:done <increment-id> with explicit user confirmation\n3. Only then does status become \"completed\"\n\nWHY THIS MATTERS:\n• Ensures all ACs are checked in spec.md before closure\n• Requires explicit user approval\n• Maintains audit trail (approvedAt timestamp)\n\n🔧 If implementing closure logic, use:\n MetadataManager.updateStatus(incrementId, IncrementStatus.COMPLETED)"
67
+ "decision": "allow",
68
+ "message": "⚠️ WARNING: Direct status change to \"completed\" detected!\n\n🚨 RECOMMENDED WORKFLOW:\n1. All tasks completed → status auto-transitions to \"ready_for_review\"\n2. Run /sw:done <increment-id> with explicit user confirmation\n3. Only then does status become \"completed\"\n\nWHY THIS MATTERS:\n• Ensures all ACs are checked in spec.md before closure\n• Requires explicit user approval\n• Maintains audit trail (approvedAt timestamp)\n\n💡 If implementing closure logic, use:\n MetadataManager.updateStatus(incrementId, IncrementStatus.COMPLETED)\n\nOperation ALLOWED - proceeding with status change."
65
69
  }
66
- BLOCK_EOF
67
- exit 2 # Block the tool call
70
+ WARN_EOF
71
+ exit 0 # ALLOW with warning (v1.0.37)
68
72
  fi
69
73
 
70
74
  # Allow other edits to metadata.json
@@ -1,16 +1,16 @@
1
1
  #!/bin/bash
2
- # increment-duplicate-guard.sh - Block creation of duplicate increment IDs
2
+ # increment-duplicate-guard.sh - WARN (not block) on duplicate increment IDs
3
3
  #
4
- # v0.33.0+: Prevents duplicate increment numbers (0121 and 0121 both existing)
5
- # Also prevents 0001 and 0001E collisions (they share the same base number)
4
+ # v0.33.0+: Detects duplicate increment numbers (0121 and 0121 both existing)
5
+ # Also detects 0001 and 0001E collisions (they share the same base number)
6
6
  #
7
- # PreToolUse hook for Write tool - BLOCKS the tool call if duplicate detected
7
+ # v1.0.37+: CRITICAL CHANGE - Now WARNS instead of BLOCKING!
8
+ # User feedback: "you MUST NEVER block such operations... do at least warning"
9
+ # Business logic and validation should be in scripts/agents, not hard blocks.
8
10
  #
9
- # CRITICAL: This guards against the BUG where two increments get the same ID:
10
- # - 0121-ado-jira-feature-parity-p2-p3
11
- # - 0121-intelligent-living-docs-content
11
+ # PreToolUse hook for Write tool - WARNS but ALLOWS the tool call
12
12
  #
13
- # Exit 0 = allow (with JSON), Exit 2 = block (with JSON)
13
+ # Exit 0 = allow (with JSON warning message if duplicate detected)
14
14
  set +e
15
15
 
16
16
  [[ "${SPECWEAVE_DISABLE_HOOKS:-0}" == "1" ]] && echo '{"decision":"allow"}' && exit 0
@@ -32,6 +32,15 @@ if [[ "$FILE_PATH" != *.specweave/increments/* ]]; then
32
32
  exit 0 # Not an increment file - allow
33
33
  fi
34
34
 
35
+ # CRITICAL FIX (v1.0.37): ALWAYS allow metadata.json writes!
36
+ # metadata.json is the FIRST file created for any increment - it MUST succeed.
37
+ # Duplicate detection only makes sense for the INCREMENT FOLDER, not individual files.
38
+ # Once the folder exists, any file writes within it should be allowed.
39
+ if [[ "$FILE_PATH" == *metadata.json ]]; then
40
+ echo '{"decision":"allow","message":"metadata.json write allowed (increment creation)"}'
41
+ exit 0
42
+ fi
43
+
35
44
  # Extract the increment folder name from the path
36
45
  # Pattern: .specweave/increments/XXXX-name/file.md or .specweave/increments/XXXX-name/subfolder/file
37
46
  # We need to extract "XXXX-name" part
@@ -109,7 +118,7 @@ for DIR in "${DIRS_TO_CHECK[@]}"; do
109
118
  done < <(find "$DIR" -maxdepth 1 -type d -name "${INCREMENT_NUM}*" -print0 2>/dev/null)
110
119
  done
111
120
 
112
- # If duplicates found, BLOCK the operation and provide the correct number to use
121
+ # If duplicates found, WARN but ALLOW the operation (v1.0.37+: no blocking!)
113
122
  if [[ ${#FOUND_DUPLICATES[@]} -gt 0 ]]; then
114
123
  # Format duplicates for JSON
115
124
  DUP_LIST=""
@@ -129,8 +138,10 @@ if [[ ${#FOUND_DUPLICATES[@]} -gt 0 ]]; then
129
138
  FOLDER_NAME_PART=$(echo "$INCREMENT_FOLDER" | sed 's/^[0-9]\{3,4\}E\?-//')
130
139
  SUGGESTED_FOLDER="${NEXT_NUM_PADDED}-${FOLDER_NAME_PART}"
131
140
 
132
- printf '{"decision":"block","reason":"🚫 DUPLICATE INCREMENT ID - Use this instead:\\n\\n✅ CORRECT: %s\\n❌ ATTEMPTED: %s\\n\\nNumber %s already exists:%s\\n\\n🔧 IMMEDIATE FIX: Replace your file path with:\\n .specweave/increments/%s/...\\n\\nThe guard calculated the next available number for you."}\n' "$SUGGESTED_FOLDER" "$INCREMENT_FOLDER" "$INCREMENT_NUM" "$DUP_LIST" "$SUGGESTED_FOLDER"
133
- exit 2 # Block the tool call
141
+ # v1.0.37: ALLOW with WARNING instead of blocking
142
+ # User can still proceed - the warning provides guidance
143
+ printf '{"decision":"allow","message":"⚠️ DUPLICATE INCREMENT ID DETECTED\\n\\n✅ SUGGESTED: %s\\n⚠️ CURRENT: %s\\n\\nNumber %s already exists:%s\\n\\n💡 RECOMMENDATION: Consider using .specweave/increments/%s/ instead.\\n\\nOperation ALLOWED - proceeding with current path."}\n' "$SUGGESTED_FOLDER" "$INCREMENT_FOLDER" "$INCREMENT_NUM" "$DUP_LIST" "$SUGGESTED_FOLDER"
144
+ exit 0 # ALLOW with warning (v1.0.37: no blocking!)
134
145
  fi
135
146
 
136
147
  # No duplicates - allow
@@ -2,8 +2,8 @@
2
2
  #
3
3
  # metadata-json-guard.sh
4
4
  #
5
- # Pre-tool-use hook that ensures metadata.json exists BEFORE spec.md can be created.
6
- # This prevents increments from being created without proper metadata.
5
+ # Pre-tool-use hook that WARNS (not blocks) if metadata.json is missing before spec.md creation.
6
+ # This helps ensure proper increment creation workflow.
7
7
  #
8
8
  # ROOT CAUSE: When Claude creates increments via user prompt (not /sw:increment),
9
9
  # metadata.json may be forgotten, causing:
@@ -12,18 +12,23 @@
12
12
  # - External sync fails (GitHub/Jira/ADO)
13
13
  # - All increment commands fail
14
14
  #
15
- # SOLUTION: Block spec.md creation if metadata.json doesn't exist in same increment folder.
16
- # Claude MUST create metadata.json FIRST, then spec.md.
15
+ # v1.0.37+: CRITICAL CHANGE - Now WARNS instead of BLOCKING!
16
+ # User feedback: "you MUST NEVER block such operations... do at least warning"
17
+ # Business logic and validation should be in scripts/agents, not hard blocks.
18
+ #
19
+ # SOLUTION: WARN if spec.md is created without metadata.json, but ALLOW the operation.
20
+ # The warning prompts Claude to create metadata.json immediately after.
17
21
  #
18
22
  # Activation:
19
23
  # - tool_name: Write
20
24
  # - file_path matches: .specweave/increments/*/spec.md
21
25
  #
22
- # Returns exit code 2 (block) if metadata.json missing, 0 (allow) otherwise.
26
+ # Returns exit 0 (allow) with warning message if metadata.json missing
23
27
  #
24
28
  # Bypass: Set SPECWEAVE_FORCE_METADATA=1 to skip validation
25
29
  #
26
30
  # v0.34.0 - Initial implementation based on user project bug analysis
31
+ # v1.0.37 - Changed from BLOCK to WARN (allow with warning message)
27
32
 
28
33
  set +e # CRITICAL: Never use set -e in hooks (causes cascading failures)
29
34
 
@@ -80,14 +85,14 @@ if [ -f "$METADATA_PATH" ]; then
80
85
  exit 0
81
86
  fi
82
87
 
83
- # metadata.json doesn't exist - BLOCK spec.md creation
88
+ # metadata.json doesn't exist - WARN but ALLOW spec.md creation (v1.0.37)
84
89
  NOW=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
85
90
 
86
- cat << BLOCK_EOF
91
+ cat << WARN_EOF
87
92
  {
88
- "decision": "block",
89
- "reason": "🚫 BLOCKED: Cannot create spec.md without metadata.json\n\n⚠️ CRITICAL RULE: metadata.json MUST be created FIRST!\n\nWithout metadata.json:\n - ❌ Status tracking broken\n - ❌ WIP limits don't work\n - ❌ External sync fails (GitHub/Jira/ADO)\n - ❌ All increment commands fail\n\n📋 CORRECT WORKFLOW:\n1. Create metadata.json FIRST:\n Write({\n file_path: \"${METADATA_PATH}\",\n content: {\n \"id\": \"${INCREMENT_ID}\",\n \"status\": \"planned\",\n \"type\": \"feature\",\n \"priority\": \"P1\",\n \"created\": \"${NOW}\",\n \"lastActivity\": \"${NOW}\",\n \"testMode\": \"TDD\",\n \"coverageTarget\": 95,\n \"feature_id\": null,\n \"epic_id\": null,\n \"externalLinks\": {}\n }\n })\n\n2. THEN create spec.md\n\n📖 See: CLAUDE.md section '3. metadata.json is MANDATORY'\n\n💡 Bypass: Set SPECWEAVE_FORCE_METADATA=1 to skip this validation"
93
+ "decision": "allow",
94
+ "message": "⚠️ WARNING: metadata.json MISSING - Creating spec.md without it!\n\n🚨 IMMEDIATE ACTION REQUIRED:\nCreate metadata.json NOW for this increment to work properly.\n\nWithout metadata.json:\n - ❌ Status tracking broken\n - ❌ WIP limits don't work\n - ❌ External sync fails (GitHub/Jira/ADO)\n - ❌ All increment commands fail\n\n📋 CREATE metadata.json:\n Write({\n file_path: \"${METADATA_PATH}\",\n content: {\n \"id\": \"${INCREMENT_ID}\",\n \"status\": \"planned\",\n \"type\": \"feature\",\n \"priority\": \"P1\",\n \"created\": \"${NOW}\",\n \"lastActivity\": \"${NOW}\",\n \"testMode\": \"TDD\",\n \"coverageTarget\": 95,\n \"feature_id\": null,\n \"epic_id\": null,\n \"externalLinks\": {}\n }\n })\n\nOperation ALLOWED - proceeding with spec.md write."
90
95
  }
91
- BLOCK_EOF
96
+ WARN_EOF
92
97
 
93
- exit 2
98
+ exit 0
@@ -10,7 +10,11 @@
10
10
  # - tool_name: Write
11
11
  # - file_path matches: .specweave/increments/*/spec.md OR .specweave/docs/internal/specs/*/
12
12
  #
13
- # Exit 0 = allow (with JSON), Exit 2 = block (with JSON)
13
+ # v1.0.37+: CRITICAL CHANGE - All validations now WARN instead of BLOCK!
14
+ # User feedback: "you MUST NEVER block such operations... do at least warning"
15
+ # Business logic and validation should be in scripts/agents, not hard blocks.
16
+ #
17
+ # Exit 0 = allow (with JSON warning message if validation fails)
14
18
  #
15
19
  # Bypasses:
16
20
  # - SPECWEAVE_DISABLE_HOOKS=1 - Disable all hooks
@@ -53,11 +57,11 @@ fi
53
57
  # ============================================================================
54
58
  if [[ "$HOOK_FILE_PATH" =~ \.specweave/increments/[0-9]{3,4}E?-[^/]+/spec\.md$ ]]; then
55
59
 
56
- # Check for unresolved {{...}} placeholders
60
+ # Check for unresolved {{...}} placeholders - WARN only (v1.0.37)
57
61
  if echo "$HOOK_CONTENT" | grep -qE '\{\{[A-Z_]+\}\}'; then
58
62
  PLACEHOLDERS=$(echo "$HOOK_CONTENT" | grep -oE '\{\{[A-Z_]+\}\}' | sort -u | tr '\n' ', ' | sed 's/,$//')
59
- printf '{"decision":"block","reason":"🚫 UNRESOLVED PLACEHOLDERS\\n\\nFound: %s\\n\\n🔧 FIX: Replace placeholders with actual values.\\nRun: specweave context projects\\nThen use values from the JSON output."}\n' "$PLACEHOLDERS"
60
- exit 2
63
+ printf '{"decision":"allow","message":"⚠️ UNRESOLVED PLACEHOLDERS DETECTED\\n\\nFound: %s\\n\\n🔧 FIX: Replace placeholders with actual values.\\nRun: specweave context projects\\nThen use values from the JSON output.\\n\\nOperation ALLOWED - proceeding anyway."}\n' "$PLACEHOLDERS"
64
+ exit 0
61
65
  fi
62
66
 
63
67
  # Check for **Project**: field in User Stories (soft validation - warn, don't block)
@@ -78,15 +82,16 @@ if [[ "$HOOK_FILE_PATH" =~ \.specweave/increments/[0-9]{3,4}E?-[^/]+/spec\.md$ ]
78
82
  exit 0
79
83
  fi
80
84
 
81
- # Check for comma-separated projects (forbidden - 1:1 mapping required)
85
+ # Check for comma-separated projects (1:1 mapping required) - WARN only (v1.0.37)
82
86
  if echo "$HOOK_CONTENT" | grep -qE '^\*\*Project\*\*:.*,'; then
83
- printf '{"decision":"block","reason":"🚫 MULTIPLE PROJECTS IN ONE US\\n\\nEach User Story MUST map to exactly ONE project.\\n\\n🔧 FIX: Split cross-project features into separate User Stories:\\n\\nWRONG:\\n### US-001: OAuth Implementation\\n**Project**: frontend, backend\\n\\nCORRECT:\\n### US-001: OAuth Login Form\\n**Project**: frontend\\n\\n### US-002: OAuth API\\n**Project**: backend"}\n'
84
- exit 2
87
+ printf '{"decision":"allow","message":"⚠️ MULTIPLE PROJECTS IN ONE US DETECTED\\n\\nEach User Story should map to exactly ONE project.\\n\\n💡 RECOMMENDATION: Split cross-project features into separate User Stories:\\n\\nWRONG:\\n### US-001: OAuth Implementation\\n**Project**: frontend, backend\\n\\nCORRECT:\\n### US-001: OAuth Login Form\\n**Project**: frontend\\n\\n### US-002: OAuth API\\n**Project**: backend\\n\\nOperation ALLOWED - proceeding anyway."}\n'
88
+ exit 0
85
89
  fi
86
90
 
87
91
  # Check structure level to validate **Board**: fields
88
92
  # For 1-level structures (GitHub), **Board**: should NOT be present
89
93
  # For 2-level structures (ADO/JIRA with boards), **Board**: is required
94
+ # NOTE: This is a WARNING only - do NOT block spec writes!
90
95
  PROJECT_ROOT="${HOOK_FILE_PATH%%/.specweave/*}"
91
96
  BOARD_COUNT=$(echo "$HOOK_CONTENT" | grep -cE '^\*\*Board\*\*:' 2>/dev/null || echo "0")
92
97
  BOARD_COUNT="${BOARD_COUNT//[^0-9]/}"
@@ -108,9 +113,10 @@ if [[ "$HOOK_FILE_PATH" =~ \.specweave/increments/[0-9]{3,4}E?-[^/]+/spec\.md$ ]
108
113
  fi
109
114
  fi
110
115
 
116
+ # WARN only - never block spec.md writes (too disruptive)
111
117
  if [[ "$IS_2LEVEL" != "true" ]]; then
112
- printf '{"decision":"block","reason":"🚫 **Board**: FIELDS NOT ALLOWED FOR 1-LEVEL STRUCTURE\\n\\nThis project uses GitHub sync (1-level structure).\\nEach sync profile = 1 project (no boards).\\n\\n🔧 FIX: Remove all **Board**: lines from spec.md\\n\\n**Board**: is only valid for:\\n- ADO with area path mapping\\n- JIRA with multiple boards\\n- Umbrella with multiple teams"}\n'
113
- exit 2
118
+ echo '{"decision":"allow","message":"⚠️ WARNING: **Board**: fields found but this is a 1-level structure (GitHub). Board fields are only needed for ADO/JIRA with multiple boards. Consider removing **Board**: lines."}'
119
+ exit 0
114
120
  fi
115
121
  fi
116
122
 
@@ -129,19 +135,19 @@ if [[ "$HOOK_FILE_PATH" =~ \.specweave/docs/internal/specs/([^/]+)/ ]]; then
129
135
  [[ "$PROJECT_NAME" == "_features" ]] && echo '{"decision":"allow"}' && exit 0
130
136
  [[ "$PROJECT_NAME" == "_archive" ]] && echo '{"decision":"allow"}' && exit 0
131
137
 
132
- # Check for template placeholders
138
+ # Check for template placeholders - WARN only (v1.0.37)
133
139
  if [[ "$PROJECT_NAME" =~ \{\{.*\}\} ]]; then
134
- printf '{"decision":"block","reason":"🚫 UNRESOLVED PLACEHOLDER: %s\\n\\n🔧 FIX: Replace {{...}} with actual project name"}\n' "$PROJECT_NAME"
135
- exit 2
140
+ printf '{"decision":"allow","message":"⚠️ UNRESOLVED PLACEHOLDER: %s\\n\\n🔧 FIX: Replace {{...}} with actual project name\\n\\nOperation ALLOWED - proceeding anyway."}\n' "$PROJECT_NAME"
141
+ exit 0
136
142
  fi
137
143
 
138
- # Check for comma-separated (invalid)
144
+ # Check for comma-separated (invalid) - WARN only (v1.0.37)
139
145
  if [[ "$PROJECT_NAME" =~ , ]]; then
140
- printf '{"decision":"block","reason":"🚫 COMMA-SEPARATED PROJECTS: %s\\n\\nEach User Story = ONE project folder.\\n\\n🔧 FIX: Split into separate specs"}\n' "$PROJECT_NAME"
141
- exit 2
146
+ printf '{"decision":"allow","message":"⚠️ COMMA-SEPARATED PROJECTS: %s\\n\\nEach User Story should have ONE project folder.\\n\\n💡 RECOMMENDATION: Split into separate specs\\n\\nOperation ALLOWED - proceeding anyway."}\n' "$PROJECT_NAME"
147
+ exit 0
142
148
  fi
143
149
 
144
- # Check for common example/placeholder names
150
+ # Check for common example/placeholder names - WARN only (v1.0.37)
145
151
  EXAMPLE_NAMES="frontend-app|backend-api|mobile-app|shared-lib|acme-corp|my-app|myapp|example-project|test-project"
146
152
  if [[ "$PROJECT_NAME" =~ ^($EXAMPLE_NAMES)$ ]]; then
147
153
  # Try to get valid projects from config
@@ -154,8 +160,8 @@ if [[ "$HOOK_FILE_PATH" =~ \.specweave/docs/internal/specs/([^/]+)/ ]]; then
154
160
 
155
161
  if [[ "$IS_CONFIGURED" != "true" ]]; then
156
162
  VALID_PROJECTS=$(jq -r '.multiProject.projects | keys | join(", ") // .project.name // "specweave"' "$CONFIG_FILE" 2>/dev/null || echo "specweave")
157
- printf '{"decision":"block","reason":"🚫 EXAMPLE PROJECT NAME: %s\\n\\nThis looks like a placeholder/example name from documentation.\\n\\nConfigured projects: %s\\n\\n🔧 FIX: Edit spec.md and use a real project name"}\n' "$PROJECT_NAME" "$VALID_PROJECTS"
158
- exit 2
163
+ printf '{"decision":"allow","message":"⚠️ EXAMPLE PROJECT NAME DETECTED: %s\\n\\nThis looks like a placeholder/example name from documentation.\\n\\nConfigured projects: %s\\n\\n💡 RECOMMENDATION: Edit spec.md and use a real project name\\n\\nOperation ALLOWED - proceeding anyway."}\n' "$PROJECT_NAME" "$VALID_PROJECTS"
164
+ exit 0
159
165
  fi
160
166
  fi
161
167
  fi