specweave 0.28.0 β†’ 0.28.1

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 (56) hide show
  1. package/README.md +64 -72
  2. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +6 -2
  3. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
  4. package/dist/plugins/specweave-github/lib/github-client-v2.js +28 -8
  5. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
  6. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.d.ts +21 -0
  7. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.d.ts.map +1 -0
  8. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.js +166 -0
  9. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.js.map +1 -0
  10. package/dist/src/core/repo-structure/repo-structure-manager.d.ts +1 -1
  11. package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
  12. package/dist/src/core/repo-structure/repo-structure-manager.js +5 -11
  13. package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
  14. package/dist/src/core/sync/label-detector.d.ts.map +1 -1
  15. package/dist/src/core/sync/label-detector.js +22 -9
  16. package/dist/src/core/sync/label-detector.js.map +1 -1
  17. package/dist/src/metrics/calculators/deployment-frequency.d.ts +12 -8
  18. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +1 -1
  19. package/dist/src/metrics/calculators/deployment-frequency.js +16 -12
  20. package/dist/src/metrics/calculators/deployment-frequency.js.map +1 -1
  21. package/dist/src/metrics/dora-calculator.d.ts +2 -1
  22. package/dist/src/metrics/dora-calculator.d.ts.map +1 -1
  23. package/dist/src/metrics/dora-calculator.js +9 -4
  24. package/dist/src/metrics/dora-calculator.js.map +1 -1
  25. package/dist/src/metrics/github-client.d.ts +12 -0
  26. package/dist/src/metrics/github-client.d.ts.map +1 -1
  27. package/dist/src/metrics/github-client.js +30 -0
  28. package/dist/src/metrics/github-client.js.map +1 -1
  29. package/dist/src/sync/sync-coordinator.d.ts +33 -0
  30. package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
  31. package/dist/src/sync/sync-coordinator.js +203 -2
  32. package/dist/src/sync/sync-coordinator.js.map +1 -1
  33. package/dist/src/utils/env-file-generator.d.ts +8 -23
  34. package/dist/src/utils/env-file-generator.d.ts.map +1 -1
  35. package/dist/src/utils/env-file-generator.js +31 -71
  36. package/dist/src/utils/env-file-generator.js.map +1 -1
  37. package/package.json +7 -2
  38. package/plugins/specweave/agents/architect/AGENT.md +2 -2
  39. package/plugins/specweave/agents/docs-writer/AGENT.md +2 -2
  40. package/plugins/specweave/agents/pm/AGENT.md +2 -2
  41. package/plugins/specweave/agents/qa-lead/AGENT.md +2 -2
  42. package/plugins/specweave/agents/security/AGENT.md +2 -2
  43. package/plugins/specweave/agents/tdd-orchestrator/AGENT.md +2 -2
  44. package/plugins/specweave/agents/tech-lead/AGENT.md +2 -2
  45. package/plugins/specweave/agents/test-aware-planner/AGENT.md +2 -2
  46. package/plugins/specweave/hooks/post-increment-completion.sh +84 -0
  47. package/plugins/specweave/hooks/post-increment-planning.sh +114 -7
  48. package/plugins/specweave/lib/hooks/sync-increment-closure.js +66 -0
  49. package/plugins/specweave/lib/hooks/sync-increment-closure.ts +111 -0
  50. package/plugins/specweave-github/lib/github-client-v2.js +32 -8
  51. package/plugins/specweave-github/lib/github-client-v2.ts +31 -9
  52. package/plugins/specweave-github/lib/github-feature-sync-cli.js +135 -0
  53. package/plugins/specweave-github/lib/github-feature-sync-cli.ts +194 -0
  54. package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +43 -0
  55. package/plugins/specweave-infrastructure/agents/devops/AGENT.md +2 -2
  56. package/src/templates/.env.example +9 -26
package/README.md CHANGED
@@ -9,6 +9,24 @@
9
9
 
10
10
  ---
11
11
 
