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 +18 -18
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js +70 -0
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js.map +1 -1
- package/dist/src/cli/workers/clone-worker.js +17 -0
- package/dist/src/cli/workers/clone-worker.js.map +1 -1
- package/dist/src/core/living-docs/scaffolding/scaffold.d.ts +7 -0
- package/dist/src/core/living-docs/scaffolding/scaffold.d.ts.map +1 -1
- package/dist/src/core/living-docs/scaffolding/scaffold.js +8 -1
- package/dist/src/core/living-docs/scaffolding/scaffold.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/hooks/lib/common-setup.sh +11 -1
- package/plugins/specweave/hooks/v2/guards/completion-guard.sh +15 -11
- package/plugins/specweave/hooks/v2/guards/increment-duplicate-guard.sh +22 -11
- package/plugins/specweave/hooks/v2/guards/metadata-json-guard.sh +16 -11
- package/plugins/specweave/hooks/v2/guards/spec-validation-guard.sh +24 -18
package/CLAUDE.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
<!-- SW:META template="claude" version="1.0.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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;
|
|
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":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAU,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGjE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,WAAmB,EACnB,OAAqB,EACrB,WAA+B,EAC/B,YAA0B,EAC1B,eAAgC,EAChC,kBAA0B,EAC1B,gBAA2B,EAC3B,SAAiB,aAAa;IAE9B,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAEpD,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;IAE1C,+CAA+C;IAC/C,MAAM,CAAC,KAAK,GAAG;QACb,oBAAoB,EAAE;YACpB,gBAAgB,EAAE,IAAI;YACtB,aAAa,EAAE,IAAI;YACnB,qBAAqB,EAAE,IAAI;SAC5B;QACD,uBAAuB,EAAE;YACvB,wBAAwB,EAAE,OAAO,KAAK,QAAQ,CAAC,kBAAkB;SAClE;KACF,CAAC;IAEF,kDAAkD;IAClD,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,MAAM,qBAAqB,CACzB,MAAM,EACN,QAAQ,EACR,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,gBAAgB,CACjB,CAAC;YACF,MAAM;QACR,KAAK,MAAM;YACT,mBAAmB,CACjB,MAAM,EACN,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,CAChB,CAAC;YACF,MAAM;QACR,KAAK,KAAK;YACR,kBAAkB,CAChB,MAAM,EACN,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,CAChB,CAAC;YACF,MAAM;IACV,CAAC;IAED,mCAAmC;IACnC,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACrG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;AACpF,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAClC,MAAW,EACX,QAA6B,EAC7B,WAAmB,EACnB,WAA+B,EAC/B,YAA0B,EAC1B,eAAgC,EAChC,kBAA0B,EAC1B,gBAA2B;IAE3B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,gCAAgC;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;YACnD,GAAG,EAAE,WAAW;YAChB,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,4FAA4F;QAC5F,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACrE,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qCAAqC;QACrC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClC,KAAK,GAAG,sBAAsB,CAAC,CAAC,4BAA4B;IAC9D,CAAC;IAED,sCAAsC;IACtC,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;gBACrB,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,MAAM,EAAE;oBACN,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;iBACnB;gBACD,SAAS,EAAE;oBACT,OAAO,EAAE,IAAI;oBACb,GAAG,EAAE,IAAI;iBACV;gBACD,UAAU,EAAE;oBACV,eAAe,EAAE,GAAG;oBACpB,aAAa,EAAE,GAAG;iBACnB;aACF,CAAC;QACJ,CAAC;QAED,sCAAsC;QACtC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAQ,CAAC;YACtD,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACzD,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,CAAC,IAAI,GAAG;YACZ,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,eAAwB;YACnC,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,cAAc,EAAE,iBAAiB,EAAE,EAAE,IAAI,MAAM;YAC/C,QAAQ,EAAE;gBACR,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;gBAC9D,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;gBAC9D,eAAe,EAAE,eAAe,CAAC,eAAe;aACjD;YACD,QAAQ;SACT,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,QAAQ,CAAC,gBAAgB,CAAC,GAAG;YAC3B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,gBAAgB;YAC7B,MAAM,EAAE;gBACN,KAAK;gBACL,IAAI;aACL;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,IAAI;aACV;YACD,UAAU,EAAE;gBACV,eAAe,EAAE,GAAG;gBACpB,aAAa,EAAE,GAAG;aACnB;SACF,CAAC;QAEF,MAAM,CAAC,IAAI,GAAG;YACZ,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,eAAwB;YACnC,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,cAAc,EAAE,gBAAgB;YAChC,QAAQ,EAAE;gBACR,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;gBAC9D,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;gBAC9D,eAAe,EAAE,eAAe,CAAC,eAAe;aACjD;YACD,QAAQ;SACT,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAC1B,MAAW,EACX,QAA6B,EAC7B,WAA+B,EAC/B,YAA0B,EAC1B,eAAgC;IAEhC,MAAM,SAAS,GAAG,WAAkB,CAAC;IACrC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;IAEtC,sEAAsE;IACtE,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAE5B,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,QAAQ,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;YAEpF,+DAA+D;YAC/D,sDAAsD;YACtD,wDAAwD;YAExD,QAAQ,CAAC,SAAS,CAAC,GAAG;gBACpB,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE,UAAU,UAAU,CAAC,GAAG,EAAE;gBACvC,MAAM,EAAE;oBACN,MAAM;oBACN,UAAU,EAAE,UAAU,CAAC,GAAG;oBAC1B,WAAW,EAAE,UAAU,CAAC,IAAI;oBAC5B,SAAS,EAAE,UAAU,CAAC,EAAE;oBACxB,+DAA+D;oBAC/D,6CAA6C;iBAC9C;gBACD,SAAS,EAAE;oBACT,OAAO,EAAE,IAAI;oBACb,GAAG,EAAE,IAAI;iBACV;aACF,CAAC;YAEF,4EAA4E;YAC5E,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,kBAAkB,GAAG,SAAS,CAAC;YACjC,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,IAAI,GAAG;YACZ,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,eAAwB;YACnC,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,MAAM;YAChB,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,cAAc,EAAE,kBAAkB;YAClC,QAAQ,EAAE;gBACR,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;gBAC9D,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;gBAC9D,eAAe,EAAE,eAAe,CAAC,eAAe;aACjD;YACD,QAAQ;SACT,CAAC;QAEF,oEAAoE;QACpE,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC5G,MAAc,CAAC,YAAY,GAAG;YAC7B,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACrE,CAAC;QAEF,OAAO;IACT,CAAC;IAED,4DAA4D;IAC5D,IAAI,OAAO,GAAsB,EAAE,CAAC;IACpC,IAAI,SAAS,CAAC,QAAQ,KAAK,kBAAkB,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACpE,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,wBAAwB;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,QAAQ,CAAC,cAAc,CAAC,GAAG;QACzB,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,cAAc;QAC3B,MAAM,EAAE;YACN,MAAM;YACN,oEAAoE;YACpE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACvB,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAC1B;SACF;QACD,SAAS,EAAE;YACT,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,IAAI;SACV;KACF,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,eAAwB;QACnC,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,eAAe,EAAE,YAAY,CAAC,eAAe;QAC7C,cAAc,EAAE,cAAc;QAC9B,QAAQ,EAAE;YACR,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;YAC9D,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;YAC9D,eAAe,EAAE,eAAe,CAAC,eAAe;SACjD;QACD,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAI,GAAoB,EAAE,KAA2B;IACnF,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CACzB,MAAW,EACX,QAA6B,EAC7B,WAA+B,EAC/B,YAA0B,EAC1B,eAAgC;IAEhC,MAAM,QAAQ,GAAG,WAAkB,CAAC;IACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAEvC,gDAAgD;IAChD,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAE5B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;YAE9E,qEAAqE;YACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM;gBAC7C,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE,CAC7C,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC9F;gBACH,CAAC,CAAC,SAAS,CAAC;YAEd,QAAQ,CAAC,SAAS,CAAC,GAAG;gBACpB,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,kBAAkB,IAAI,CAAC,IAAI,EAAE;gBAC1C,MAAM,EAAE;oBACN,YAAY;oBACZ,OAAO,EAAE,IAAI,CAAC,IAAI;oBAClB,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjD;gBACD,SAAS,EAAE;oBACT,OAAO,EAAE,IAAI;oBACb,GAAG,EAAE,IAAI;iBACV;aACF,CAAC;YAEF,+CAA+C;YAC/C,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvC,kBAAkB,GAAG,SAAS,CAAC;YACjC,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,IAAI,GAAG;YACZ,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,eAAwB;YACnC,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,cAAc,EAAE,kBAAkB;YAClC,QAAQ,EAAE;gBACR,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;gBAC9D,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;gBAC9D,eAAe,EAAE,eAAe,CAAC,eAAe;aACjD;YACD,QAAQ;SACT,CAAC;QAEF,wDAAwD;QACxD,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAc,CAAC,YAAY,GAAG;YAC7B,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACtE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,wDAAwD;QACxD,+CAA+C;QAC/C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM;YACjD,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE,CACjD,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC9F;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,QAAQ,CAAC,aAAa,CAAC,GAAG;YACxB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,sBAAsB;YACnC,MAAM,EAAE;gBACN,YAAY;gBACZ,OAAO;gBACP,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,IAAI;aACV;SACF,CAAC;QAEF,MAAM,CAAC,IAAI,GAAG;YACZ,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,eAAwB;YACnC,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,cAAc,EAAE,aAAa;YAC7B,QAAQ,EAAE;gBACR,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;gBAC9D,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;gBAC9D,eAAe,EAAE,eAAe,CAAC,eAAe;aACjD;YACD,QAAQ;SACT,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
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;
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAU,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAwB,MAAM,sBAAsB,CAAC;
|
|
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.
|
|
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 -
|
|
2
|
+
# completion-guard.sh - WARN (not block) on direct editing of metadata.json to "completed" status
|
|
3
3
|
#
|
|
4
|
-
# v0.28.63+:
|
|
5
|
-
# Status
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
61
|
-
cat << '
|
|
64
|
+
# WARN - trying to set completed without going through ready_for_review (v1.0.37)
|
|
65
|
+
cat << 'WARN_EOF'
|
|
62
66
|
{
|
|
63
|
-
"decision": "
|
|
64
|
-
"
|
|
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
|
-
|
|
67
|
-
exit
|
|
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 -
|
|
2
|
+
# increment-duplicate-guard.sh - WARN (not block) on duplicate increment IDs
|
|
3
3
|
#
|
|
4
|
-
# v0.33.0+:
|
|
5
|
-
# Also
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
|
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,
|
|
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
|
-
|
|
133
|
-
|
|
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
|
|
6
|
-
# This
|
|
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
|
-
#
|
|
16
|
-
#
|
|
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
|
|
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 -
|
|
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 <<
|
|
91
|
+
cat << WARN_EOF
|
|
87
92
|
{
|
|
88
|
-
"decision": "
|
|
89
|
-
"
|
|
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
|
-
|
|
96
|
+
WARN_EOF
|
|
92
97
|
|
|
93
|
-
exit
|
|
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
|
-
#
|
|
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":"
|
|
60
|
-
exit
|
|
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 (
|
|
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":"
|
|
84
|
-
exit
|
|
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
|
-
|
|
113
|
-
exit
|
|
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":"
|
|
135
|
-
exit
|
|
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":"
|
|
141
|
-
exit
|
|
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":"
|
|
158
|
-
exit
|
|
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
|