sedd 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +504 -0
- package/bin/sedd.js +6 -0
- package/commands/sedd.clarify.md +435 -0
- package/commands/sedd.dashboard.md +145 -0
- package/commands/sedd.implement.md +326 -0
- package/commands/sedd.migrate.md +249 -0
- package/commands/sedd.specify.md +198 -0
- package/commands/sedd.tasks.md +176 -0
- package/dist/cli/check.d.ts +6 -0
- package/dist/cli/check.d.ts.map +1 -0
- package/dist/cli/check.js +134 -0
- package/dist/cli/check.js.map +1 -0
- package/dist/cli/clarify.d.ts +2 -0
- package/dist/cli/clarify.d.ts.map +1 -0
- package/dist/cli/clarify.js +116 -0
- package/dist/cli/clarify.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +175 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +9 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +236 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/migrate.d.ts +7 -0
- package/dist/cli/migrate.d.ts.map +1 -0
- package/dist/cli/migrate.js +197 -0
- package/dist/cli/migrate.js.map +1 -0
- package/dist/cli/specify.d.ts +7 -0
- package/dist/cli/specify.d.ts.map +1 -0
- package/dist/cli/specify.js +131 -0
- package/dist/cli/specify.js.map +1 -0
- package/dist/cli/status.d.ts +6 -0
- package/dist/cli/status.d.ts.map +1 -0
- package/dist/cli/status.js +118 -0
- package/dist/cli/status.js.map +1 -0
- package/dist/cli/tasks.d.ts +7 -0
- package/dist/cli/tasks.d.ts.map +1 -0
- package/dist/cli/tasks.js +165 -0
- package/dist/cli/tasks.js.map +1 -0
- package/dist/core/changelog.d.ts +30 -0
- package/dist/core/changelog.d.ts.map +1 -0
- package/dist/core/changelog.js +97 -0
- package/dist/core/changelog.js.map +1 -0
- package/dist/core/file-splitter.d.ts +39 -0
- package/dist/core/file-splitter.d.ts.map +1 -0
- package/dist/core/file-splitter.js +162 -0
- package/dist/core/file-splitter.js.map +1 -0
- package/dist/core/migration-manager.d.ts +76 -0
- package/dist/core/migration-manager.d.ts.map +1 -0
- package/dist/core/migration-manager.js +230 -0
- package/dist/core/migration-manager.js.map +1 -0
- package/dist/core/timestamps.d.ts +17 -0
- package/dist/core/timestamps.d.ts.map +1 -0
- package/dist/core/timestamps.js +37 -0
- package/dist/core/timestamps.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +102 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +83 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/git.d.ts +63 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +179 -0
- package/dist/utils/git.js.map +1 -0
- package/hooks/README.md +220 -0
- package/hooks/check-roadmap.js +231 -0
- package/hooks/check-roadmap.ps1 +343 -0
- package/package.json +60 -0
- package/scripts/bash/sedd-clarify.sh +142 -0
- package/scripts/bash/sedd-complete-task.sh +108 -0
- package/scripts/bash/sedd-specify.sh +147 -0
- package/scripts/powershell/sedd-clarify.ps1 +222 -0
- package/scripts/powershell/sedd-complete-task.ps1 +143 -0
- package/scripts/powershell/sedd-specify.ps1 +192 -0
- package/scripts/powershell/sedd-status.ps1 +153 -0
- package/scripts/powershell/sedd-tasks.ps1 +176 -0
- package/templates/changelog-template.md +6 -0
- package/templates/clarify-template.md +66 -0
- package/templates/config-template.json +20 -0
- package/templates/decisions-template.md +56 -0
- package/templates/interfaces-template.ts +131 -0
- package/templates/meta-template.json +12 -0
- package/templates/progress-template.md +61 -0
- package/templates/sedd.schema.json +95 -0
- package/templates/spec-template.md +114 -0
- package/templates/tasks-template.md +58 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://sedd.dev/sedd.schema.json",
|
|
4
|
+
"title": "SEDD Configuration",
|
|
5
|
+
"description": "Configuration file for SEDD (Spec & Expectation Driven Development)",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"$schema": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "JSON Schema reference"
|
|
11
|
+
},
|
|
12
|
+
"specsDir": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"default": ".sedd",
|
|
15
|
+
"description": "Directory for storing feature specifications. Default: '.sedd', use 'specs' for legacy projects."
|
|
16
|
+
},
|
|
17
|
+
"branchPattern": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"default": "{{id}}-{{name}}",
|
|
20
|
+
"description": "Pattern for feature branch names. Variables: {{id}}, {{name}}"
|
|
21
|
+
},
|
|
22
|
+
"autoSplit": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"description": "Auto-split configuration for large files",
|
|
25
|
+
"properties": {
|
|
26
|
+
"enabled": {
|
|
27
|
+
"type": "boolean",
|
|
28
|
+
"default": true,
|
|
29
|
+
"description": "Enable automatic file splitting"
|
|
30
|
+
},
|
|
31
|
+
"maxLines": {
|
|
32
|
+
"type": "integer",
|
|
33
|
+
"default": 400,
|
|
34
|
+
"minimum": 100,
|
|
35
|
+
"maximum": 1000,
|
|
36
|
+
"description": "Maximum lines before auto-split triggers"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"additionalProperties": false
|
|
40
|
+
},
|
|
41
|
+
"hooks": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"description": "Hook behavior configuration",
|
|
44
|
+
"properties": {
|
|
45
|
+
"assertive": {
|
|
46
|
+
"type": "boolean",
|
|
47
|
+
"default": true,
|
|
48
|
+
"description": "Force skill activation (true) or just suggest (false)"
|
|
49
|
+
},
|
|
50
|
+
"skills": {
|
|
51
|
+
"type": "array",
|
|
52
|
+
"items": {
|
|
53
|
+
"type": "string"
|
|
54
|
+
},
|
|
55
|
+
"default": ["langchain-expert", "architecture-mapper", "defect-analyzer"],
|
|
56
|
+
"description": "Skills to activate based on prompt keywords"
|
|
57
|
+
},
|
|
58
|
+
"checkOnlyCurrentMigration": {
|
|
59
|
+
"type": "boolean",
|
|
60
|
+
"default": true,
|
|
61
|
+
"description": "Only check current migration, not historical migrations"
|
|
62
|
+
},
|
|
63
|
+
"showSyncWarnings": {
|
|
64
|
+
"type": "boolean",
|
|
65
|
+
"default": true,
|
|
66
|
+
"description": "Show warnings when task files are out of sync"
|
|
67
|
+
},
|
|
68
|
+
"blockOnSyncError": {
|
|
69
|
+
"type": "boolean",
|
|
70
|
+
"default": false,
|
|
71
|
+
"description": "Block Claude from stopping if files are out of sync (optional, disabled by default)"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"additionalProperties": false
|
|
75
|
+
},
|
|
76
|
+
"commit": {
|
|
77
|
+
"type": "object",
|
|
78
|
+
"description": "Git commit configuration",
|
|
79
|
+
"properties": {
|
|
80
|
+
"askBeforeCommit": {
|
|
81
|
+
"type": "boolean",
|
|
82
|
+
"default": true,
|
|
83
|
+
"description": "Ask user confirmation before committing"
|
|
84
|
+
},
|
|
85
|
+
"messagePattern": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"default": "{{type}}({{id}}): {{message}}",
|
|
88
|
+
"description": "Commit message pattern. Variables: {{type}}, {{id}}, {{message}}"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"additionalProperties": false
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"additionalProperties": false
|
|
95
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Feature Specification: {{FEATURE_NAME}}
|
|
2
|
+
|
|
3
|
+
> Feature ID: {{FEATURE_ID}}
|
|
4
|
+
> Created: {{TIMESTAMP}}
|
|
5
|
+
> Status: Draft
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
Brief description of what this feature does and why it's needed.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Expectation
|
|
14
|
+
|
|
15
|
+
> What do you expect as the final outcome of this feature?
|
|
16
|
+
|
|
17
|
+
[User's expectation here]
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## User Stories
|
|
22
|
+
|
|
23
|
+
### US1: [Story Title] (P1 - Critical)
|
|
24
|
+
|
|
25
|
+
**As a** [user type]
|
|
26
|
+
**I want** [goal]
|
|
27
|
+
**So that** [benefit]
|
|
28
|
+
|
|
29
|
+
**Acceptance Criteria:**
|
|
30
|
+
- [ ] Criterion 1
|
|
31
|
+
- [ ] Criterion 2
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### US2: [Story Title] (P2 - Important)
|
|
36
|
+
|
|
37
|
+
**As a** [user type]
|
|
38
|
+
**I want** [goal]
|
|
39
|
+
**So that** [benefit]
|
|
40
|
+
|
|
41
|
+
**Acceptance Criteria:**
|
|
42
|
+
- [ ] Criterion 1
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Functional Requirements
|
|
47
|
+
|
|
48
|
+
| ID | Requirement | Priority | Status |
|
|
49
|
+
|----|-------------|----------|--------|
|
|
50
|
+
| FR-001 | Description | P1 | NEEDS_CLARIFICATION |
|
|
51
|
+
| FR-002 | Description | P2 | Draft |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Non-Functional Requirements
|
|
56
|
+
|
|
57
|
+
| ID | Requirement | Metric |
|
|
58
|
+
|----|-------------|--------|
|
|
59
|
+
| NFR-001 | Performance | Response < 200ms |
|
|
60
|
+
| NFR-002 | Security | Authentication required |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Key Entities
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
+--------------+ +--------------+
|
|
68
|
+
| Entity1 |----▶| Entity2 |
|
|
69
|
+
+--------------+ +--------------+
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
| Entity | Type | Description |
|
|
73
|
+
|--------|------|-------------|
|
|
74
|
+
| Entity1 | Aggregate | Main entity |
|
|
75
|
+
| Entity2 | Entity | Related entity |
|
|
76
|
+
|
|
77
|
+
> **Note:** Full TypeScript interfaces are in `interfaces.ts`
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Success Criteria
|
|
82
|
+
|
|
83
|
+
| ID | Criterion | Measurement |
|
|
84
|
+
|----|-----------|-------------|
|
|
85
|
+
| SC-001 | User adoption | > 80% of users |
|
|
86
|
+
| SC-002 | Error rate | < 1% |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Out of Scope
|
|
91
|
+
|
|
92
|
+
- Item 1
|
|
93
|
+
- Item 2
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Open Questions
|
|
98
|
+
|
|
99
|
+
Items marked NEEDS_CLARIFICATION will be addressed in migrations.
|
|
100
|
+
|
|
101
|
+
- [ ] Question 1?
|
|
102
|
+
- [ ] Question 2?
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Migrations
|
|
107
|
+
|
|
108
|
+
Clarifications and tasks are organized in migration folders:
|
|
109
|
+
|
|
110
|
+
| Migration | Created | Status | Tasks |
|
|
111
|
+
|-----------|---------|--------|-------|
|
|
112
|
+
| - | - | - | - |
|
|
113
|
+
|
|
114
|
+
> Run `/sedd.clarify` to create a new migration with clarifications and tasks.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Tasks - Migration {{MIGRATION_ID}}
|
|
2
|
+
|
|
3
|
+
> Migration: {{MIGRATION_ID}}
|
|
4
|
+
> Timestamp: {{TIMESTAMP}}
|
|
5
|
+
> Parent: {{PARENT_MIGRATION}}
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
Total: {{TOTAL_TASKS}} | Completed: 0 | Pending: {{TOTAL_TASKS}}
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Tasks
|
|
14
|
+
|
|
15
|
+
### Foundation
|
|
16
|
+
|
|
17
|
+
- [ ] T{{MIGRATION_ID}}-001 [Foundation] [Task description] `path/to/file.ts`
|
|
18
|
+
- [ ] T{{MIGRATION_ID}}-002 [Foundation] [Task description] `path/to/file.ts`
|
|
19
|
+
|
|
20
|
+
### User Story 1
|
|
21
|
+
|
|
22
|
+
- [ ] T{{MIGRATION_ID}}-003 [US1] [Task description] `path/to/file.ts`
|
|
23
|
+
- [ ] T{{MIGRATION_ID}}-004 [US1] [Task description] `path/to/file.ts`
|
|
24
|
+
|
|
25
|
+
### User Story 2
|
|
26
|
+
|
|
27
|
+
- [ ] T{{MIGRATION_ID}}-005 [US2] [Task description] `path/to/file.ts`
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Dependencies
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
T{{MIGRATION_ID}}-001, T{{MIGRATION_ID}}-002 (Foundation)
|
|
35
|
+
|
|
|
36
|
+
v
|
|
37
|
+
T{{MIGRATION_ID}}-003 -> T{{MIGRATION_ID}}-004 (US1)
|
|
38
|
+
|
|
|
39
|
+
v
|
|
40
|
+
T{{MIGRATION_ID}}-005 (US2)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Legend
|
|
46
|
+
|
|
47
|
+
- `[Foundation]` = Foundational task, must complete first
|
|
48
|
+
- `[USx]` = Belongs to User Story X
|
|
49
|
+
- `[P]` = Can run in parallel with other [P] tasks
|
|
50
|
+
- File paths in backticks indicate target file
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Related
|
|
55
|
+
|
|
56
|
+
- **Clarifications:** See `clarify.md` in this migration
|
|
57
|
+
- **Decisions:** See `decisions.md` in this migration
|
|
58
|
+
- **Progress:** See `progress.md` in feature root
|