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.
Files changed (90) hide show
  1. package/README.md +504 -0
  2. package/bin/sedd.js +6 -0
  3. package/commands/sedd.clarify.md +435 -0
  4. package/commands/sedd.dashboard.md +145 -0
  5. package/commands/sedd.implement.md +326 -0
  6. package/commands/sedd.migrate.md +249 -0
  7. package/commands/sedd.specify.md +198 -0
  8. package/commands/sedd.tasks.md +176 -0
  9. package/dist/cli/check.d.ts +6 -0
  10. package/dist/cli/check.d.ts.map +1 -0
  11. package/dist/cli/check.js +134 -0
  12. package/dist/cli/check.js.map +1 -0
  13. package/dist/cli/clarify.d.ts +2 -0
  14. package/dist/cli/clarify.d.ts.map +1 -0
  15. package/dist/cli/clarify.js +116 -0
  16. package/dist/cli/clarify.js.map +1 -0
  17. package/dist/cli/index.d.ts +8 -0
  18. package/dist/cli/index.d.ts.map +1 -0
  19. package/dist/cli/index.js +175 -0
  20. package/dist/cli/index.js.map +1 -0
  21. package/dist/cli/init.d.ts +9 -0
  22. package/dist/cli/init.d.ts.map +1 -0
  23. package/dist/cli/init.js +236 -0
  24. package/dist/cli/init.js.map +1 -0
  25. package/dist/cli/migrate.d.ts +7 -0
  26. package/dist/cli/migrate.d.ts.map +1 -0
  27. package/dist/cli/migrate.js +197 -0
  28. package/dist/cli/migrate.js.map +1 -0
  29. package/dist/cli/specify.d.ts +7 -0
  30. package/dist/cli/specify.d.ts.map +1 -0
  31. package/dist/cli/specify.js +131 -0
  32. package/dist/cli/specify.js.map +1 -0
  33. package/dist/cli/status.d.ts +6 -0
  34. package/dist/cli/status.d.ts.map +1 -0
  35. package/dist/cli/status.js +118 -0
  36. package/dist/cli/status.js.map +1 -0
  37. package/dist/cli/tasks.d.ts +7 -0
  38. package/dist/cli/tasks.d.ts.map +1 -0
  39. package/dist/cli/tasks.js +165 -0
  40. package/dist/cli/tasks.js.map +1 -0
  41. package/dist/core/changelog.d.ts +30 -0
  42. package/dist/core/changelog.d.ts.map +1 -0
  43. package/dist/core/changelog.js +97 -0
  44. package/dist/core/changelog.js.map +1 -0
  45. package/dist/core/file-splitter.d.ts +39 -0
  46. package/dist/core/file-splitter.d.ts.map +1 -0
  47. package/dist/core/file-splitter.js +162 -0
  48. package/dist/core/file-splitter.js.map +1 -0
  49. package/dist/core/migration-manager.d.ts +76 -0
  50. package/dist/core/migration-manager.d.ts.map +1 -0
  51. package/dist/core/migration-manager.js +230 -0
  52. package/dist/core/migration-manager.js.map +1 -0
  53. package/dist/core/timestamps.d.ts +17 -0
  54. package/dist/core/timestamps.d.ts.map +1 -0
  55. package/dist/core/timestamps.js +37 -0
  56. package/dist/core/timestamps.js.map +1 -0
  57. package/dist/index.d.ts +8 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +7 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/types/index.d.ts +102 -0
  62. package/dist/types/index.d.ts.map +1 -0
  63. package/dist/types/index.js +83 -0
  64. package/dist/types/index.js.map +1 -0
  65. package/dist/utils/git.d.ts +63 -0
  66. package/dist/utils/git.d.ts.map +1 -0
  67. package/dist/utils/git.js +179 -0
  68. package/dist/utils/git.js.map +1 -0
  69. package/hooks/README.md +220 -0
  70. package/hooks/check-roadmap.js +231 -0
  71. package/hooks/check-roadmap.ps1 +343 -0
  72. package/package.json +60 -0
  73. package/scripts/bash/sedd-clarify.sh +142 -0
  74. package/scripts/bash/sedd-complete-task.sh +108 -0
  75. package/scripts/bash/sedd-specify.sh +147 -0
  76. package/scripts/powershell/sedd-clarify.ps1 +222 -0
  77. package/scripts/powershell/sedd-complete-task.ps1 +143 -0
  78. package/scripts/powershell/sedd-specify.ps1 +192 -0
  79. package/scripts/powershell/sedd-status.ps1 +153 -0
  80. package/scripts/powershell/sedd-tasks.ps1 +176 -0
  81. package/templates/changelog-template.md +6 -0
  82. package/templates/clarify-template.md +66 -0
  83. package/templates/config-template.json +20 -0
  84. package/templates/decisions-template.md +56 -0
  85. package/templates/interfaces-template.ts +131 -0
  86. package/templates/meta-template.json +12 -0
  87. package/templates/progress-template.md +61 -0
  88. package/templates/sedd.schema.json +95 -0
  89. package/templates/spec-template.md +114 -0
  90. 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