@arvorco/relentless 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/.claude/commands/relentless.analyze.md +20 -0
- package/.claude/commands/relentless.checklist.md +15 -0
- package/.claude/commands/relentless.clarify.md +19 -0
- package/.claude/commands/relentless.constitution.md +78 -0
- package/.claude/commands/relentless.implement.md +15 -0
- package/.claude/commands/relentless.plan.md +22 -0
- package/.claude/commands/relentless.plan.old.md +89 -0
- package/.claude/commands/relentless.specify.md +254 -0
- package/.claude/commands/relentless.tasks.md +25 -0
- package/.claude/commands/relentless.taskstoissues.md +15 -0
- package/.claude/settings.local.json +23 -0
- package/.claude/skills/analyze/SKILL.md +149 -0
- package/.claude/skills/checklist/SKILL.md +173 -0
- package/.claude/skills/checklist/templates/checklist-template.md +40 -0
- package/.claude/skills/clarify/SKILL.md +174 -0
- package/.claude/skills/constitution/SKILL.md +150 -0
- package/.claude/skills/constitution/templates/constitution-template.md +228 -0
- package/.claude/skills/implement/SKILL.md +141 -0
- package/.claude/skills/plan/SKILL.md +179 -0
- package/.claude/skills/plan/templates/plan-template.md +104 -0
- package/.claude/skills/prd/SKILL.md +242 -0
- package/.claude/skills/relentless/SKILL.md +265 -0
- package/.claude/skills/specify/SKILL.md +220 -0
- package/.claude/skills/specify/scripts/bash/check-prerequisites.sh +166 -0
- package/.claude/skills/specify/scripts/bash/common.sh +156 -0
- package/.claude/skills/specify/scripts/bash/create-new-feature.sh +305 -0
- package/.claude/skills/specify/scripts/bash/setup-plan.sh +61 -0
- package/.claude/skills/specify/scripts/bash/update-agent-context.sh +799 -0
- package/.claude/skills/specify/templates/spec-template.md +115 -0
- package/.claude/skills/tasks/SKILL.md +202 -0
- package/.claude/skills/tasks/templates/tasks-template.md +251 -0
- package/.claude/skills/taskstoissues/SKILL.md +97 -0
- package/.specify/memory/constitution.md +50 -0
- package/.specify/scripts/bash/check-prerequisites.sh +166 -0
- package/.specify/scripts/bash/common.sh +156 -0
- package/.specify/scripts/bash/create-new-feature.sh +297 -0
- package/.specify/scripts/bash/setup-plan.sh +61 -0
- package/.specify/scripts/bash/update-agent-context.sh +799 -0
- package/.specify/templates/agent-file-template.md +28 -0
- package/.specify/templates/checklist-template.md +40 -0
- package/.specify/templates/plan-template.md +104 -0
- package/.specify/templates/spec-template.md +115 -0
- package/.specify/templates/tasks-template.md +251 -0
- package/CHANGES_SUMMARY.md +255 -0
- package/CLAUDE.md +92 -0
- package/GEMINI_SETUP.md +256 -0
- package/LICENSE +21 -0
- package/README.md +1171 -0
- package/REFACTOR_SUMMARY.md +267 -0
- package/bin/relentless.ts +536 -0
- package/bun.lock +352 -0
- package/eslint.config.js +37 -0
- package/package.json +61 -0
- package/prd.json.example +64 -0
- package/prompt.md +108 -0
- package/ralph.sh +80 -0
- package/relentless/config.json +38 -0
- package/relentless/features/.gitkeep +0 -0
- package/relentless/features/ghsk-ideas/prd.json +229 -0
- package/relentless/features/ghsk-ideas/prd.md +191 -0
- package/relentless/features/ghsk-ideas/progress.txt +408 -0
- package/relentless/prompt.md +79 -0
- package/skills/checklist/SKILL.md +349 -0
- package/skills/clarify/SKILL.md +476 -0
- package/skills/prd/SKILL.md +242 -0
- package/skills/relentless/SKILL.md +268 -0
- package/skills/tasks/SKILL.md +577 -0
- package/src/agents/amp.ts +115 -0
- package/src/agents/claude.ts +185 -0
- package/src/agents/codex.ts +89 -0
- package/src/agents/droid.ts +90 -0
- package/src/agents/gemini.ts +109 -0
- package/src/agents/index.ts +16 -0
- package/src/agents/opencode.ts +88 -0
- package/src/agents/registry.ts +95 -0
- package/src/agents/types.ts +101 -0
- package/src/config/index.ts +8 -0
- package/src/config/loader.ts +237 -0
- package/src/config/schema.ts +115 -0
- package/src/execution/index.ts +8 -0
- package/src/execution/router.ts +49 -0
- package/src/execution/runner.ts +512 -0
- package/src/index.ts +11 -0
- package/src/init/index.ts +7 -0
- package/src/init/scaffolder.ts +377 -0
- package/src/prd/analyzer.ts +512 -0
- package/src/prd/index.ts +11 -0
- package/src/prd/issues.ts +249 -0
- package/src/prd/parser.ts +281 -0
- package/src/prd/progress.ts +198 -0
- package/src/prd/types.ts +170 -0
- package/src/tui/App.tsx +85 -0
- package/src/tui/TUIRunner.tsx +400 -0
- package/src/tui/components/AgentOutput.tsx +45 -0
- package/src/tui/components/AgentStatus.tsx +64 -0
- package/src/tui/components/CurrentStory.tsx +66 -0
- package/src/tui/components/Header.tsx +49 -0
- package/src/tui/components/ProgressBar.tsx +39 -0
- package/src/tui/components/StoryGrid.tsx +86 -0
- package/src/tui/hooks/useTUI.ts +147 -0
- package/src/tui/hooks/useTimer.ts +51 -0
- package/src/tui/index.tsx +17 -0
- package/src/tui/theme.ts +41 -0
- package/src/tui/types.ts +77 -0
- package/templates/constitution.md +228 -0
- package/templates/plan.md +273 -0
- package/tsconfig.json +27 -0
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: checklist
|
|
3
|
+
description: "Generate custom quality checklists based on PRD requirements. Use for ensuring comprehensive validation. Triggers on: create checklist, generate quality checklist, validation checklist for."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Quality Checklist Generator
|
|
7
|
+
|
|
8
|
+
Generate comprehensive, domain-specific quality checklists that ensure thorough validation of your feature implementation.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## The Job
|
|
13
|
+
|
|
14
|
+
1. Read the PRD from `relentless/features/[feature-name]/prd.json` or `prd.md`
|
|
15
|
+
2. Analyze user stories and acceptance criteria to infer the appropriate domain
|
|
16
|
+
3. Generate a detailed quality checklist with 20-40 items across 5-7 categories
|
|
17
|
+
4. Ensure 80% of items reference specific spec sections or have markers for gaps/ambiguities
|
|
18
|
+
5. Save to `relentless/features/[feature-name]/checklist.md`
|
|
19
|
+
|
|
20
|
+
**Important:** This skill works with Claude Code, Amp, Gemini, and other AI coding agents.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Step 1: Domain Inference
|
|
25
|
+
|
|
26
|
+
Analyze the PRD to determine the primary domain(s):
|
|
27
|
+
|
|
28
|
+
- **Database/Backend**: Schema, migrations, API endpoints, server actions
|
|
29
|
+
- **Frontend/UI**: Components, forms, navigation, responsive design
|
|
30
|
+
- **Authentication/Security**: Auth flows, permissions, security policies
|
|
31
|
+
- **Data Processing**: ETL, validation, transformations, aggregations
|
|
32
|
+
- **Integration**: Third-party APIs, webhooks, external services
|
|
33
|
+
- **Performance**: Caching, optimization, load handling
|
|
34
|
+
- **Testing**: Unit tests, integration tests, E2E tests
|
|
35
|
+
|
|
36
|
+
Most features span multiple domains. Identify the **primary** and **secondary** domains.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Step 2: Checklist Structure
|
|
41
|
+
|
|
42
|
+
Generate a checklist with the following structure:
|
|
43
|
+
|
|
44
|
+
### Header
|
|
45
|
+
```markdown
|
|
46
|
+
# Quality Checklist: [Feature Name]
|
|
47
|
+
|
|
48
|
+
Generated: [Date]
|
|
49
|
+
Domain: [Primary Domain] + [Secondary Domains]
|
|
50
|
+
|
|
51
|
+
This checklist ensures comprehensive validation of the [Feature Name] implementation.
|
|
52
|
+
Reference the PRD for detailed requirements.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Categories (5-7 categories, tailored to domain)
|
|
58
|
+
|
|
59
|
+
#### For Database/Backend Features:
|
|
60
|
+
- Schema & Migrations
|
|
61
|
+
- Data Integrity
|
|
62
|
+
- API Design
|
|
63
|
+
- Error Handling
|
|
64
|
+
- Security
|
|
65
|
+
|
|
66
|
+
#### For Frontend/UI Features:
|
|
67
|
+
- Component Structure
|
|
68
|
+
- User Experience
|
|
69
|
+
- Accessibility
|
|
70
|
+
- Responsive Design
|
|
71
|
+
- Error States
|
|
72
|
+
|
|
73
|
+
#### For Full-Stack Features (most common):
|
|
74
|
+
- Schema & Database
|
|
75
|
+
- Backend Logic
|
|
76
|
+
- Frontend Components
|
|
77
|
+
- Integration & Flow
|
|
78
|
+
- Testing & Validation
|
|
79
|
+
- Security & Permissions
|
|
80
|
+
- Performance & UX
|
|
81
|
+
|
|
82
|
+
### Item Format
|
|
83
|
+
|
|
84
|
+
Each item should be:
|
|
85
|
+
- **Specific**: Reference exact PRD sections when possible
|
|
86
|
+
- **Verifiable**: Can be checked objectively
|
|
87
|
+
- **Actionable**: Clear what to verify
|
|
88
|
+
|
|
89
|
+
```markdown
|
|
90
|
+
## Category Name
|
|
91
|
+
|
|
92
|
+
- [ ] **[US-XXX]** Specific requirement from user story
|
|
93
|
+
- [ ] **[FR-X]** Functional requirement validation
|
|
94
|
+
- [ ] **[Gap]** Potential gap identified (e.g., error handling not specified)
|
|
95
|
+
- [ ] **[Ambiguity]** Unclear area needing clarification
|
|
96
|
+
- [ ] General best practice for this domain
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Step 3: Quality Requirements
|
|
102
|
+
|
|
103
|
+
Ensure **80% of items** fall into one of these categories:
|
|
104
|
+
|
|
105
|
+
### Referenced Items (60%+)
|
|
106
|
+
Directly reference PRD sections:
|
|
107
|
+
- `[US-001]` - User story reference
|
|
108
|
+
- `[FR-3]` - Functional requirement reference
|
|
109
|
+
- `[AC-2]` - Acceptance criteria reference
|
|
110
|
+
- `[Goal-1]` - Goal reference
|
|
111
|
+
|
|
112
|
+
### Gap/Ambiguity Markers (20%+)
|
|
113
|
+
Identify potential issues:
|
|
114
|
+
- `[Gap]` - Missing specification (e.g., "Error handling for network failures not specified")
|
|
115
|
+
- `[Ambiguity]` - Unclear requirement (e.g., "Loading state duration unspecified")
|
|
116
|
+
- `[Edge Case]` - Potential edge case not covered
|
|
117
|
+
- `[Security]` - Security consideration not mentioned
|
|
118
|
+
|
|
119
|
+
### General Best Practices (20%)
|
|
120
|
+
Domain-standard practices:
|
|
121
|
+
- "Code follows project linting rules"
|
|
122
|
+
- "Components have proper TypeScript types"
|
|
123
|
+
- "Database indexes on foreign keys"
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Step 4: Category Selection Guide
|
|
128
|
+
|
|
129
|
+
### Database/Backend Checklist Categories:
|
|
130
|
+
1. **Schema & Migrations**
|
|
131
|
+
- Table structure matches requirements
|
|
132
|
+
- Migrations are reversible
|
|
133
|
+
- Indexes on foreign keys and query fields
|
|
134
|
+
- Data types appropriate for use case
|
|
135
|
+
|
|
136
|
+
2. **Data Integrity**
|
|
137
|
+
- Foreign key constraints
|
|
138
|
+
- Required fields enforced
|
|
139
|
+
- Validation rules implemented
|
|
140
|
+
- Default values appropriate
|
|
141
|
+
|
|
142
|
+
3. **API Design**
|
|
143
|
+
- Endpoints follow REST conventions
|
|
144
|
+
- Request/response types defined
|
|
145
|
+
- Error responses standardized
|
|
146
|
+
- API versioning considered
|
|
147
|
+
|
|
148
|
+
4. **Error Handling**
|
|
149
|
+
- Database errors caught and logged
|
|
150
|
+
- User-friendly error messages
|
|
151
|
+
- Rollback on failure
|
|
152
|
+
- Validation errors reported clearly
|
|
153
|
+
|
|
154
|
+
5. **Security**
|
|
155
|
+
- SQL injection prevention
|
|
156
|
+
- Authentication checks
|
|
157
|
+
- Authorization/permissions
|
|
158
|
+
- Sensitive data protection
|
|
159
|
+
|
|
160
|
+
### Frontend/UI Checklist Categories:
|
|
161
|
+
1. **Component Structure**
|
|
162
|
+
- Components follow project patterns
|
|
163
|
+
- Props typed correctly
|
|
164
|
+
- State management appropriate
|
|
165
|
+
- Reusable components identified
|
|
166
|
+
|
|
167
|
+
2. **User Experience**
|
|
168
|
+
- Loading states implemented
|
|
169
|
+
- Success/error feedback clear
|
|
170
|
+
- Navigation intuitive
|
|
171
|
+
- Actions have confirmation when needed
|
|
172
|
+
|
|
173
|
+
3. **Accessibility**
|
|
174
|
+
- Semantic HTML used
|
|
175
|
+
- ARIA labels on interactive elements
|
|
176
|
+
- Keyboard navigation works
|
|
177
|
+
- Color contrast meets WCAG standards
|
|
178
|
+
|
|
179
|
+
4. **Responsive Design**
|
|
180
|
+
- Works on mobile screens
|
|
181
|
+
- Touch targets appropriately sized
|
|
182
|
+
- Layout adapts to screen width
|
|
183
|
+
- Images scale properly
|
|
184
|
+
|
|
185
|
+
5. **Error States**
|
|
186
|
+
- Network error handling
|
|
187
|
+
- Empty states defined
|
|
188
|
+
- Invalid input feedback
|
|
189
|
+
- Graceful degradation
|
|
190
|
+
|
|
191
|
+
### Full-Stack Checklist Categories:
|
|
192
|
+
1. **Schema & Database** (see Database categories)
|
|
193
|
+
2. **Backend Logic** (API Design + Error Handling)
|
|
194
|
+
3. **Frontend Components** (Component Structure + UX)
|
|
195
|
+
4. **Integration & Flow** (end-to-end user flows)
|
|
196
|
+
5. **Testing & Validation** (tests, linting, typechecking)
|
|
197
|
+
6. **Security & Permissions** (auth, authorization, data protection)
|
|
198
|
+
7. **Performance & UX** (loading, caching, responsiveness)
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Example Checklist: Task Status Feature
|
|
203
|
+
|
|
204
|
+
```markdown
|
|
205
|
+
# Quality Checklist: Task Status Feature
|
|
206
|
+
|
|
207
|
+
Generated: 2026-01-11
|
|
208
|
+
Domain: Full-Stack (Database + UI)
|
|
209
|
+
|
|
210
|
+
This checklist ensures comprehensive validation of the Task Status Feature implementation.
|
|
211
|
+
Reference the PRD for detailed requirements.
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Schema & Database
|
|
216
|
+
|
|
217
|
+
- [ ] **[US-001]** `status` column added to tasks table
|
|
218
|
+
- [ ] **[US-001]** Status type is enum: 'pending' | 'in_progress' | 'done'
|
|
219
|
+
- [ ] **[US-001]** Default value is 'pending'
|
|
220
|
+
- [ ] **[US-001]** Migration runs successfully without errors
|
|
221
|
+
- [ ] **[Gap]** Index on status column for filtering performance
|
|
222
|
+
- [ ] Migration is reversible (has down migration)
|
|
223
|
+
|
|
224
|
+
## Backend Logic
|
|
225
|
+
|
|
226
|
+
- [ ] **[US-003]** Status update endpoint accepts valid status values
|
|
227
|
+
- [ ] **[US-003]** Invalid status values rejected with clear error
|
|
228
|
+
- [ ] **[Gap]** Concurrent status updates handled correctly
|
|
229
|
+
- [ ] Status changes logged for audit trail (if applicable)
|
|
230
|
+
- [ ] Server action returns updated task object
|
|
231
|
+
|
|
232
|
+
## Frontend Components
|
|
233
|
+
|
|
234
|
+
- [ ] **[US-002]** Status badge component created
|
|
235
|
+
- [ ] **[US-002]** Badge colors: gray=pending, blue=in_progress, green=done
|
|
236
|
+
- [ ] **[US-002]** Badge visible on all task cards
|
|
237
|
+
- [ ] **[US-003]** Status dropdown/toggle added to task rows
|
|
238
|
+
- [ ] **[US-003]** Current status shows as selected in dropdown
|
|
239
|
+
- [ ] **[Ambiguity]** Loading state during status update
|
|
240
|
+
- [ ] TypeScript types for status enum defined
|
|
241
|
+
- [ ] Components follow project structure patterns
|
|
242
|
+
|
|
243
|
+
## Integration & Flow
|
|
244
|
+
|
|
245
|
+
- [ ] **[US-003]** Changing status saves immediately
|
|
246
|
+
- [ ] **[US-003]** UI updates without full page refresh
|
|
247
|
+
- [ ] **[US-004]** Filter dropdown has options: All, Pending, In Progress, Done
|
|
248
|
+
- [ ] **[US-004]** Filter persists in URL parameters
|
|
249
|
+
- [ ] **[US-004]** Empty state shown when no tasks match filter
|
|
250
|
+
- [ ] **[Gap]** Filter state cleared when navigating away
|
|
251
|
+
- [ ] Page loads with correct filter from URL params
|
|
252
|
+
|
|
253
|
+
## Testing & Validation
|
|
254
|
+
|
|
255
|
+
- [ ] Migration tested on clean database
|
|
256
|
+
- [ ] All TypeScript type checks pass (bun run typecheck)
|
|
257
|
+
- [ ] All linting rules pass (bun run lint)
|
|
258
|
+
- [ ] **[Edge Case]** Filtering with no tasks in database
|
|
259
|
+
- [ ] **[Edge Case]** Status update fails (network error)
|
|
260
|
+
- [ ] Manual browser verification completed
|
|
261
|
+
|
|
262
|
+
## Security & Permissions
|
|
263
|
+
|
|
264
|
+
- [ ] Status updates require authentication
|
|
265
|
+
- [ ] Users can only update their own tasks (if multi-user)
|
|
266
|
+
- [ ] **[Gap]** Permission checks for status changes
|
|
267
|
+
- [ ] SQL injection prevented (using parameterized queries)
|
|
268
|
+
|
|
269
|
+
## Performance & UX
|
|
270
|
+
|
|
271
|
+
- [ ] **[Gap]** Status filter query performance acceptable
|
|
272
|
+
- [ ] Status badge renders without layout shift
|
|
273
|
+
- [ ] Dropdown opens/closes smoothly
|
|
274
|
+
- [ ] Filter change feels instant (< 100ms perceived)
|
|
275
|
+
- [ ] **[Ambiguity]** Optimistic UI updates vs server confirmation
|
|
276
|
+
- [ ] Status colors accessible (sufficient contrast)
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Summary
|
|
281
|
+
|
|
282
|
+
Total Items: 42
|
|
283
|
+
- Referenced: 17 (40%)
|
|
284
|
+
- Gaps/Ambiguities: 11 (26%)
|
|
285
|
+
- Best Practices: 14 (33%)
|
|
286
|
+
|
|
287
|
+
**Coverage:** 66% of items reference specific PRD sections or identify gaps/ambiguities.
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## Implementation Notes
|
|
293
|
+
|
|
294
|
+
### For User Stories with Dependencies
|
|
295
|
+
If the PRD has dependencies (US-002 depends on US-001), structure checklist to reflect implementation order:
|
|
296
|
+
- Early categories cover foundational stories (schema, backend)
|
|
297
|
+
- Later categories cover dependent stories (UI, integration)
|
|
298
|
+
|
|
299
|
+
### For Multi-Domain Features
|
|
300
|
+
If feature spans multiple domains (e.g., database + UI + external API):
|
|
301
|
+
- Create categories for each domain
|
|
302
|
+
- Add "Integration & Flow" category for cross-domain interactions
|
|
303
|
+
- Ensure end-to-end user flows are validated
|
|
304
|
+
|
|
305
|
+
### Gap and Ambiguity Identification
|
|
306
|
+
Common gaps to look for:
|
|
307
|
+
- **Error handling**: What happens when operations fail?
|
|
308
|
+
- **Loading states**: How long do operations take? What shows during loading?
|
|
309
|
+
- **Edge cases**: Empty data, maximum limits, invalid input
|
|
310
|
+
- **Security**: Authentication, authorization, data validation
|
|
311
|
+
- **Performance**: Query optimization, caching, pagination
|
|
312
|
+
- **Accessibility**: Screen readers, keyboard navigation
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Step 5: Save the Checklist
|
|
317
|
+
|
|
318
|
+
1. Determine feature name from PRD path or filename
|
|
319
|
+
2. Save to: `relentless/features/[feature-name]/checklist.md`
|
|
320
|
+
3. Use markdown format exactly as shown in examples
|
|
321
|
+
4. Include summary at bottom with item counts and coverage percentage
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## Checklist Before Saving
|
|
326
|
+
|
|
327
|
+
- [ ] Analyzed PRD and identified primary/secondary domains
|
|
328
|
+
- [ ] Generated 20-40 checklist items
|
|
329
|
+
- [ ] Organized into 5-7 relevant categories
|
|
330
|
+
- [ ] At least 80% of items reference PRD sections or mark gaps/ambiguities
|
|
331
|
+
- [ ] Items are specific and verifiable
|
|
332
|
+
- [ ] Summary section shows item counts and coverage
|
|
333
|
+
- [ ] Saved to `relentless/features/[feature-name]/checklist.md`
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Multi-Agent Support
|
|
338
|
+
|
|
339
|
+
This skill is designed to work with:
|
|
340
|
+
- **Claude Code**: Full support, use AskUserQuestion if domain unclear
|
|
341
|
+
- **Amp**: Full support, infer domain from PRD automatically
|
|
342
|
+
- **Gemini**: Full support, analyze PRD structure and content
|
|
343
|
+
- **Codex**: Full support, generate checklist programmatically
|
|
344
|
+
- **Droid**: Full support, interactive domain selection if needed
|
|
345
|
+
|
|
346
|
+
The skill does NOT require agent-specific features - it only needs:
|
|
347
|
+
- File reading capability
|
|
348
|
+
- PRD analysis (text understanding)
|
|
349
|
+
- Markdown file writing
|