@arvorco/relentless 0.1.0 → 0.1.6
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 +30 -13
- package/bin/relentless.ts +1 -1
- package/package.json +3 -2
- package/.claude/commands/relentless.plan.old.md +0 -89
- package/.claude/settings.local.json +0 -23
- package/.claude/skills/analyze/SKILL.md +0 -149
- package/.claude/skills/checklist/SKILL.md +0 -173
- package/.claude/skills/checklist/templates/checklist-template.md +0 -40
- package/.claude/skills/clarify/SKILL.md +0 -174
- package/.claude/skills/constitution/SKILL.md +0 -150
- package/.claude/skills/constitution/templates/constitution-template.md +0 -228
- package/.claude/skills/implement/SKILL.md +0 -141
- package/.claude/skills/plan/SKILL.md +0 -179
- package/.claude/skills/plan/templates/plan-template.md +0 -104
- package/.claude/skills/prd/SKILL.md +0 -242
- package/.claude/skills/relentless/SKILL.md +0 -265
- package/.claude/skills/specify/SKILL.md +0 -220
- package/.claude/skills/specify/scripts/bash/check-prerequisites.sh +0 -166
- package/.claude/skills/specify/scripts/bash/common.sh +0 -156
- package/.claude/skills/specify/scripts/bash/create-new-feature.sh +0 -305
- package/.claude/skills/specify/scripts/bash/setup-plan.sh +0 -61
- package/.claude/skills/specify/scripts/bash/update-agent-context.sh +0 -799
- package/.claude/skills/specify/templates/spec-template.md +0 -115
- package/.claude/skills/tasks/SKILL.md +0 -202
- package/.claude/skills/tasks/templates/tasks-template.md +0 -251
- package/.claude/skills/taskstoissues/SKILL.md +0 -97
- package/.specify/memory/constitution.md +0 -50
- package/.specify/scripts/bash/check-prerequisites.sh +0 -166
- package/.specify/scripts/bash/common.sh +0 -156
- package/.specify/scripts/bash/create-new-feature.sh +0 -297
- package/.specify/scripts/bash/setup-plan.sh +0 -61
- package/.specify/scripts/bash/update-agent-context.sh +0 -799
- package/.specify/templates/agent-file-template.md +0 -28
- package/.specify/templates/checklist-template.md +0 -40
- package/.specify/templates/plan-template.md +0 -104
- package/.specify/templates/spec-template.md +0 -115
- package/.specify/templates/tasks-template.md +0 -251
- package/CHANGES_SUMMARY.md +0 -255
- package/CLAUDE.md +0 -92
- package/GEMINI_SETUP.md +0 -256
- package/REFACTOR_SUMMARY.md +0 -267
- package/bun.lock +0 -352
- package/prompt.md +0 -108
- package/ralph.sh +0 -80
- package/relentless/features/ghsk-ideas/prd.json +0 -229
- package/relentless/features/ghsk-ideas/prd.md +0 -191
- package/relentless/features/ghsk-ideas/progress.txt +0 -408
- package/relentless/prompt.md +0 -79
- package/skills/checklist/SKILL.md +0 -349
- package/skills/clarify/SKILL.md +0 -476
- package/skills/prd/SKILL.md +0 -242
- package/skills/relentless/SKILL.md +0 -268
- package/skills/tasks/SKILL.md +0 -577
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: clarify
|
|
3
|
-
description: "Identify and resolve ambiguities in feature specifications. Use when spec has unclear requirements. Triggers on: clarify spec, resolve ambiguities, clarify requirements."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Specification Clarification Tool
|
|
7
|
-
|
|
8
|
-
Systematically identify and resolve ambiguities in feature specifications.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## The Job
|
|
13
|
-
|
|
14
|
-
1. Read spec.md
|
|
15
|
-
2. Scan for 9 types of ambiguities
|
|
16
|
-
3. Present clarification questions to user
|
|
17
|
-
4. Update spec with answers
|
|
18
|
-
5. Save clarification log
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Step 1: Load Specification
|
|
23
|
-
|
|
24
|
-
Read `relentless/features/NNN-feature/spec.md`
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Step 2: Scan for Ambiguities
|
|
29
|
-
|
|
30
|
-
Check for these 9 types:
|
|
31
|
-
|
|
32
|
-
**1. Behavioral Ambiguities**
|
|
33
|
-
- What happens when [action]?
|
|
34
|
-
- How should system respond to [event]?
|
|
35
|
-
- Example: "What happens when user enters wrong password 5 times?"
|
|
36
|
-
|
|
37
|
-
**2. Data Ambiguities**
|
|
38
|
-
- What are required vs optional fields?
|
|
39
|
-
- What validation rules apply?
|
|
40
|
-
- Example: "What email format validation should we use?"
|
|
41
|
-
|
|
42
|
-
**3. UI/UX Ambiguities**
|
|
43
|
-
- Where should this be displayed?
|
|
44
|
-
- How should user interact?
|
|
45
|
-
- What visual style?
|
|
46
|
-
- Example: "Should password field show/hide toggle?"
|
|
47
|
-
|
|
48
|
-
**4. Integration Ambiguities**
|
|
49
|
-
- Which external API/service?
|
|
50
|
-
- What happens if service unavailable?
|
|
51
|
-
- Example: "Which email provider: SendGrid, Mailgun, or AWS SES?"
|
|
52
|
-
|
|
53
|
-
**5. Permission Ambiguities**
|
|
54
|
-
- Who can perform this action?
|
|
55
|
-
- What authorization rules?
|
|
56
|
-
- Example: "Can unconfirmed users log in or should we block them?"
|
|
57
|
-
|
|
58
|
-
**6. Performance Ambiguities**
|
|
59
|
-
- What are acceptable response times?
|
|
60
|
-
- Pagination requirements?
|
|
61
|
-
- Example: "How many login attempts allowed per minute?"
|
|
62
|
-
|
|
63
|
-
**7. Error Handling Ambiguities**
|
|
64
|
-
- What errors can occur?
|
|
65
|
-
- How should errors be displayed?
|
|
66
|
-
- Example: "What message for duplicate email: '409 Conflict' or custom message?"
|
|
67
|
-
|
|
68
|
-
**8. State Management Ambiguities**
|
|
69
|
-
- How is data persisted?
|
|
70
|
-
- What about caching?
|
|
71
|
-
- Example: "Should we remember failed login attempts across sessions?"
|
|
72
|
-
|
|
73
|
-
**9. Edge Case Ambiguities**
|
|
74
|
-
- What about empty data?
|
|
75
|
-
- Race conditions?
|
|
76
|
-
- Example: "What if two users register with same email simultaneously?"
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Step 3: Present Questions
|
|
81
|
-
|
|
82
|
-
For each ambiguity found (max 5 most critical):
|
|
83
|
-
|
|
84
|
-
```markdown
|
|
85
|
-
## Question N: [Topic]
|
|
86
|
-
|
|
87
|
-
**Context:** [Quote relevant spec section]
|
|
88
|
-
|
|
89
|
-
**What we need to know:** [Specific question]
|
|
90
|
-
|
|
91
|
-
**Options:**
|
|
92
|
-
A. [Option 1] - [Implications]
|
|
93
|
-
B. [Option 2] - [Implications]
|
|
94
|
-
C. [Option 3] - [Implications]
|
|
95
|
-
D. Custom - [Your answer]
|
|
96
|
-
|
|
97
|
-
**Your choice:** _
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
## Step 4: Update Specification
|
|
103
|
-
|
|
104
|
-
After receiving answers:
|
|
105
|
-
1. Update spec.md with clarifications
|
|
106
|
-
2. Remove `[NEEDS CLARIFICATION]` markers
|
|
107
|
-
3. Add concrete details based on answers
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## Step 5: Save Clarification Log
|
|
112
|
-
|
|
113
|
-
Create `relentless/features/NNN-feature/clarification-log.md`:
|
|
114
|
-
|
|
115
|
-
```markdown
|
|
116
|
-
# Clarification Log: Feature Name
|
|
117
|
-
|
|
118
|
-
## Q1: [Topic] - RESOLVED
|
|
119
|
-
**Date:** 2026-01-11
|
|
120
|
-
**Question:** [Question]
|
|
121
|
-
**Answer:** [User's choice]
|
|
122
|
-
**Updated Sections:** [List spec sections updated]
|
|
123
|
-
|
|
124
|
-
## Q2: [Topic] - DEFERRED
|
|
125
|
-
**Date:** 2026-01-11
|
|
126
|
-
**Question:** [Question]
|
|
127
|
-
**Reason:** Can be decided during implementation
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## Example
|
|
133
|
-
|
|
134
|
-
```markdown
|
|
135
|
-
## Question 1: Password Requirements
|
|
136
|
-
|
|
137
|
-
**Context:** Spec says "password must be secure" but doesn't define requirements.
|
|
138
|
-
|
|
139
|
-
**What we need to know:** What are the specific password requirements?
|
|
140
|
-
|
|
141
|
-
**Options:**
|
|
142
|
-
A. Basic (min 8 characters) - Simple, user-friendly
|
|
143
|
-
B. Moderate (min 8 chars + number + symbol) - Balanced security
|
|
144
|
-
C. Strict (min 12 chars + number + symbol + upper/lower) - High security
|
|
145
|
-
D. Custom - Define your own rules
|
|
146
|
-
|
|
147
|
-
**Your choice:** B
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## Question 2: Failed Login Handling
|
|
152
|
-
|
|
153
|
-
**Context:** Spec doesn't mention what happens after failed login attempts.
|
|
154
|
-
|
|
155
|
-
**What we need to know:** How should we handle repeated failed logins?
|
|
156
|
-
|
|
157
|
-
**Options:**
|
|
158
|
-
A. No limit - Allow unlimited attempts
|
|
159
|
-
B. Rate limit - Max 5 attempts per minute per IP
|
|
160
|
-
C. Account lockout - Lock account after 5 failed attempts for 30 minutes
|
|
161
|
-
D. Custom - Define your own approach
|
|
162
|
-
|
|
163
|
-
**Your choice:** C
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## Notes
|
|
169
|
-
|
|
170
|
-
- Prioritize by impact: security > scope > UX > technical
|
|
171
|
-
- Maximum 5 questions per session
|
|
172
|
-
- Some ambiguities can be deferred to implementation
|
|
173
|
-
- Update spec immediately after clarification
|
|
174
|
-
- Keep clarification log for future reference
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: constitution
|
|
3
|
-
description: "Create or update the project constitution - personalized governance and coding principles. Use when starting a project or updating project standards. Triggers on: create constitution, update principles, set project rules."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Project Constitution Generator
|
|
7
|
-
|
|
8
|
-
Create a personalized project constitution that defines your team's coding principles, patterns, and governance.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## The Job
|
|
13
|
-
|
|
14
|
-
1. Ask the user about their project's coding philosophy and standards
|
|
15
|
-
2. Generate a personalized constitution based on their answers
|
|
16
|
-
3. Save to `relentless/constitution.md`
|
|
17
|
-
4. Ensure consistency with project templates and documentation
|
|
18
|
-
|
|
19
|
-
**Important:** The constitution is the foundation for all feature work - create this before generating features.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Step 1: Gather Project Information
|
|
24
|
-
|
|
25
|
-
Ask essential questions about the project:
|
|
26
|
-
|
|
27
|
-
**Project Identity:**
|
|
28
|
-
- Project name?
|
|
29
|
-
- Primary programming language(s)?
|
|
30
|
-
- Tech stack (frameworks, libraries)?
|
|
31
|
-
|
|
32
|
-
**Testing Philosophy:**
|
|
33
|
-
- Testing approach? (TDD, test after, pragmatic)
|
|
34
|
-
- Required test coverage?
|
|
35
|
-
- Testing frameworks preferred?
|
|
36
|
-
|
|
37
|
-
**Code Quality:**
|
|
38
|
-
- Linting/formatting tools?
|
|
39
|
-
- Required checks before commit? (typecheck, lint, test)
|
|
40
|
-
- Code review requirements?
|
|
41
|
-
|
|
42
|
-
**Architecture Principles:**
|
|
43
|
-
- Preferred patterns? (MVC, clean architecture, etc.)
|
|
44
|
-
- Modularity requirements?
|
|
45
|
-
- Performance expectations?
|
|
46
|
-
|
|
47
|
-
**Version Control:**
|
|
48
|
-
- Branch naming conventions?
|
|
49
|
-
- Commit message format?
|
|
50
|
-
- CI/CD requirements?
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Step 2: Generate Constitution
|
|
55
|
-
|
|
56
|
-
Load the template from `templates/constitution-template.md` and:
|
|
57
|
-
|
|
58
|
-
1. Replace all `[PLACEHOLDER]` tokens with concrete values from user answers
|
|
59
|
-
2. Add/remove principles based on project needs (template is a starting point)
|
|
60
|
-
3. Ensure each principle has:
|
|
61
|
-
- **MUST** rules (enforced, blocking)
|
|
62
|
-
- **SHOULD** rules (best practices, warnings)
|
|
63
|
-
- Clear rationale
|
|
64
|
-
4. Set version to `1.0.0` for new constitutions
|
|
65
|
-
5. Set ratification date to today
|
|
66
|
-
6. Add governance section with amendment procedures
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Step 3: Validate & Save
|
|
71
|
-
|
|
72
|
-
Before saving:
|
|
73
|
-
- No `[PLACEHOLDER]` tokens remain (unless explicitly marked as TODO)
|
|
74
|
-
- All dates in ISO format (YYYY-MM-DD)
|
|
75
|
-
- Principles are declarative and testable
|
|
76
|
-
- Version format is semantic (X.Y.Z)
|
|
77
|
-
|
|
78
|
-
Save to: `relentless/constitution.md`
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## Step 4: Report
|
|
83
|
-
|
|
84
|
-
Output summary:
|
|
85
|
-
- Constitution version created
|
|
86
|
-
- Number of principles defined
|
|
87
|
-
- Key MUST/SHOULD rules
|
|
88
|
-
- Next steps: "Now create your first feature with `/relentless.specify`"
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## Updating Existing Constitution
|
|
93
|
-
|
|
94
|
-
If `relentless/constitution.md` exists:
|
|
95
|
-
1. Load current version
|
|
96
|
-
2. Ask what needs to change
|
|
97
|
-
3. Increment version appropriately:
|
|
98
|
-
- **MAJOR**: Breaking changes to principles
|
|
99
|
-
- **MINOR**: New principles added
|
|
100
|
-
- **PATCH**: Clarifications, typo fixes
|
|
101
|
-
4. Update `LAST_AMENDED_DATE` to today
|
|
102
|
-
5. Add amendment notes at top
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Example Constitution Structure
|
|
107
|
-
|
|
108
|
-
```markdown
|
|
109
|
-
# Project Constitution
|
|
110
|
-
|
|
111
|
-
**Version:** 1.0.0
|
|
112
|
-
**Ratified:** 2026-01-11
|
|
113
|
-
**Last Amended:** 2026-01-11
|
|
114
|
-
|
|
115
|
-
## Principles
|
|
116
|
-
|
|
117
|
-
### Principle 1: Type Safety
|
|
118
|
-
**MUST:**
|
|
119
|
-
- All code must pass TypeScript strict mode
|
|
120
|
-
- No `any` types except in documented cases
|
|
121
|
-
|
|
122
|
-
**SHOULD:**
|
|
123
|
-
- Use Zod for runtime validation
|
|
124
|
-
- Prefer inference over explicit types
|
|
125
|
-
|
|
126
|
-
**Rationale:** Type safety prevents runtime errors and improves maintainability.
|
|
127
|
-
|
|
128
|
-
### Principle 2: Testing
|
|
129
|
-
**MUST:**
|
|
130
|
-
- All features must have unit tests
|
|
131
|
-
- CI must pass before merging
|
|
132
|
-
|
|
133
|
-
**SHOULD:**
|
|
134
|
-
- Aim for 80% coverage
|
|
135
|
-
- Write tests before implementation (TDD)
|
|
136
|
-
|
|
137
|
-
**Rationale:** Tests document behavior and prevent regressions.
|
|
138
|
-
|
|
139
|
-
## Governance
|
|
140
|
-
|
|
141
|
-
**Amendment Process:**
|
|
142
|
-
1. Propose changes via PR
|
|
143
|
-
2. Discuss with team
|
|
144
|
-
3. Update version semantically
|
|
145
|
-
4. Document rationale
|
|
146
|
-
|
|
147
|
-
**Compliance:**
|
|
148
|
-
- Constitution checked before each feature implementation
|
|
149
|
-
- Violations block PR merge
|
|
150
|
-
```
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
# Project Constitution
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
This document defines the governing principles, patterns, and constraints for this project. All agents and developers MUST follow these guidelines when working on the codebase.
|
|
6
|
-
|
|
7
|
-
## Core Principles
|
|
8
|
-
|
|
9
|
-
### Architecture
|
|
10
|
-
|
|
11
|
-
**MUST** follow these architectural patterns:
|
|
12
|
-
- Follow existing code structure and organization patterns
|
|
13
|
-
- Keep modules focused and single-purpose
|
|
14
|
-
- Use dependency injection where appropriate
|
|
15
|
-
|
|
16
|
-
**SHOULD** consider these best practices:
|
|
17
|
-
- Prefer composition over inheritance
|
|
18
|
-
- Keep functions small and focused
|
|
19
|
-
- Write self-documenting code
|
|
20
|
-
|
|
21
|
-
### Code Quality
|
|
22
|
-
|
|
23
|
-
**MUST** maintain these quality standards:
|
|
24
|
-
- All commits MUST pass typecheck with 0 errors
|
|
25
|
-
- All commits MUST pass lint with 0 warnings
|
|
26
|
-
- All new features MUST include appropriate tests
|
|
27
|
-
- All code MUST be formatted consistently
|
|
28
|
-
|
|
29
|
-
**SHOULD** strive for:
|
|
30
|
-
- High test coverage (aim for >80%)
|
|
31
|
-
- Clear, descriptive variable and function names
|
|
32
|
-
- Comprehensive error handling
|
|
33
|
-
|
|
34
|
-
### Version Control
|
|
35
|
-
|
|
36
|
-
**MUST** follow these Git practices:
|
|
37
|
-
- Write clear, descriptive commit messages
|
|
38
|
-
- Reference user story IDs in commits: `feat: [US-XXX] - Description`
|
|
39
|
-
- Keep commits focused and atomic
|
|
40
|
-
- Do not commit broken code
|
|
41
|
-
|
|
42
|
-
**SHOULD** maintain:
|
|
43
|
-
- Clean commit history
|
|
44
|
-
- Meaningful branch names
|
|
45
|
-
- Updated documentation with code changes
|
|
46
|
-
|
|
47
|
-
## Technology Stack
|
|
48
|
-
|
|
49
|
-
### Language & Runtime
|
|
50
|
-
|
|
51
|
-
- **TypeScript** - Primary language
|
|
52
|
-
- **Bun** - Runtime environment (not Node.js)
|
|
53
|
-
- **Zod** - Schema validation
|
|
54
|
-
|
|
55
|
-
### Key Libraries
|
|
56
|
-
|
|
57
|
-
- Commander - CLI parsing
|
|
58
|
-
- Chalk - Terminal formatting
|
|
59
|
-
- Execa - Process execution
|
|
60
|
-
|
|
61
|
-
## File Organization
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
project/
|
|
65
|
-
├── bin/ # CLI entry points
|
|
66
|
-
├── src/ # Source code
|
|
67
|
-
│ ├── agents/ # Agent adapters
|
|
68
|
-
│ ├── config/ # Configuration
|
|
69
|
-
│ ├── execution/ # Orchestration
|
|
70
|
-
│ ├── init/ # Project scaffolding
|
|
71
|
-
│ └── prd/ # PRD handling
|
|
72
|
-
├── templates/ # Template files
|
|
73
|
-
├── skills/ # Agent skills
|
|
74
|
-
└── relentless/ # Relentless workspace
|
|
75
|
-
├── config.json
|
|
76
|
-
├── prompt.md
|
|
77
|
-
└── features/
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Coding Standards
|
|
81
|
-
|
|
82
|
-
### TypeScript
|
|
83
|
-
|
|
84
|
-
**MUST** follow:
|
|
85
|
-
- Use strict TypeScript mode
|
|
86
|
-
- Avoid `any` type - use `unknown` or proper types
|
|
87
|
-
- Export types alongside implementations
|
|
88
|
-
- Use Zod schemas for runtime validation
|
|
89
|
-
|
|
90
|
-
**SHOULD** prefer:
|
|
91
|
-
- Interface for public APIs
|
|
92
|
-
- Type for unions and intersections
|
|
93
|
-
- Explicit return types on public functions
|
|
94
|
-
|
|
95
|
-
### Error Handling
|
|
96
|
-
|
|
97
|
-
**MUST** implement:
|
|
98
|
-
- Descriptive error messages
|
|
99
|
-
- Proper error types
|
|
100
|
-
- Validation at system boundaries
|
|
101
|
-
- Graceful degradation where appropriate
|
|
102
|
-
|
|
103
|
-
**SHOULD** include:
|
|
104
|
-
- Context in error messages
|
|
105
|
-
- Recovery suggestions
|
|
106
|
-
- Logging for debugging
|
|
107
|
-
|
|
108
|
-
### Testing
|
|
109
|
-
|
|
110
|
-
**MUST** test:
|
|
111
|
-
- Core business logic
|
|
112
|
-
- Edge cases and error conditions
|
|
113
|
-
- Integration points
|
|
114
|
-
- CLI commands
|
|
115
|
-
|
|
116
|
-
**SHOULD** test:
|
|
117
|
-
- Helper functions
|
|
118
|
-
- Utilities
|
|
119
|
-
- Type guards
|
|
120
|
-
|
|
121
|
-
## Documentation
|
|
122
|
-
|
|
123
|
-
**MUST** document:
|
|
124
|
-
- Public APIs and interfaces
|
|
125
|
-
- Complex algorithms or logic
|
|
126
|
-
- Breaking changes in commits
|
|
127
|
-
- Setup and installation steps
|
|
128
|
-
|
|
129
|
-
**SHOULD** document:
|
|
130
|
-
- Configuration options
|
|
131
|
-
- Architecture decisions
|
|
132
|
-
- Common workflows
|
|
133
|
-
- Troubleshooting steps
|
|
134
|
-
|
|
135
|
-
## Security
|
|
136
|
-
|
|
137
|
-
**MUST** ensure:
|
|
138
|
-
- No secrets committed to git
|
|
139
|
-
- Proper input validation
|
|
140
|
-
- Safe file system operations
|
|
141
|
-
- Minimal permissions required
|
|
142
|
-
|
|
143
|
-
**SHOULD** consider:
|
|
144
|
-
- Rate limiting where appropriate
|
|
145
|
-
- Audit logs for sensitive operations
|
|
146
|
-
- Security updates for dependencies
|
|
147
|
-
|
|
148
|
-
## Performance
|
|
149
|
-
|
|
150
|
-
**MUST** maintain:
|
|
151
|
-
- Fast startup time (<1s)
|
|
152
|
-
- Responsive CLI commands
|
|
153
|
-
- Efficient file operations
|
|
154
|
-
- Minimal memory footprint
|
|
155
|
-
|
|
156
|
-
**SHOULD** optimize:
|
|
157
|
-
- Parallel operations where safe
|
|
158
|
-
- Caching for repeated operations
|
|
159
|
-
- Lazy loading of heavy modules
|
|
160
|
-
|
|
161
|
-
## Constraints
|
|
162
|
-
|
|
163
|
-
### Dependencies
|
|
164
|
-
|
|
165
|
-
**MUST NOT**:
|
|
166
|
-
- Add dependencies without justification
|
|
167
|
-
- Include deprecated packages
|
|
168
|
-
- Use packages with known security issues
|
|
169
|
-
|
|
170
|
-
**SHOULD**:
|
|
171
|
-
- Prefer built-in solutions over dependencies
|
|
172
|
-
- Keep dependencies minimal and focused
|
|
173
|
-
- Regularly update dependencies
|
|
174
|
-
|
|
175
|
-
### Backwards Compatibility
|
|
176
|
-
|
|
177
|
-
**MUST**:
|
|
178
|
-
- Maintain compatibility with existing PRDs
|
|
179
|
-
- Provide migration paths for breaking changes
|
|
180
|
-
- Version configuration formats
|
|
181
|
-
|
|
182
|
-
**SHOULD**:
|
|
183
|
-
- Deprecate features before removal
|
|
184
|
-
- Provide clear upgrade documentation
|
|
185
|
-
- Support at least 2 major versions
|
|
186
|
-
|
|
187
|
-
## Agent-Specific Guidelines
|
|
188
|
-
|
|
189
|
-
### For All Agents
|
|
190
|
-
|
|
191
|
-
**MUST**:
|
|
192
|
-
- Read progress.txt before starting work
|
|
193
|
-
- Work on ONE story per iteration
|
|
194
|
-
- Update PRD after completing a story
|
|
195
|
-
- Append learnings to progress.txt
|
|
196
|
-
- Run all quality checks before committing
|
|
197
|
-
|
|
198
|
-
**SHOULD**:
|
|
199
|
-
- Review existing code before modifying
|
|
200
|
-
- Follow established patterns
|
|
201
|
-
- Ask questions when unclear
|
|
202
|
-
- Document non-obvious decisions
|
|
203
|
-
|
|
204
|
-
### Iteration Workflow
|
|
205
|
-
|
|
206
|
-
1. Read PRD to find next incomplete story
|
|
207
|
-
2. Read progress.txt for context and patterns
|
|
208
|
-
3. Review relevant existing code
|
|
209
|
-
4. Implement the single story
|
|
210
|
-
5. Run typecheck and lint
|
|
211
|
-
6. Run tests if applicable
|
|
212
|
-
7. Commit with proper message format
|
|
213
|
-
8. Update PRD passes: true
|
|
214
|
-
9. Append to progress.txt
|
|
215
|
-
10. Check if all stories complete
|
|
216
|
-
|
|
217
|
-
## Review and Updates
|
|
218
|
-
|
|
219
|
-
This constitution should be:
|
|
220
|
-
- **Reviewed** at project milestones
|
|
221
|
-
- **Updated** when patterns emerge
|
|
222
|
-
- **Referenced** in code reviews
|
|
223
|
-
- **Enforced** in CI/CD pipelines
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
Last Updated: YYYY-MM-DD
|
|
228
|
-
Version: 1.0.0
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: implement
|
|
3
|
-
description: "Execute implementation workflow phase by phase. Use after analysis passes. Triggers on: start implementation, implement feature, begin coding."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Implementation Workflow Executor
|
|
7
|
-
|
|
8
|
-
Guide systematic implementation of features using the task breakdown.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## The Job
|
|
13
|
-
|
|
14
|
-
Guide user through implementing tasks in correct order following dependencies.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Prerequisites
|
|
19
|
-
|
|
20
|
-
Before starting:
|
|
21
|
-
- `/relentless.analyze` must pass (no CRITICAL issues)
|
|
22
|
-
- All artifacts exist (spec, plan, tasks, checklist)
|
|
23
|
-
- Constitution reviewed
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Implementation Flow
|
|
28
|
-
|
|
29
|
-
### Phase 0: Setup
|
|
30
|
-
1. Review `tasks.md` for setup tasks
|
|
31
|
-
2. Install dependencies
|
|
32
|
-
3. Create directory structure
|
|
33
|
-
4. Initialize configuration
|
|
34
|
-
|
|
35
|
-
### Phase 1: Foundation
|
|
36
|
-
1. Implement data models
|
|
37
|
-
2. Create base utilities
|
|
38
|
-
3. Set up infrastructure
|
|
39
|
-
4. Tests for foundation
|
|
40
|
-
|
|
41
|
-
### Phase 2: User Stories
|
|
42
|
-
For each story in dependency order:
|
|
43
|
-
1. Read story acceptance criteria
|
|
44
|
-
2. Implement functionality
|
|
45
|
-
3. Write tests
|
|
46
|
-
4. Run quality checks (typecheck, lint)
|
|
47
|
-
5. Verify against checklist
|
|
48
|
-
6. Commit changes
|
|
49
|
-
7. Mark story complete in prd.json
|
|
50
|
-
|
|
51
|
-
### Phase 3: Polish
|
|
52
|
-
1. Performance optimization
|
|
53
|
-
2. Error handling improvements
|
|
54
|
-
3. Documentation
|
|
55
|
-
4. Final quality checks
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## Per-Story Workflow
|
|
60
|
-
|
|
61
|
-
```markdown
|
|
62
|
-
**Current:** US-001: Create User Registration Endpoint
|
|
63
|
-
|
|
64
|
-
**Acceptance Criteria:**
|
|
65
|
-
- [ ] POST /api/auth/register endpoint exists
|
|
66
|
-
- [ ] Email validation works
|
|
67
|
-
- [ ] Password requirements enforced
|
|
68
|
-
- [ ] Password hashed before storage
|
|
69
|
-
- [ ] Confirmation email sent
|
|
70
|
-
- [ ] Returns 201 with user ID
|
|
71
|
-
- [ ] Returns 400 for invalid input
|
|
72
|
-
- [ ] Typecheck passes
|
|
73
|
-
- [ ] Tests pass
|
|
74
|
-
|
|
75
|
-
**Checklist Items:**
|
|
76
|
-
- CHK-001: User table created
|
|
77
|
-
- CHK-006: Password hashing uses bcrypt
|
|
78
|
-
- CHK-011: Returns correct status codes
|
|
79
|
-
|
|
80
|
-
**Steps:**
|
|
81
|
-
1. Create endpoint handler
|
|
82
|
-
2. Implement validation
|
|
83
|
-
3. Add password hashing
|
|
84
|
-
4. Integrate email service
|
|
85
|
-
5. Write unit tests
|
|
86
|
-
6. Write integration tests
|
|
87
|
-
7. Run typecheck
|
|
88
|
-
8. Run tests
|
|
89
|
-
9. Verify checklist items
|
|
90
|
-
10. Commit with message: "feat: US-001 - Create User Registration Endpoint"
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## Quality Gates
|
|
96
|
-
|
|
97
|
-
Before marking story complete:
|
|
98
|
-
- [ ] All acceptance criteria checked
|
|
99
|
-
- [ ] Typecheck passes
|
|
100
|
-
- [ ] Linter passes
|
|
101
|
-
- [ ] Tests pass
|
|
102
|
-
- [ ] Relevant checklist items verified
|
|
103
|
-
- [ ] Code committed
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Progress Tracking
|
|
108
|
-
|
|
109
|
-
Update `progress.txt` after each story:
|
|
110
|
-
|
|
111
|
-
```markdown
|
|
112
|
-
## 2026-01-11 - US-001
|
|
113
|
-
- Implemented user registration endpoint
|
|
114
|
-
- Added email validation and password hashing
|
|
115
|
-
- Email service integration working
|
|
116
|
-
- All tests passing
|
|
117
|
-
|
|
118
|
-
**Learnings:**
|
|
119
|
-
- Bcrypt cost factor 12 provides good balance
|
|
120
|
-
- Email validation regex from validator.js works well
|
|
121
|
-
- Nodemailer setup straightforward
|
|
122
|
-
|
|
123
|
-
**Files Changed:**
|
|
124
|
-
- src/api/auth/register.ts (new)
|
|
125
|
-
- src/services/user.service.ts (new)
|
|
126
|
-
- src/utils/password.ts (new)
|
|
127
|
-
- tests/auth/register.test.ts (new)
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## Notes
|
|
135
|
-
|
|
136
|
-
- Work on ONE story at a time
|
|
137
|
-
- Follow dependency order
|
|
138
|
-
- Don't skip quality checks
|
|
139
|
-
- Commit frequently
|
|
140
|
-
- Update progress after each story
|
|
141
|
-
- This is a guided workflow, not automated
|