specweave 1.0.261 → 1.0.263

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 (133) hide show
  1. package/.claude-plugin/README.md +0 -2
  2. package/CLAUDE.md +27 -27
  3. package/bin/specweave.js +14 -85
  4. package/dist/dashboard/assets/index-Cv1XUAKk.css +1 -0
  5. package/dist/dashboard/assets/index-DHOztQSu.js +11 -0
  6. package/dist/dashboard/index.html +2 -2
  7. package/dist/src/adapters/README.md +1 -1
  8. package/dist/src/adapters/agents-md-generator.js +1 -1
  9. package/dist/src/adapters/agents-md-generator.js.map +1 -1
  10. package/dist/src/adapters/claude/README.md +8 -8
  11. package/dist/src/adapters/claude/adapter.js +2 -2
  12. package/dist/src/adapters/claude-md-generator.js +2 -2
  13. package/dist/src/adapters/claude-md-generator.js.map +1 -1
  14. package/dist/src/adapters/cursor/README.md +7 -7
  15. package/dist/src/adapters/generic/README.md +2 -2
  16. package/dist/src/cli/commands/create-increment.d.ts +1 -1
  17. package/dist/src/cli/commands/create-increment.js +1 -1
  18. package/dist/src/cli/commands/update.d.ts.map +1 -1
  19. package/dist/src/cli/commands/update.js +64 -1
  20. package/dist/src/cli/commands/update.js.map +1 -1
  21. package/dist/src/cli/helpers/init/api-docs-config.js +7 -7
  22. package/dist/src/cli/helpers/init/api-docs-config.js.map +1 -1
  23. package/dist/src/core/config/types.d.ts +18 -0
  24. package/dist/src/core/config/types.d.ts.map +1 -1
  25. package/dist/src/core/config/types.js +4 -0
  26. package/dist/src/core/config/types.js.map +1 -1
  27. package/dist/src/core/external-tools/external-items-display.d.ts.map +1 -1
  28. package/dist/src/core/external-tools/external-items-display.js +1 -11
  29. package/dist/src/core/external-tools/external-items-display.js.map +1 -1
  30. package/dist/src/core/increment/increment-archiver.js +1 -1
  31. package/dist/src/core/increment/increment-archiver.js.map +1 -1
  32. package/dist/src/core/increment/metadata-manager.js +2 -2
  33. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  34. package/dist/src/core/increment/template-creator.d.ts +1 -1
  35. package/dist/src/core/increment/template-creator.js +4 -4
  36. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts +2 -2
  37. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
  38. package/dist/src/core/lazy-loading/llm-plugin-detector.js +15 -5
  39. package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
  40. package/dist/src/core/living-docs/feature-consistency-validator.js +1 -1
  41. package/dist/src/core/living-docs/feature-consistency-validator.js.map +1 -1
  42. package/dist/src/core/living-docs/scaffolding/scaffold.js +3 -3
  43. package/dist/src/core/notifications/command-integration.d.ts.map +1 -1
  44. package/dist/src/core/notifications/command-integration.js +0 -1
  45. package/dist/src/core/notifications/command-integration.js.map +1 -1
  46. package/dist/src/core/reflection/reflect-handler.js +2 -2
  47. package/dist/src/core/reflection/reflect-handler.js.map +1 -1
  48. package/dist/src/core/validators/ac-presence-validator.d.ts +1 -1
  49. package/dist/src/core/validators/ac-presence-validator.js +3 -3
  50. package/dist/src/core/validators/ac-presence-validator.js.map +1 -1
  51. package/dist/src/dashboard/server/command-runner.d.ts.map +1 -1
  52. package/dist/src/dashboard/server/command-runner.js +2 -2
  53. package/dist/src/dashboard/server/command-runner.js.map +1 -1
  54. package/dist/src/dashboard/server/dashboard-server.d.ts.map +1 -1
  55. package/dist/src/dashboard/server/dashboard-server.js +22 -10
  56. package/dist/src/dashboard/server/dashboard-server.js.map +1 -1
  57. package/dist/src/dashboard/server/data/dashboard-data-aggregator.d.ts +9 -1
  58. package/dist/src/dashboard/server/data/dashboard-data-aggregator.d.ts.map +1 -1
  59. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js +140 -13
  60. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js.map +1 -1
  61. package/dist/src/dashboard/server/data/plugin-scanner.d.ts +1 -1
  62. package/dist/src/dashboard/server/data/plugin-scanner.d.ts.map +1 -1
  63. package/dist/src/dashboard/server/data/plugin-scanner.js +2 -2
  64. package/dist/src/dashboard/server/data/plugin-scanner.js.map +1 -1
  65. package/dist/src/utils/agents-md-compiler.js +1 -1
  66. package/dist/src/utils/agents-md-compiler.js.map +1 -1
  67. package/dist/src/utils/find-project-root.d.ts +5 -4
  68. package/dist/src/utils/find-project-root.d.ts.map +1 -1
  69. package/dist/src/utils/find-project-root.js +8 -10
  70. package/dist/src/utils/find-project-root.js.map +1 -1
  71. package/dist/src/utils/generate-skills-index.js +3 -3
  72. package/dist/src/utils/notification-constants.js +1 -1
  73. package/dist/src/utils/notification-constants.js.map +1 -1
  74. package/package.json +1 -1
  75. package/plugins/FINAL-AUDIT-RECOMMENDATIONS.md +3 -3
  76. package/plugins/specweave/PLUGIN.md +0 -22
  77. package/plugins/specweave/commands/analytics.md +1 -1
  78. package/plugins/specweave/commands/discrepancies.md +0 -1
  79. package/plugins/specweave/commands/living-docs.md +0 -1
  80. package/plugins/specweave/commands/reconcile.md +1 -1
  81. package/plugins/specweave/hooks/hooks.json +19 -0
  82. package/plugins/specweave/hooks/pre-compact.sh +39 -0
  83. package/plugins/specweave/hooks/stop-sync.sh +23 -1
  84. package/plugins/specweave/hooks/universal/fail-fast-wrapper.sh +4 -0
  85. package/plugins/specweave/hooks/user-prompt-submit.sh +193 -59
  86. package/plugins/specweave/hooks/v2/dispatchers/post-tool-use-analytics.sh +83 -0
  87. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +7 -0
  88. package/plugins/specweave/hooks/v2/guards/spec-template-enforcement-guard.sh +1 -1
  89. package/plugins/specweave/hooks/v2/handlers/ac-sync-dispatcher.sh +25 -6
  90. package/plugins/specweave/hooks/v2/handlers/universal-auto-create-dispatcher.sh +21 -3
  91. package/plugins/specweave/hooks/v2/lib/check-provider-enabled.sh +52 -0
  92. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +2 -2
  93. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
  94. package/plugins/specweave/scripts/track-analytics.sh +4 -0
  95. package/plugins/specweave/skills/do/SKILL.md +1 -1
  96. package/plugins/specweave/skills/done/SKILL.md +1 -1
  97. package/plugins/specweave/skills/framework/SKILL.md +4 -4
  98. package/plugins/specweave/skills/increment/SKILL.md +192 -25
  99. package/plugins/specweave/skills/next/SKILL.md +36 -630
  100. package/plugins/specweave/skills/pm/phases/00-deep-interview.md +2 -2
  101. package/plugins/specweave/skills/progress-sync/SKILL.md +7 -25
  102. package/plugins/specweave/skills/spec-generator/SKILL.md +44 -626
  103. package/plugins/specweave/skills/tdd-green/SKILL.md +10 -798
  104. package/plugins/specweave/skills/tdd-red/SKILL.md +8 -136
  105. package/plugins/specweave/skills/tdd-refactor/SKILL.md +15 -147
  106. package/plugins/specweave-github/hooks/github-auto-create-handler.sh +23 -5
  107. package/src/templates/AGENTS.md.template +11 -11
  108. package/src/templates/CLAUDE.md.template +1 -1
  109. package/dist/dashboard/assets/index-CDl14O5G.css +0 -1
  110. package/dist/dashboard/assets/index-CmqBqnWd.js +0 -11
  111. package/plugins/specweave/commands/api-docs.md +0 -672
  112. package/plugins/specweave/commands/check-hooks.md +0 -241
  113. package/plugins/specweave/commands/embed-acs.md +0 -445
  114. package/plugins/specweave/commands/external.md +0 -145
  115. package/plugins/specweave/commands/import-docs.md +0 -212
  116. package/plugins/specweave/commands/migrate-config.md +0 -104
  117. package/plugins/specweave/commands/notifications.md +0 -94
  118. package/plugins/specweave/commands/plugin-validator.md +0 -429
  119. package/plugins/specweave/commands/revert-wip-limit.md +0 -82
  120. package/plugins/specweave/commands/sync-acs.md +0 -342
  121. package/plugins/specweave/commands/sync-specs.md +0 -339
  122. package/plugins/specweave/commands/sync-tasks.md +0 -255
  123. package/plugins/specweave/commands/update-scope.md +0 -351
  124. package/plugins/specweave/commands/validate-features.md +0 -207
  125. package/plugins/specweave/skills/archive-increments/SKILL.md +0 -209
  126. package/plugins/specweave/skills/code-review/SKILL.md +0 -598
  127. package/plugins/specweave/skills/increment-planner/SKILL.md +0 -238
  128. package/plugins/specweave/skills/increment-work-router/SKILL.md +0 -562
  129. package/plugins/specweave/skills/multi-project-spec-mapper/SKILL.md +0 -423
  130. package/plugins/specweave/skills/pm-closure-validation/SKILL.md +0 -542
  131. package/plugins/specweave/skills/smart-reopen-detector/SKILL.md +0 -245
  132. package/plugins/specweave/skills/tdd-orchestrator/SKILL.md +0 -228
  133. package/plugins/specweave/skills/umbrella-repo-detector/SKILL.md +0 -301