12
+ ## πŸ”„ Built With SpecWeave (Dogfooding)
13
+
14
+ > **SpecWeave is 100% built using SpecWeave.** Every feature, every bug fix, every release β€” all spec-driven.
15
+
16
+ This isn't just a framework we made β€” it's the framework we use every day. Our entire development workflow runs on SpecWeave:
17
+ - **60+ completed increments** with full specs, plans, and tasks
18
+ - **Living docs** that auto-update after every task
19
+ - **DORA metrics** tracking real delivery performance
20
+
21
+ [![Deploy Frequency](https://img.shields.io/badge/dynamic/json?url=https://raw.githubusercontent.com/anton-abyzov/specweave/develop/.specweave/metrics/dora-latest.json&query=$.metrics.deploymentFrequency.value&label=Deploy%20Frequency&suffix=/month&color=brightgreen)](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
22
+ [![Lead Time](https://img.shields.io/badge/dynamic/json?url=https://raw.githubusercontent.com/anton-abyzov/specweave/develop/.specweave/metrics/dora-latest.json&query=$.metrics.leadTime.value&label=Lead%20Time&suffix=h&color=brightgreen)](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
23
+ [![Change Failure Rate](https://img.shields.io/badge/dynamic/json?url=https://raw.githubusercontent.com/anton-abyzov/specweave/develop/.specweave/metrics/dora-latest.json&query=$.metrics.changeFailureRate.value&label=Change%20Failure%20Rate&suffix=%25&color=brightgreen)](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
24
+ [![MTTR](https://img.shields.io/badge/dynamic/json?url=https://raw.githubusercontent.com/anton-abyzov/specweave/develop/.specweave/metrics/dora-latest.json&query=$.metrics.mttr.value&label=MTTR&suffix=min&color=brightgreen)](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/docs/internal/delivery/dora-metrics.md)
25
+
26
+ **[β†’ Live Dashboard](https://spec-weave.com/docs/metrics)** | **[β†’ Detailed Report](https://github.com/anton-abyzov/specweave/blob/develop/.specweave/metrics/dora-report.md)** | **[β†’ Browse Our Increments](https://github.com/anton-abyzov/specweave/tree/develop/.specweave/increments)**
27
+
28
+ ---
29
+
12
30
  ## What Makes SpecWeave Different
13
31
 
14
32
  Every AI coding tool promises productivity. But after the chat ends:
@@ -22,7 +40,11 @@ Every AI coding tool promises productivity. But after the chat ends:
22
40
  **SpecWeave is the only framework where AI decisions become permanent, searchable documentation.**
23
41
 
24
42
  ```
25
- Your Idea β†’ Spec (permanent) β†’ Plan (permanent) β†’ Tasks (permanent) β†’ Code β†’ Living Docs (auto-synced)
43
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
44
+ β”‚ Your β”‚ β”‚ Spec β”‚ β”‚ Plan β”‚ β”‚ Tasks β”‚ β”‚ Code β”‚ β”‚ Living β”‚
45
+ β”‚ Idea │───▢│(permanent│───▢│(permanent│───▢│(permanent│───▢│ │───▢│ Docs β”‚
46
+ β”‚ β”‚ β”‚ βœ“) β”‚ β”‚ βœ“) β”‚ β”‚ βœ“) β”‚ β”‚ β”‚ β”‚(auto-syncβ”‚
47
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
26
48
  ```
27
49
 
28
50
  ---
@@ -31,35 +53,35 @@ Your Idea β†’ Spec (permanent) β†’ Plan (permanent) β†’ Tasks (permanent) β†’ Co
31
53
 
32
54
  ```mermaid
33
55
  flowchart TB
34
- subgraph INPUT["1. YOU TYPE ONE COMMAND"]
35
- A["<b>/specweave:increment</b><br/>'Add user authentication with OAuth'"]
56
+ subgraph INPUT["1. TYPE ONE COMMAND"]
57
+ A["/specweave:increment<br/>'Add dark mode'"]
36
58
  end
37
59
 
38
- subgraph AGENTS["2. AI AGENTS CREATE YOUR FOUNDATION"]
60
+ subgraph AGENTS["2. AI AGENTS CREATE"]
39
61
  direction TB
40
- PM["<b>PM Agent</b><br/>User stories, acceptance criteria,<br/>market research"]
41
- ARCH["<b>Architect Agent</b><br/>System design, ADRs,<br/>tech stack decisions"]
42
- PLAN["<b>Planner Agent</b><br/>Tasks with embedded tests,<br/>coverage targets"]
62
+ PM["PM Agent<br/>User stories + ACs"]
63
+ ARCH["Architect Agent<br/>Design + ADRs"]
64
+ PLAN["Planner Agent<br/>Tasks + Tests"]
43
65
  PM --> ARCH --> PLAN
44
66
  end
45
67
 
46
- subgraph OUTPUT["3. THREE PERMANENT FILES"]
68
+ subgraph OUTPUT["3. PERMANENT FILES"]
47
69
  direction LR
48
- SPEC["<b>spec.md</b><br/>WHAT & WHY<br/>(User Stories + ACs)"]
49
- PLANF["<b>plan.md</b><br/>HOW<br/>(Architecture + ADRs)"]
50
- TASKS["<b>tasks.md</b><br/>DO<br/>(Tasks + Tests)"]
70
+ SPEC["spec.md<br/>WHAT"]
71
+ PLANF["plan.md<br/>HOW"]
72
+ TASKS["tasks.md<br/>DO"]
51
73
  end
52
74
 
53
- subgraph EXECUTE["4. ONE COMMAND TO BUILD"]
54
- B["<b>/specweave:do</b><br/>Autonomous execution through all tasks"]
75
+ subgraph EXECUTE["4. BUILD"]
76
+ B["/specweave:do<br/>Autonomous execution"]
55
77
  end
56
78
 
57
- subgraph SYNC["5. AUTO-SYNC EVERYWHERE"]
79
+ subgraph SYNC["5. AUTO-SYNC"]
58
80
  direction LR
59
- GH["<b>GitHub Issues</b><br/>Checkboxes update"]
60
- JIRA["<b>JIRA</b><br/>Epic/Story hierarchy"]
61
- ADO["<b>Azure DevOps</b><br/>Work items"]
62
- DOCS["<b>Living Docs</b><br/>Always current"]
81
+ GH["GitHub"]
82
+ JIRA["JIRA"]
83
+ ADO["ADO"]
84
+ DOCS["Docs"]
63
85
  end
64
86
 
65
87
  INPUT --> AGENTS
@@ -86,37 +108,26 @@ specweave init .
86
108
 
87
109
  Then in Claude Code:
88
110
  ```bash
89
- /specweave:increment "User authentication with OAuth" # AI creates spec + plan + tasks
90
- /specweave:do # Autonomous implementation
91
- /specweave:done 0001 # Quality-validated completion
111
+ /specweave:increment "Add dark mode toggle" # AI creates spec + plan + tasks
112
+ /specweave:do # Autonomous implementation
113
+ /specweave:done 0001 # Quality-validated completion
92
114
  ```
93
115
 
116
+ **Pro tip**: Use `/specweave:next` to flow through the entire cycle. One command auto-closes completed work and suggests what's next β€” review specs/tasks when needed, otherwise just keep clicking "next".
117
+
94
118
  **[Full Quickstart Guide](https://spec-weave.com/docs/guides/getting-started/quickstart)**
95
119
 
96
120
  ---
97
121
 
98
- ## Why SpecWeave Over Alternatives?
99
-
100
- ### vs. BMAD Method (18K GitHub Stars)
101
-
102
- | Aspect | BMAD | SpecWeave |
103
- |--------|------|-----------|
104
- | **Focus** | Greenfield microservices | **Brownfield + Greenfield** |
105
- | **Context Efficiency** | Context crashes documented | **70%+ token reduction** |
106
- | **Multi-Repo** | Single repo focus | **Multi-project mode** |
107
- | **External Sync** | None | **GitHub/JIRA/ADO bidirectional** |
108
- | **Quality Gates** | Optional | **3-gate PM validation** |
109
- | **Learning Curve** | Steep (YAML/agents) | Medium (CLI commands) |
122
+ ## Key Strengths
110
123
 
111
- ### vs. GitHub Spec Kit
112
-
113
- | Aspect | Spec Kit | SpecWeave |
114
- |--------|----------|-----------|
115
- | **Maturity** | Experimental | **Production-ready** |
116
- | **Brownfield** | Not supported | **Core strength** |
117
- | **Implementation Quality** | "Poor" (user reports) | **Quality gates enforce standards** |
118
- | **Human Oversight** | Batch execution | **Milestone validation** |
119
- | **Enterprise Features** | None | **Compliance, multi-team, DORA** |
124
+ - **Brownfield + Greenfield** β€” Works with existing codebases, not just new projects
125
+ - **70%+ Token Reduction** β€” Progressive loading, context optimizer, sub-agent isolation
126
+ - **Multi-Project Mode** β€” Manage multiple repos with shared specs and cross-project sync
127
+ - **Bidirectional Sync** β€” GitHub Issues, JIRA, Azure DevOps stay in sync automatically
128
+ - **3-Gate Quality Validation** β€” Tasks, tests (60%+), and docs verified before closing
129
+ - **15+ Specialized Agents** β€” PM, Architect, Tech Lead, QA, Security, DevOps work autonomously
130
+ - **Living Documentation** β€” Specs auto-update after every task via hooks
120
131
 
121
132
  ---
122
133
 
@@ -172,31 +183,12 @@ flowchart LR
172
183
 
173
184
  ---
174
185
 
175
- ## DORA Metrics Integration
176
-
177
- SpecWeave automatically calculates your team's [DORA metrics](https://dora.dev/) from GitHub data:
178
-
179
- ```bash
180
- npm run metrics:dora
181
- ```
182
-
183
- | Metric | What It Measures | Elite Performance |
184
- |--------|------------------|-------------------|
185
- | **Deployment Frequency** | How often you release | Multiple per day |
186
- | **Lead Time for Changes** | Commit to production | Less than 1 day |
187
- | **Change Failure Rate** | % of releases causing issues | 0-15% |
188
- | **Mean Time to Recovery** | Time to restore service | Less than 1 hour |
189
-
190
- **Connect your spec-driven workflow directly to industry-standard metrics.**
191
-
192
- ---
193
-
194
186
  ## The Three-File Foundation
195
187
 
196
188
  Every feature generates three permanent files:
197
189
 
198
190
  ```
199
- .specweave/increments/0001-user-authentication/
191
+ .specweave/increments/0001-dark-mode/
200
192
  β”œβ”€β”€ spec.md ← WHAT: User stories, acceptance criteria, requirements
201
193
  β”œβ”€β”€ plan.md ← HOW: Architecture, tech decisions, ADRs
202
194
  └── tasks.md ← DO: Implementation tasks with embedded tests
@@ -206,26 +198,26 @@ Every feature generates three permanent files:
206
198
  ```markdown
207
199
  ## User Stories
208
200
 
209
- ### US-001: User Login
210
- As a user, I want to log in with OAuth so that I don't need to remember passwords.
201
+ ### US-001: Dark Mode Toggle
202
+ As a user, I want to toggle dark mode so that I can reduce eye strain at night.
211
203
 
212
204
  **Acceptance Criteria:**
213
- - [x] AC-US1-01: Google OAuth integration works
214
- - [x] AC-US1-02: Session persists across browser refresh
215
- - [ ] AC-US1-03: Logout clears all tokens
205
+ - [x] AC-US1-01: Toggle switch in settings persists preference
206
+ - [x] AC-US1-02: Theme applies to all components instantly
207
+ - [ ] AC-US1-03: System preference detected on first visit
216
208
  ```
217
209
 
218
210
  ### tasks.md (DO)
219
211
  ```markdown
220
- ### T-001: Implement OAuth Service
212
+ ### T-001: Implement Theme Provider
221
213
  **User Story**: US-001
222
214
  **Satisfies ACs**: AC-US1-01, AC-US1-02
223
215
  **Status**: [x] completed
224
216
 
225
217
  **Embedded Tests** (AC-US1-01):
226
- - test_google_oauth_redirects_correctly
227
- - test_callback_exchanges_code_for_token
228
- - test_user_profile_is_fetched
218
+ - test_theme_toggle_persists_to_localstorage
219
+ - test_theme_applies_to_all_components
220
+ - test_toggle_updates_ui_instantly
229
221
  ```
230
222
 
231
223
  ---
@@ -319,7 +311,7 @@ Import from Notion, Confluence, GitHub Wiki. AI classifies docs automatically an
319
311
  ## Requirements
320
312
 
321
313
  - Node.js 20+
322
- - Claude Code (recommended) or compatible AI assistant
314
+ - Claude Code with **Claude Opus 4.5** (recommended) β€” [released Nov 2025](https://www.anthropic.com/news/claude-opus-4-5)
323
315
  - Git repository
324
316
 
325
317
  ---
@@ -56,10 +56,14 @@ export declare class GitHubClientV2 {
56
56
  * Validate issue title format
57
57
  *
58
58
  * CRITICAL: Enforces correct data flow architecture
59
- * - βœ… CORRECT: "US-XXX: Title" or "FS-YY-MM-DD: Title"
59
+ * - βœ… CORRECT: "[FS-XXX][US-YYY] Title" (User Story - STANDARD)
60
+ * - βœ… CORRECT: "[FS-XXX] Title" (Feature-level, rare)
60
61
  * - ❌ WRONG: "[Increment XXXX] Title" (deprecated old format)
62
+ * - ❌ WRONG: "[BUG] Title" (type prefixes are labels, not title)
63
+ * - ❌ WRONG: "[HOTFIX] Title" (type prefixes are labels, not title)
64
+ * - ❌ WRONG: "[FEATURE] Title" (type prefixes are labels, not title)
61
65
  *
62
- * @throws Error if title uses deprecated [Increment XXXX] format
66
+ * @throws Error if title uses invalid format
63
67
  */
64
68
  private validateIssueTitle;
65
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"github-client-v2.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-client-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,WAAW,EAAgB,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAElG,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAS;IAEzB;;OAEG;gBACS,OAAO,EAAE,WAAW;IAWhC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc;IAU5D;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,OAAO,IAAI,MAAM;IAQjB;;OAEG;WACU,QAAQ,IAAI,OAAO,CAAC;QAC/B,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAwBF;;OAEG;WACU,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IA4BpF;;OAEG;IACG,oBAAoB,CACxB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,GAAE,MAAU,GACtB,OAAO,CAAC,eAAe,CAAC;IAqC3B;;OAEG;YACW,mBAAmB;IAqBjC;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;;;;;;;;;OAUG;IACG,oBAAoB,CAAC,MAAM,EAAE;QACjC,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,GAAG,OAAO,CAAC,WAAW,CAAC;IAgBxB;;OAEG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAC3B,MAAM,GAAE,MAAM,EAAO,GACpB,OAAO,CAAC,WAAW,CAAC;IA4DvB;;OAEG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAC3B,MAAM,GAAE,MAAM,EAAO,GACpB,OAAO,CAAC,WAAW,CAAC;IAOvB;;OAEG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAyBzD;;;;OAIG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAwCpE;;OAEG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB1E;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBrE;;;;OAIG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IA0BzF;;OAEG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BrE;;OAEG;IACG,qBAAqB,CACzB,SAAS,EAAE,eAAe,EAC1B,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC;IA8BzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsD1B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,IAAI,CAAC;KACb,CAAC;IAyBF;;OAEG;IACG,iBAAiB,CACrB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,EACjE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GACrD,OAAO,CAAC,WAAW,EAAE,CAAC;IA+CzB,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"github-client-v2.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-client-v2.ts"],"names":[],"mappings":"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"}
@@ -152,24 +152,44 @@ export class GitHubClientV2 {
152
152
  * Validate issue title format
153
153
  *
154
154
  * CRITICAL: Enforces correct data flow architecture
155
- * - βœ… CORRECT: "US-XXX: Title" or "FS-YY-MM-DD: Title"
155
+ * - βœ… CORRECT: "[FS-XXX][US-YYY] Title" (User Story - STANDARD)
156
+ * - βœ… CORRECT: "[FS-XXX] Title" (Feature-level, rare)
156
157
  * - ❌ WRONG: "[Increment XXXX] Title" (deprecated old format)
158
+ * - ❌ WRONG: "[BUG] Title" (type prefixes are labels, not title)
159
+ * - ❌ WRONG: "[HOTFIX] Title" (type prefixes are labels, not title)
160
+ * - ❌ WRONG: "[FEATURE] Title" (type prefixes are labels, not title)
157
161
  *
158
- * @throws Error if title uses deprecated [Increment XXXX] format
162
+ * @throws Error if title uses invalid format
159
163
  */
160
164
  validateIssueTitle(title) {
161
165
  // Check for deprecated [Increment XXXX] format
162
- const deprecatedPattern = /\[Increment\s+\d+\]/i;
163
- if (deprecatedPattern.test(title)) {
166
+ const deprecatedIncrementPattern = /\[Increment\s+\d+\]/i;
167
+ if (deprecatedIncrementPattern.test(title)) {
164
168
  throw new Error(`❌ DEPRECATED FORMAT DETECTED: "${title}"\n\n` +
165
169
  `GitHub issues MUST use living docs format:\n` +
166
- ` βœ… CORRECT: "US-XXX: Title" (User Story)\n` +
167
- ` βœ… CORRECT: "FS-YY-MM-DD: Title" (Feature Spec)\n` +
170
+ ` βœ… CORRECT: "[FS-XXX][US-YYY] Title" (User Story)\n` +
168
171
  ` ❌ WRONG: "[Increment XXXX] Title" (old format)\n\n` +
169
172
  `WHY: Correct data flow is: Increment β†’ Living Docs β†’ GitHub\n` +
170
173
  ` Living docs are the source of truth for GitHub sync.\n\n` +
171
- `FIX: Use /specweave:sync-docs to generate living docs, then sync to GitHub.\n` +
172
- ` OR: Use US/FS ID format directly if creating issues manually.`);
174
+ `FIX: Use /specweave:sync-docs to generate living docs, then sync to GitHub.`);
175
+ }
176
+ // Check for type-based prefixes (CRITICAL FIX for issue #749)
177
+ // These prefixes belong as LABELS, not in the issue title!
178
+ const typePrefixPattern = /^\[(BUG|HOTFIX|FEATURE|DOCS|REFACTOR|CHORE|EXPERIMENT|Bug|Hotfix|Feature|Docs|Refactor|Chore|Experiment)\]/i;
179
+ if (typePrefixPattern.test(title)) {
180
+ const match = title.match(typePrefixPattern);
181
+ const badPrefix = match ? match[0] : '[TYPE]';
182
+ throw new Error(`❌ INVALID TITLE FORMAT: "${title}"\n\n` +
183
+ `Type prefixes like ${badPrefix} belong as LABELS, not in the title!\n\n` +
184
+ `GitHub issues MUST use this format:\n` +
185
+ ` βœ… CORRECT: "[FS-XXX][US-YYY] Title" (User Story)\n` +
186
+ ` ❌ WRONG: "${badPrefix} Title" (use 'bug' label instead)\n\n` +
187
+ `WHY: All SpecWeave issues follow [FS-XXX][US-YYY] format for traceability.\n` +
188
+ ` Use GitHub labels for categorization (bug, enhancement, etc.).\n\n` +
189
+ `FIX:\n` +
190
+ ` 1. Link this work to a Feature (FS-XXX) and User Story (US-YYY)\n` +
191
+ ` 2. Use /specweave-github:sync to create issue with correct format\n` +
192
+ ` 3. Add '${match ? match[1].toLowerCase() : 'bug'}' as a label instead`);
173
193
  }
174
194
  }
175
195
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"github-client-v2.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-client-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-client-v2.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-client-v2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * GitHub Feature Sync CLI
4
+ *
5
+ * CLI wrapper for GitHubFeatureSync.syncFeatureToGitHub()
6
+ * Called by post-increment-planning.sh hook to create GitHub issues
7
+ * after increment creation.
8
+ *
9
+ * Usage:
10
+ * node github-feature-sync-cli.js <feature-id>
11
+ * node github-feature-sync-cli.js FS-062
12
+ *
13
+ * Environment:
14
+ * GITHUB_TOKEN - Required
15
+ * GITHUB_OWNER - Optional (detected from config.json or git remote)
16
+ * GITHUB_REPO - Optional (detected from config.json or git remote)
17
+ *
18
+ * @see ADR-0139 (Unified Post-Increment Sync)
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=github-feature-sync-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-feature-sync-cli.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-feature-sync-cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -0,0 +1,166 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * GitHub Feature Sync CLI
4
+ *
5
+ * CLI wrapper for GitHubFeatureSync.syncFeatureToGitHub()
6
+ * Called by post-increment-planning.sh hook to create GitHub issues
7
+ * after increment creation.
8
+ *
9
+ * Usage:
10
+ * node github-feature-sync-cli.js <feature-id>
11
+ * node github-feature-sync-cli.js FS-062
12
+ *
13
+ * Environment:
14
+ * GITHUB_TOKEN - Required
15
+ * GITHUB_OWNER - Optional (detected from config.json or git remote)
16
+ * GITHUB_REPO - Optional (detected from config.json or git remote)
17
+ *
18
+ * @see ADR-0139 (Unified Post-Increment Sync)
19
+ */
20
+ import { existsSync, readFileSync } from 'fs';
21
+ import * as path from 'path';
22
+ import { GitHubFeatureSync } from './github-feature-sync.js';
23
+ import { GitHubClientV2 } from './github-client-v2.js';
24
+ async function loadGitHubConfig() {
25
+ const projectRoot = process.cwd();
26
+ const configPath = path.join(projectRoot, '.specweave/config.json');
27
+ let owner = process.env.GITHUB_OWNER || '';
28
+ let repo = process.env.GITHUB_REPO || '';
29
+ const token = process.env.GITHUB_TOKEN || '';
30
+ // Try to load from config.json
31
+ if (existsSync(configPath)) {
32
+ try {
33
+ const config = JSON.parse(readFileSync(configPath, 'utf-8'));
34
+ // Method 1: sync.github
35
+ if (config.sync?.github?.owner && config.sync?.github?.repo) {
36
+ owner = config.sync.github.owner;
37
+ repo = config.sync.github.repo;
38
+ }
39
+ // Method 2: multiProject.projects[activeProject].externalTools.github
40
+ else if (config.multiProject?.enabled && config.multiProject?.activeProject) {
41
+ const activeProject = config.multiProject.activeProject;
42
+ const projectConfig = config.multiProject.projects?.[activeProject];
43
+ if (projectConfig?.externalTools?.github?.repository) {
44
+ const parts = projectConfig.externalTools.github.repository.split('/');
45
+ if (parts.length === 2) {
46
+ owner = parts[0];
47
+ repo = parts[1];
48
+ }
49
+ }
50
+ }
51
+ // Method 3: sync.profiles[activeProfile]
52
+ else if (config.sync?.activeProfile && config.sync?.profiles) {
53
+ const profile = config.sync.profiles[config.sync.activeProfile];
54
+ if (profile?.config?.owner && profile?.config?.repo) {
55
+ owner = profile.config.owner;
56
+ repo = profile.config.repo;
57
+ }
58
+ }
59
+ }
60
+ catch (error) {
61
+ console.error('⚠️ Failed to parse config.json:', error);
62
+ }
63
+ }
64
+ // Fallback: detect from git remote
65
+ if (!owner || !repo) {
66
+ try {
67
+ const { execSync } = await import('child_process');
68
+ const remoteUrl = execSync('git remote get-url origin 2>/dev/null', {
69
+ encoding: 'utf-8',
70
+ cwd: projectRoot
71
+ }).trim();
72
+ // Parse GitHub URL (HTTPS or SSH)
73
+ const match = remoteUrl.match(/github\.com[:/]([^/]+)\/([^/.]+)/);
74
+ if (match) {
75
+ owner = owner || match[1];
76
+ repo = repo || match[2];
77
+ }
78
+ }
79
+ catch {
80
+ // Git detection failed, continue with what we have
81
+ }
82
+ }
83
+ if (!token) {
84
+ console.error('❌ GITHUB_TOKEN not set');
85
+ console.error(' Set it in .env file or export GITHUB_TOKEN=ghp_xxx');
86
+ return null;
87
+ }
88
+ if (!owner || !repo) {
89
+ console.error('❌ Could not detect GitHub owner/repo');
90
+ console.error(' Set sync.github.owner and sync.github.repo in .specweave/config.json');
91
+ return null;
92
+ }
93
+ return { owner, repo, token };
94
+ }
95
+ async function main() {
96
+ const args = process.argv.slice(2);
97
+ if (args.length === 0 || args[0] === '--help' || args[0] === '-h') {
98
+ console.log('Usage: node github-feature-sync-cli.js <feature-id>');
99
+ console.log('');
100
+ console.log('Arguments:');
101
+ console.log(' feature-id Feature ID (e.g., FS-062)');
102
+ console.log('');
103
+ console.log('Environment:');
104
+ console.log(' GITHUB_TOKEN Required - GitHub personal access token');
105
+ console.log('');
106
+ console.log('Example:');
107
+ console.log(' GITHUB_TOKEN=ghp_xxx node github-feature-sync-cli.js FS-062');
108
+ process.exit(args.length === 0 ? 1 : 0);
109
+ }
110
+ const featureId = args[0];
111
+ // Validate feature ID format
112
+ if (!featureId.match(/^FS-\d+$/i)) {
113
+ console.error(`❌ Invalid feature ID: ${featureId}`);
114
+ console.error(' Expected format: FS-XXX (e.g., FS-062)');
115
+ process.exit(1);
116
+ }
117
+ console.log(`\nπŸ™ GitHub Feature Sync CLI`);
118
+ console.log(` Feature: ${featureId}`);
119
+ // Load config
120
+ const config = await loadGitHubConfig();
121
+ if (!config) {
122
+ process.exit(1);
123
+ }
124
+ console.log(` Repository: ${config.owner}/${config.repo}`);
125
+ // Create client and sync
126
+ const projectRoot = process.cwd();
127
+ const specsDir = path.join(projectRoot, '.specweave/docs/internal/specs');
128
+ const profile = {
129
+ provider: 'github',
130
+ displayName: 'GitHub',
131
+ config: {
132
+ owner: config.owner,
133
+ repo: config.repo,
134
+ token: config.token
135
+ },
136
+ timeRange: {
137
+ default: '1M',
138
+ max: '3M'
139
+ }
140
+ };
141
+ const client = new GitHubClientV2(profile);
142
+ const sync = new GitHubFeatureSync(client, specsDir, projectRoot);
143
+ try {
144
+ console.log(`\nπŸ”„ Syncing ${featureId} to GitHub...`);
145
+ const result = await sync.syncFeatureToGitHub(featureId);
146
+ console.log(`\nβœ… Sync complete!`);
147
+ console.log(` 🎯 Milestone: #${result.milestoneNumber}`);
148
+ console.log(` πŸ“ Issues created: ${result.issuesCreated}`);
149
+ console.log(` πŸ”„ Issues updated: ${result.issuesUpdated}`);
150
+ console.log(` πŸ“š User stories processed: ${result.userStoriesProcessed}`);
151
+ if (result.milestoneUrl) {
152
+ console.log(` πŸ”— ${result.milestoneUrl}`);
153
+ }
154
+ process.exit(0);
155
+ }
156
+ catch (error) {
157
+ console.error(`\n❌ Sync failed:`, error);
158
+ process.exit(1);
159
+ }
160
+ }
161
+ // Run CLI
162
+ main().catch(error => {
163
+ console.error('Fatal error:', error);
164
+ process.exit(1);
165
+ });
166
+ //# sourceMappingURL=github-feature-sync-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-feature-sync-cli.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-feature-sync-cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQvD,KAAK,UAAU,gBAAgB;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;IAEpE,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC3C,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAE7C,+BAA+B;IAC/B,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAE7D,wBAAwB;YACxB,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC5D,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBACjC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,CAAC;YACD,sEAAsE;iBACjE,IAAI,MAAM,CAAC,YAAY,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC;gBAC5E,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;gBACxD,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAC;gBACpE,IAAI,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;oBACrD,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACjB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,yCAAyC;iBACpC,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChE,IAAI,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBACpD,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7B,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,uCAAuC,EAAE;gBAClE,QAAQ,EAAE,OAAO;gBACjB,GAAG,EAAE,WAAW;aACjB,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,kCAAkC;YAClC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClE,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;QACrD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAE1B,6BAA6B;IAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;IAExC,cAAc;IACd,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAE7D,yBAAyB;IACzB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,QAAiB;QAC3B,WAAW,EAAE,QAAQ;QACrB,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB;QACD,SAAS,EAAE;YACT,OAAO,EAAE,IAAa;YACtB,GAAG,EAAE,IAAa;SACnB;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAElE,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,eAAe,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAEzD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAE5E,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,UAAU;AACV,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -97,7 +97,7 @@ export declare class RepoStructureManager {
97
97
  */
98
98
  createRepositories(config: RepoStructureConfig): Promise<void>;
99
99
  /**
100
- * Generate .env file with GitHub configuration
100
+ * Generate .env file with GitHub token (only when gh CLI not available)
101
101
  */
102
102
  private generateEnvFile;
103
103
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"repo-structure-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-structure-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAcH,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGtE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,YAAY,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAoB;gBAE5B,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IASrD;;;;OAIG;IACG,eAAe,CAAC,uBAAuB,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkGjG;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAWpC;;OAEG;YACW,WAAW;IAgCzB;;OAEG;YACW,mBAAmB;IAwIjC;;;;;;;;;;;OAWG;YACW,kBAAkB;IAmsBhC;;OAEG;YACW,cAAc;IAQ5B;;OAEG;YACW,iBAAiB;IAmF/B;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiFpE;;OAEG;YACW,eAAe;IA8C7B;;OAEG;YACW,gBAAgB;IAgC9B;;OAEG;YACW,gBAAgB;IAmC9B;;OAEG;YACW,oBAAoB;IAmBlC;;OAEG;YACW,wBAAwB;IAmBtC;;;OAGG;YACW,qBAAqB;IAmEnC;;OAEG;IACG,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoEtE;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;;;;OAKG;IACG,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAwC3E"}
1
+ {"version":3,"file":"repo-structure-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/repo-structure/repo-structure-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAcH,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGtE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,YAAY,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjC,cAAc,EAAE,OAAO,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAoB;gBAE5B,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IASrD;;;;OAIG;IACG,eAAe,CAAC,uBAAuB,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkGjG;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAWpC;;OAEG;YACW,WAAW;IAgCzB;;OAEG;YACW,mBAAmB;IAwIjC;;;;;;;;;;;OAWG;YACW,kBAAkB;IAmsBhC;;OAEG;YACW,cAAc;IAQ5B;;OAEG;YACW,iBAAiB;IAmF/B;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiFpE;;OAEG;YACW,eAAe;IAwC7B;;OAEG;YACW,gBAAgB;IAgC9B;;OAEG;YACW,gBAAgB;IAmC9B;;OAEG;YACW,oBAAoB;IAmBlC;;OAEG;YACW,wBAAwB;IAmBtC;;;OAGG;YACW,qBAAqB;IAmEnC;;OAEG;IACG,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoEtE;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;;;;OAKG;IACG,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAwC3E"}
@@ -1115,26 +1115,20 @@ export class RepoStructureManager {
1115
1115
  await this.stateManager.deleteState();
1116
1116
  }
1117
1117
  /**
1118
- * Generate .env file with GitHub configuration
1118
+ * Generate .env file with GitHub token (only when gh CLI not available)
1119
1119
  */
1120
1120
  async generateEnvFile(config) {
1121
1121
  const spinner = ora('Generating .env configuration...').start();
1122
1122
  try {
1123
+ // .env now only contains secrets (token)
1124
+ // All other config goes to config.json
1123
1125
  const envConfig = {
1124
1126
  githubToken: this.githubToken,
1125
- githubOwner: config.parentRepo?.owner || config.repositories[0]?.owner,
1126
- repos: config.repositories.map(r => ({
1127
- id: r.id,
1128
- repo: r.name
1129
- })),
1130
- syncEnabled: true,
1131
- autoCreateIssue: true,
1132
- syncDirection: 'bidirectional'
1133
1127
  };
1134
1128
  await generateEnvFile(this.projectPath, envConfig);
1135
- spinner.succeed('.env file created');
1129
+ spinner.succeed('.env file created (token only)');
1136
1130
  console.log(chalk.gray(' File: .env (permissions: 0600)'));
1137
- console.log(chalk.gray(' File: .env.example (safe to commit)'));
1131
+ console.log(chalk.gray(' TIP: gh CLI auth is recommended over tokens'));
1138
1132
  console.log(chalk.yellow(' ⚠️ DO NOT commit .env to git (contains secrets!)'));
1139
1133
  // Save state: env created
1140
1134
  await this.saveSetupState({