@@ -1,145 +0,0 @@
1
- ---
2
- description: View external items dashboard - open issues from GitHub, JIRA, and Azure DevOps
3
- argument-hint: [--refresh]
4
- ---
5
-
6
- # External Items Dashboard
7
-
8
- **Usage**: `/sw:external [--refresh]`
9
-
10
- ---
11
-
12
- ## Purpose
13
-
14
- Display a comprehensive dashboard of open external items from all configured providers:
15
- - **GitHub Issues** - Open issues in linked repository
16
- - **JIRA Tickets** - Open issues in configured project
17
- - **Azure DevOps Work Items** - Open work items in configured project
18
-
19
- Helps you stay aware of pending work and unaddressed items across all tools.
20
-
21
- ---
22
-
23
- ## Output Format
24
-
25
- ```
26
- External Items Dashboard
27
-
28
- GitHub Issues (4 open, 2 stale)
29
- #779 DORA Metrics Workflow Failed 10h ago
30
- #778 DORA Metrics Workflow Failed 1d ago
31
- #777 DORA Metrics Workflow Failed 1d ago stale
32
- #776 DORA Metrics Workflow Failed 3d ago stale
33
-
34
- JIRA: not configured
35
-
36
- ADO: not configured
37
-
38
- Total: 4 open (2 stale >7d)
39
- Last updated: 2 minutes ago (use --refresh to update)
40
- ```
41
-
42
- ---
43
-
44
- ## Options
45
-
46
- ### --refresh
47
-
48
- Force refresh the cache and fetch latest data from all providers.
49
-
50
- ```bash
51
- /sw:external --refresh
52
- ```
53
-
54
- ---
55
-
56
- ## Implementation
57
-
58
- When this command is invoked, execute the following:
59
-
60
- ```typescript
61
- import { ExternalItemsCounter, displayDetailedDashboard } from '../src/core/external-tools/index';
62
-
63
- // Parse options
64
- const refresh = args.includes('--refresh');
65
-
66
- // Create counter
67
- const counter = new ExternalItemsCounter({
68
- projectRoot: process.cwd(),
69
- forceRefresh: refresh,
70
- });
71
-
72
- // Get summary
73
- const summary = await counter.getSummary();
74
-
75
- // Display dashboard
76
- displayDetailedDashboard(summary);
77
- ```
78
-
79
- ---
80
-
81
- ## Stale Detection
82
-
83
- Items older than 7 days are marked as "stale" with indicator:
84
-
85
- - **Stale** = created more than 7 days ago and still open
86
- - Review stale items regularly to avoid accumulating technical debt
87
- - Close or address items promptly
88
-
89
- ---
90
-
91
- ## Caching
92
-
93
- - Default TTL: 15 minutes
94
- - Uses `.specweave/cache/external-items-summary.json`
95
- - Use `--refresh` to force update from APIs
96
- - Stale cache is used as fallback when rate limited
97
-
98
- ---
99
-
100
- ## Provider Configuration
101
-
102
- ### GitHub
103
-
104
- Auto-detected from git remote. Requires:
105
- - GitHub CLI (`gh`) installed
106
- - Authenticated: `gh auth login`
107
-
108
- ### JIRA
109
-
110
- Set environment variables:
111
- - `JIRA_BASE_URL` - JIRA instance URL
112
- - `JIRA_EMAIL` - Your email
113
- - `JIRA_API_TOKEN` - API token
114
- - `JIRA_PROJECT_KEY` - Project key (optional)
115
-
116
- ### Azure DevOps
117
-
118
- Set environment variables:
119
- - `ADO_ORG_URL` or `AZURE_DEVOPS_ORG_URL` - Organization URL
120
- - `ADO_PROJECT` or `AZURE_DEVOPS_PROJECT` - Project name
121
- - `ADO_PAT` or `AZURE_DEVOPS_PAT` - Personal Access Token
122
-
123
- ---
124
-
125
- ## Integration Points
126
-
127
- External items are also shown in:
128
- - `/sw:status` - Summary section at bottom
129
- - `/sw:increment` - Notification after planning
130
- - `/sw:progress` - Footer line
131
-
132
- ---
133
-
134
- ## Related Commands
135
-
136
- - `/sw:status` - Show increment status with external items summary
137
- - `/sw:progress` - Show detailed progress with external items footer
138
- - `/sw:import-external` - Import external items as increments
139
-
140
- ---
141
-
142
- **Command**: `/sw:external`
143
- **Plugin**: specweave (core)
144
- **Version**: v0.31.0
145
- **Part of**: Increment 0109 - External Items Dashboard
@@ -1,212 +0,0 @@
1
- ---
2
- description: Import brownfield documentation from Notion exports, Confluence, GitHub Wiki, or any markdown folder. Automatically classifies files as specs, modules, team docs, or legacy.
3
- disable-model-invocation: true
4
- ---
5
-
6
- # Import Brownfield Documentation
7
-
8
- Import existing documentation from Notion exports, Confluence, GitHub Wiki, or any markdown folder.
9
-
10
- ## What This Does
11
-
12
- 1. **Analyzes markdown files** in source directory (recursively)
13
- 2. **Classifies files** based on content:
14
- - **Specs** - Contains "user story", "acceptance criteria", "feature"
15
- - **Modules** - Contains "module", "component", "architecture"
16
- - **Team** - Contains "onboarding", "convention", "workflow"
17
- - **Legacy** - Everything else (no strong match)
18
- 3. **Copies files** to appropriate destinations
19
- 4. **Creates migration report** with classification details
20
- 5. **Updates config** with import history
21
-
22
- ## Usage
23
-
24
- ```bash
25
- /sw:import-docs <source-path> [options]
26
- ```
27
-
28
- ### Options
29
-
30
- - `--source=<type>` - Source type: `notion`, `confluence`, `wiki`, `custom` (required)
31
- - `--project=<id>` - Target project ID (default: active project)
32
- - `--preserve-structure` - Preserve original folder structure
33
- - `--dry-run` - Preview classification without importing
34
-
35
- ## Examples
36
-
37
- ### Example 1: Notion Export
38
-
39
- ```bash
40
- # Export Notion workspace to /tmp/notion-export/
41
- # Then import:
42
-
43
- /sw:import-docs /tmp/notion-export/ --source=notion
44
-
45
- # Result:
46
- # 📊 Analysis Results:
47
- # Total files: 47
48
- # - Specs: 12 files → specs/
49
- # - Modules: 18 files → modules/
50
- # - Team docs: 5 files → team/
51
- # - Legacy: 12 files → legacy/notion/
52
- # ✅ Import complete!
53
- ```
54
-
55
- ### Example 2: Confluence Export
56
-
57
- ```bash
58
- /sw:import-docs /path/to/confluence/ --source=confluence --project=web-app
59
-
60
- # Imports to: projects/web-app/specs/, modules/, team/, legacy/confluence/
61
- ```
62
-
63
- ### Example 3: Dry Run (Preview)
64
-
65
- ```bash
66
- /sw:import-docs /tmp/docs/ --source=custom --dry-run
67
-
68
- # Shows classification without importing files
69
- # Use this to preview results before actual import
70
- ```
71
-
72
- ### Example 4: Preserve Structure
73
-
74
- ```bash
75
- /sw:import-docs /path/to/wiki/ --source=wiki --preserve-structure
76
-
77
- # Preserves original folder structure:
78
- # legacy/wiki/engineering/backend/auth.md
79
- # legacy/wiki/engineering/frontend/components.md
80
- ```
81
-
82
- ## Supported Sources
83
-
84
- ### Notion
85
- - **Export Format**: Markdown & CSV
86
- - **Steps**:
87
- 1. In Notion: Settings → Export → Export all workspace content
88
- 2. Choose "Markdown & CSV" format
89
- 3. Download ZIP file
90
- 4. Extract to folder (e.g., `/tmp/notion-export/`)
91
- 5. Run import command
92
-
93
- ### Confluence
94
- - **Export Format**: HTML or Markdown
95
- - **Steps**:
96
- 1. Space tools → Content Tools → Export
97
- 2. Choose HTML or Markdown
98
- 3. Extract exported files
99
- 4. Run import command
100
-
101
- ### GitHub Wiki
102
- - **Export Format**: Git repository
103
- - **Steps**:
104
- 1. Clone wiki: `git clone https://github.com/user/repo.wiki.git`
105
- 2. Run import command on cloned directory
106
-
107
- ### Custom (Any Markdown)
108
- - Any folder containing `.md` or `.markdown` files
109
- - Recursive search through subdirectories
110
-
111
- ## Classification Algorithm
112
-
113
- Files are classified using keyword analysis:
114
-
115
- ### Specs (70%+ confidence)
116
- - Keywords: "user story", "acceptance criteria", "feature", "requirement"
117
- - Patterns: "As a [user], I want [goal]", "Given-When-Then"
118
- - Example: Feature specs, PRDs, user stories
119
-
120
- ### Modules (70%+ confidence)
121
- - Keywords: "module", "component", "service", "architecture"
122
- - Patterns: API docs, technical design, integration points
123
- - Example: Auth module, payment processing, ML pipeline
124
-
125
- ### Team (70%+ confidence)
126
- - Keywords: "onboarding", "convention", "workflow", "pr process"
127
- - Patterns: Team processes, coding standards, deployment guides
128
- - Example: Onboarding guide, code review checklist
129
-
130
- ### Legacy (<70% confidence)
131
- - No strong match to above categories
132
- - Uncertain classification
133
- - Requires manual review
134
-
135
- ## Destination Folders
136
-
137
- Files are imported to:
138
-
139
- ```
140
- .specweave/docs/internal/projects/{project}/
141
- ├── specs/ ← Specs (spec keywords)
142
- ├── modules/ ← Modules (module keywords)
143
- ├── team/ ← Team docs (team keywords)
144
- └── legacy/{source}/ ← Legacy (uncertain classification)
145
- ├── notion/
146
- ├── confluence/
147
- ├── wiki/
148
- └── custom/
149
- ```
150
-
151
- ## Migration Report
152
-
153
- After import, a detailed report is generated:
154
-
155
- **Location**: `.specweave/docs/internal/projects/{project}/legacy/README.md`
156
-
157
- **Contents**:
158
- - Import summary (counts per category)
159
- - Classification analysis (with confidence scores)
160
- - List of imported files
161
- - Next steps and recommendations
162
-
163
- ## Configuration Updates
164
-
165
- Import history is tracked in `.specweave/config.json`:
166
-
167
- ```json
168
- {
169
- "brownfield": {
170
- "importHistory": [{
171
- "source": "notion",
172
- "workspace": "acme-corp",
173
- "importedAt": "2025-11-06T10:30:00Z",
174
- "project": "web-app",
175
- "filesImported": 47,
176
- "destination": ".specweave/docs/internal/projects/web-app/legacy/notion/"
177
- }]
178
- }
179
- }
180
- ```
181
-
182
- ## After Import
183
-
184
- 1. **Review classification** - Check migration report
185
- 2. **Move misclassified files** - Use file manager or git
186
- 3. **Update spec numbers** - Rename to `spec-NNN-name.md`
187
- 4. **Clean up legacy** - Delete obsolete content
188
- 5. **Update references** - Fix broken links
189
-
190
- ## When to Use
191
-
192
- - **Migrating from Notion** to SpecWeave
193
- - **Consolidating wikis** from GitHub, Confluence, etc.
194
- - **Onboarding brownfield projects** with existing documentation
195
- - **Merging multiple doc sources** into single SpecWeave instance
196
-
197
- ## Limitations
198
-
199
- - Only markdown files (.md, .markdown) supported
200
- - No direct API integration (use exports)
201
- - Classification is heuristic (80%+ accuracy target)
202
- - Manual review recommended for low-confidence files
203
-
204
- ## See Also
205
-
206
- - `/sw:init-multiproject` - Set up multi-project mode first
207
- - [Brownfield Import Guide](https://docs.spec-weave.com/guides/brownfield-import)
208
- - [Migration Best Practices](https://docs.spec-weave.com/guides/migration-best-practices)
209
-
210
- ---
211
-
212
- **Implementation**: `src/cli/commands/import-docs.ts`
@@ -1,104 +0,0 @@
1
- ---
2
- description: Migrate .env-only configuration to split secrets/config format
3
- disable-model-invocation: true
4
- ---
5
-
6
- Migrate your project from the old .env-only format to the new split format where secrets stay in `.env` (gitignored) and configuration moves to `.specweave/config.json` (committed to git).
7
-
8
- **What this command does:**
9
-
10
- 1. Analyzes your `.env` file
11
- 2. Classifies variables as "secrets" or "config"
12
- 3. Backs up original `.env` file
13
- 4. Updates `.env` (keeps only secrets)
14
- 5. Creates/updates `.specweave/config.json` (adds config)
15
- 6. Generates `.env.example` for team onboarding
16
-
17
- **When to use:**
18
-
19
- - You're upgrading from SpecWeave v0.23.x or earlier
20
- - Your `.env` contains both secrets AND configuration (domain, strategy, etc.)
21
- - You want to share configuration with your team via git
22
-
23
- **Command:**
24
-
25
- ```bash
26
- node -e "require('./dist/src/cli/commands/migrate-config.js').migrateConfig()"
27
- ```
28
-
29
- **Options:**
30
-
31
- - `--dry-run`: Preview migration without making changes
32
- - `--yes`: Skip confirmation prompt
33
- - `--force`: Force migration even if not needed
34
-
35
- **Example output:**
36
-
37
- ```
38
- 🔄 SpecWeave Configuration Migration
39
-
40
- 📋 Migration Preview
41
-
42
- Classification Results:
43
- Secrets: 3 variables
44
- Config: 5 variables
45
-
46
- 📊 Detailed Breakdown:
47
-
48
- Secrets (will stay in .env):
49
- JIRA_API_TOKEN=xyzabc***456
50
- └─ Contains keyword: token
51
-
52
- JIRA_EMAIL=user@example.com
53
- └─ Email address (used for authentication)
54
-
55
- Configuration (will move to config.json):
56
- JIRA_DOMAIN=company.atlassian.net
57
- └─ Non-sensitive configuration data
58
-
59
- JIRA_STRATEGY=project-per-team
60
- └─ Non-sensitive configuration data
61
-
62
- ✅ Migration Successful!
63
-
64
- Summary:
65
- ✓ 3 secrets kept in .env
66
- ✓ 5 config items moved to config.json
67
- ✓ Backup created: .env.backup.1234567890
68
- ✓ .env.example generated
69
-
70
- 📝 Next Steps:
71
-
72
- 1. Review .specweave/config.json (commit to git)
73
- 2. Share .env.example with team (commit to git)
74
- 3. Team members: cp .env.example .env (fill in tokens)
75
- ```
76
-
77
- **Benefits:**
78
-
79
- - Team shares configuration via git
80
- - Secrets stay local (never committed)
81
- - Type-safe configuration with validation
82
- - Easy onboarding for new team members
83
-
84
- **Classification logic:**
85
-
86
- Variables classified as **secrets** (stay in .env):
87
- - Contains keywords: `token`, `api_token`, `pat`, `secret`, `key`, `password`, `credential`, `auth`
88
- - Email addresses (used for authentication)
89
-
90
- Variables classified as **config** (move to config.json):
91
- - Everything else: domains, strategies, project keys, organizations, etc.
92
-
93
- **Safety:**
94
-
95
- - Always creates backup before modifying `.env`
96
- - Atomic operation (either completes fully or rolls back)
97
- - Idempotent (can run multiple times safely)
98
- - Dry-run mode available for preview
99
-
100
- **See also:**
101
-
102
- - ADR-0050: Secrets vs Configuration Separation
103
- - `/sw:validate` - Validate configuration after migration
104
- - Documentation: `CLAUDE.md` → Configuration Management section
@@ -1,94 +0,0 @@
1
- ---
2
- description: View and manage sync notifications - import completions, discrepancies, sync failures. Filter by type and severity, show details, dismiss notifications.
3
- ---
4
-
5
- # Notifications Command
6
-
7
- View and manage sync notifications - import completions, discrepancies, sync failures, and more.
8
-
9
- ## Usage
10
-
11
- ```bash
12
- /sw:notifications # List pending notifications
13
- /sw:notifications --all # Include dismissed notifications
14
- /sw:notifications --type sync-failure # Filter by type
15
- /sw:notifications --severity warning # Filter by severity
16
- /sw:notifications show <id> # Show notification details
17
- /sw:notifications dismiss <id> # Dismiss a notification
18
- /sw:notifications dismiss-all # Dismiss all pending notifications
19
- ```
20
-
21
- ## Arguments
22
-
23
- - `--all`: Include dismissed notifications in the list
24
- - `--type <type>`: Filter by notification type:
25
- - `import-complete`: Import job finished
26
- - `discrepancy`: Code-spec discrepancy detected
27
- - `sync-failure`: Sync operation failed
28
- - `drift`: Status drift detected
29
- - `job-complete`: Scheduled job finished
30
- - `--severity <level>`: Filter by severity: `info`, `warning`, `critical`
31
- - `--json`: Output as JSON for scripting
32
-
33
- ## Subcommands
34
-
35
- ### list (default)
36
-
37
- Lists notifications with severity emoji, title, and age.
38
-
39
- ```
40
- PENDING NOTIFICATIONS (3)
41
-
42
- notif-abc123 CRITICAL GitHub sync failed 2m ago
43
- notif-def456 WARNING 2 discrepancies in FS-045 1h ago
44
- notif-ghi789 INFO 107 items imported 3h ago
45
-
46
- Use '/sw:notifications show <id>' to view details
47
- Use '/sw:notifications dismiss <id>' to dismiss
48
- ```
49
-
50
- ### show <id>
51
-
52
- Shows full notification details including data payload.
53
-
54
- ```
55
- NOTIFICATION DETAILS
56
-
57
- ID: notif-abc123
58
- Type: sync-failure
59
- Severity: critical
60
- Title: GitHub sync failed
61
- Message: Rate limit exceeded. Retry in 15 minutes.
62
- Created: 2025-12-01 12:00:00 (2m ago)
63
-
64
- Data:
65
- platform: github
66
- error: Rate limit exceeded
67
- retryAfter: 900
68
- ```
69
-
70
- ### dismiss <id>
71
-
72
- Dismisses a single notification.
73
-
74
- ```
75
- Dismissed notification notif-abc123
76
-
77
- Remaining: 2 pending notifications
78
- ```
79
-
80
- ### dismiss-all
81
-
82
- Dismisses all pending notifications with confirmation.
83
-
84
- ```
85
- This will dismiss 3 pending notifications.
86
- Proceed? [y/N]: y
87
-
88
- Dismissed 3 notifications
89
- ```
90
-
91
- ## Related
92
-
93
- - `/sw:sync-monitor`: Dashboard showing notification summary
94
- - `/sw:discrepancies`: View and act on discrepancy notifications