@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.
Files changed (53) hide show
  1. package/README.md +30 -13
  2. package/bin/relentless.ts +1 -1
  3. package/package.json +3 -2
  4. package/.claude/commands/relentless.plan.old.md +0 -89
  5. package/.claude/settings.local.json +0 -23
  6. package/.claude/skills/analyze/SKILL.md +0 -149
  7. package/.claude/skills/checklist/SKILL.md +0 -173
  8. package/.claude/skills/checklist/templates/checklist-template.md +0 -40
  9. package/.claude/skills/clarify/SKILL.md +0 -174
  10. package/.claude/skills/constitution/SKILL.md +0 -150
  11. package/.claude/skills/constitution/templates/constitution-template.md +0 -228
  12. package/.claude/skills/implement/SKILL.md +0 -141
  13. package/.claude/skills/plan/SKILL.md +0 -179
  14. package/.claude/skills/plan/templates/plan-template.md +0 -104
  15. package/.claude/skills/prd/SKILL.md +0 -242
  16. package/.claude/skills/relentless/SKILL.md +0 -265
  17. package/.claude/skills/specify/SKILL.md +0 -220
  18. package/.claude/skills/specify/scripts/bash/check-prerequisites.sh +0 -166
  19. package/.claude/skills/specify/scripts/bash/common.sh +0 -156
  20. package/.claude/skills/specify/scripts/bash/create-new-feature.sh +0 -305
  21. package/.claude/skills/specify/scripts/bash/setup-plan.sh +0 -61
  22. package/.claude/skills/specify/scripts/bash/update-agent-context.sh +0 -799
  23. package/.claude/skills/specify/templates/spec-template.md +0 -115
  24. package/.claude/skills/tasks/SKILL.md +0 -202
  25. package/.claude/skills/tasks/templates/tasks-template.md +0 -251
  26. package/.claude/skills/taskstoissues/SKILL.md +0 -97
  27. package/.specify/memory/constitution.md +0 -50
  28. package/.specify/scripts/bash/check-prerequisites.sh +0 -166
  29. package/.specify/scripts/bash/common.sh +0 -156
  30. package/.specify/scripts/bash/create-new-feature.sh +0 -297
  31. package/.specify/scripts/bash/setup-plan.sh +0 -61
  32. package/.specify/scripts/bash/update-agent-context.sh +0 -799
  33. package/.specify/templates/agent-file-template.md +0 -28
  34. package/.specify/templates/checklist-template.md +0 -40
  35. package/.specify/templates/plan-template.md +0 -104
  36. package/.specify/templates/spec-template.md +0 -115
  37. package/.specify/templates/tasks-template.md +0 -251
  38. package/CHANGES_SUMMARY.md +0 -255
  39. package/CLAUDE.md +0 -92
  40. package/GEMINI_SETUP.md +0 -256
  41. package/REFACTOR_SUMMARY.md +0 -267
  42. package/bun.lock +0 -352
  43. package/prompt.md +0 -108
  44. package/ralph.sh +0 -80
  45. package/relentless/features/ghsk-ideas/prd.json +0 -229
  46. package/relentless/features/ghsk-ideas/prd.md +0 -191
  47. package/relentless/features/ghsk-ideas/progress.txt +0 -408
  48. package/relentless/prompt.md +0 -79
  49. package/skills/checklist/SKILL.md +0 -349
  50. package/skills/clarify/SKILL.md +0 -476
  51. package/skills/prd/SKILL.md +0 -242
  52. package/skills/relentless/SKILL.md +0 -268
  53. package/skills/tasks/SKILL.md +0 -577
@@ -1,179 +0,0 @@
1
- ---
2
- name: plan
3
- description: "Generate technical implementation plan from feature specification. Use after creating spec. Triggers on: create plan, technical plan, implementation design."
4
- ---
5
-
6
- # Technical Implementation Plan Generator
7
-
8
- Create detailed technical plans that translate feature specifications into implementation designs.
9
-
10
- ---
11
-
12
- ## The Job
13
-
14
- 1. Read the feature specification (`spec.md`)
15
- 2. Read project constitution for technical constraints
16
- 3. Generate technical architecture and implementation plan
17
- 4. Save to `plan.md` in the feature directory
18
-
19
- ---
20
-
21
- ## Step 1: Locate Feature Files
22
-
23
- Find the current feature directory:
24
- - Look in `relentless/features/` for the most recent feature
25
- - Or ask user which feature to plan
26
- - Verify `spec.md` exists
27
-
28
- ---
29
-
30
- ## Step 2: Load Context
31
-
32
- Read these files:
33
- 1. **relentless/constitution.md** - Project governance and technical standards
34
- 2. **relentless/features/NNN-feature/spec.md** - Feature requirements
35
- 3. Project README or docs for tech stack information
36
-
37
- ---
38
-
39
- ## Step 3: Generate Technical Plan
40
-
41
- Using the template at `templates/plan-template.md`, create a plan with:
42
-
43
- ### Required Sections:
44
-
45
- **1. Technical Overview**
46
- - Architecture approach
47
- - Key technologies to use (from constitution/existing stack)
48
- - Integration points
49
-
50
- **2. Data Models**
51
- - Database schemas
52
- - Entity relationships
53
- - Field definitions with types
54
- - Indexes and constraints
55
-
56
- **3. API Contracts**
57
- - Endpoints and methods
58
- - Request/response formats
59
- - Authentication requirements
60
- - Error responses
61
-
62
- **4. Implementation Strategy**
63
- - Phase breakdown
64
- - Dependencies between components
65
- - Integration approach
66
-
67
- **5. Testing Strategy**
68
- - Unit test approach
69
- - Integration test scenarios
70
- - E2E test cases
71
- - Test data requirements
72
-
73
- **6. Security Considerations**
74
- - Authentication/authorization
75
- - Data validation
76
- - Security best practices
77
- - Compliance requirements
78
-
79
- **7. Rollout Plan**
80
- - Deployment strategy
81
- - Migration requirements (if any)
82
- - Monitoring and observability
83
- - Rollback plan
84
-
85
- ---
86
-
87
- ## Step 4: Ensure Constitution Compliance
88
-
89
- Validate the plan against constitution:
90
- - **MUST** rules: Required, plan must follow these
91
- - **SHOULD** rules: Best practices, document any deviations
92
-
93
- If plan violates MUST rules, revise until compliant.
94
-
95
- ---
96
-
97
- ## Step 5: Save & Report
98
-
99
- 1. Save plan to `relentless/features/NNN-feature/plan.md`
100
- 2. Update progress.txt with plan creation timestamp
101
- 3. Report:
102
- - Plan location
103
- - Key technical decisions
104
- - Constitution compliance: PASS/FAIL
105
- - Next step: `/relentless.tasks`
106
-
107
- ---
108
-
109
- ## Example Sections
110
-
111
- ```markdown
112
- # Technical Implementation Plan: User Authentication
113
-
114
- ## Technical Overview
115
-
116
- **Architecture:** Three-tier (API, Service, Data)
117
- **Stack:** Node.js, TypeScript, PostgreSQL
118
- **Authentication:** JWT tokens with refresh mechanism
119
-
120
- ## Data Models
121
-
122
- ### User Table
123
- \`\`\`sql
124
- CREATE TABLE users (
125
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
126
- email VARCHAR(255) UNIQUE NOT NULL,
127
- password_hash VARCHAR(255) NOT NULL,
128
- confirmed BOOLEAN DEFAULT FALSE,
129
- created_at TIMESTAMP DEFAULT NOW(),
130
- updated_at TIMESTAMP DEFAULT NOW()
131
- );
132
-
133
- CREATE INDEX idx_users_email ON users(email);
134
- \`\`\`
135
-
136
- ## API Contracts
137
-
138
- ### POST /api/auth/register
139
- **Request:**
140
- \`\`\`json
141
- {
142
- "email": "user@example.com",
143
- "password": "password123"
144
- }
145
- \`\`\`
146
-
147
- **Response (201):**
148
- \`\`\`json
149
- {
150
- "id": "uuid",
151
- "email": "user@example.com",
152
- "message": "Confirmation email sent"
153
- }
154
- \`\`\`
155
-
156
- ## Testing Strategy
157
-
158
- **Unit Tests:**
159
- - Password hashing utility
160
- - Email validation
161
- - Token generation/verification
162
-
163
- **Integration Tests:**
164
- - Full registration flow
165
- - Email sending
166
- - Database operations
167
-
168
- **E2E Tests:**
169
- - Complete user journey from signup to login
170
- ```
171
-
172
- ---
173
-
174
- ## Notes
175
-
176
- - Plan bridges WHAT (spec) to HOW (implementation)
177
- - Include specific technologies and patterns
178
- - Must comply with constitution
179
- - Detailed enough for task generation
@@ -1,104 +0,0 @@
1
- # Implementation Plan: [FEATURE]
2
-
3
- **Branch**: `[###-feature-name]` | **Date**: [DATE] | **Spec**: [link]
4
- **Input**: Feature specification from `/specs/[###-feature-name]/spec.md`
5
-
6
- **Note**: This template is filled in by the `/relentless.plan` command. See `.specify/templates/commands/plan.md` for the execution workflow.
7
-
8
- ## Summary
9
-
10
- [Extract from feature spec: primary requirement + technical approach from research]
11
-
12
- ## Technical Context
13
-
14
- <!--
15
- ACTION REQUIRED: Replace the content in this section with the technical details
16
- for the project. The structure here is presented in advisory capacity to guide
17
- the iteration process.
18
- -->
19
-
20
- **Language/Version**: [e.g., Python 3.11, Swift 5.9, Rust 1.75 or NEEDS CLARIFICATION]
21
- **Primary Dependencies**: [e.g., FastAPI, UIKit, LLVM or NEEDS CLARIFICATION]
22
- **Storage**: [if applicable, e.g., PostgreSQL, CoreData, files or N/A]
23
- **Testing**: [e.g., pytest, XCTest, cargo test or NEEDS CLARIFICATION]
24
- **Target Platform**: [e.g., Linux server, iOS 15+, WASM or NEEDS CLARIFICATION]
25
- **Project Type**: [single/web/mobile - determines source structure]
26
- **Performance Goals**: [domain-specific, e.g., 1000 req/s, 10k lines/sec, 60 fps or NEEDS CLARIFICATION]
27
- **Constraints**: [domain-specific, e.g., <200ms p95, <100MB memory, offline-capable or NEEDS CLARIFICATION]
28
- **Scale/Scope**: [domain-specific, e.g., 10k users, 1M LOC, 50 screens or NEEDS CLARIFICATION]
29
-
30
- ## Constitution Check
31
-
32
- *GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.*
33
-
34
- [Gates determined based on constitution file]
35
-
36
- ## Project Structure
37
-
38
- ### Documentation (this feature)
39
-
40
- ```text
41
- specs/[###-feature]/
42
- ├── plan.md # This file (/relentless.plan command output)
43
- ├── research.md # Phase 0 output (/relentless.plan command)
44
- ├── data-model.md # Phase 1 output (/relentless.plan command)
45
- ├── quickstart.md # Phase 1 output (/relentless.plan command)
46
- ├── contracts/ # Phase 1 output (/relentless.plan command)
47
- └── tasks.md # Phase 2 output (/relentless.tasks command - NOT created by /relentless.plan)
48
- ```
49
-
50
- ### Source Code (repository root)
51
- <!--
52
- ACTION REQUIRED: Replace the placeholder tree below with the concrete layout
53
- for this feature. Delete unused options and expand the chosen structure with
54
- real paths (e.g., apps/admin, packages/something). The delivered plan must
55
- not include Option labels.
56
- -->
57
-
58
- ```text
59
- # [REMOVE IF UNUSED] Option 1: Single project (DEFAULT)
60
- src/
61
- ├── models/
62
- ├── services/
63
- ├── cli/
64
- └── lib/
65
-
66
- tests/
67
- ├── contract/
68
- ├── integration/
69
- └── unit/
70
-
71
- # [REMOVE IF UNUSED] Option 2: Web application (when "frontend" + "backend" detected)
72
- backend/
73
- ├── src/
74
- │ ├── models/
75
- │ ├── services/
76
- │ └── api/
77
- └── tests/
78
-
79
- frontend/
80
- ├── src/
81
- │ ├── components/
82
- │ ├── pages/
83
- │ └── services/
84
- └── tests/
85
-
86
- # [REMOVE IF UNUSED] Option 3: Mobile + API (when "iOS/Android" detected)
87
- api/
88
- └── [same as backend above]
89
-
90
- ios/ or android/
91
- └── [platform-specific structure: feature modules, UI flows, platform tests]
92
- ```
93
-
94
- **Structure Decision**: [Document the selected structure and reference the real
95
- directories captured above]
96
-
97
- ## Complexity Tracking
98
-
99
- > **Fill ONLY if Constitution Check has violations that must be justified**
100
-
101
- | Violation | Why Needed | Simpler Alternative Rejected Because |
102
- |-----------|------------|-------------------------------------|
103
- | [e.g., 4th project] | [current need] | [why 3 projects insufficient] |
104
- | [e.g., Repository pattern] | [specific problem] | [why direct DB access insufficient] |
@@ -1,242 +0,0 @@
1
- ---
2
- name: prd
3
- description: "Generate a Product Requirements Document (PRD) for a new feature. Use when planning a feature, starting a new project, or when asked to create a PRD. Triggers on: create a prd, write prd for, plan this feature, requirements for, spec out."
4
- ---
5
-
6
- # PRD Generator
7
-
8
- Create detailed Product Requirements Documents that are clear, actionable, and suitable for implementation.
9
-
10
- ---
11
-
12
- ## The Job
13
-
14
- 1. Receive a feature description from the user
15
- 2. Ask 3-5 essential clarifying questions (with lettered options)
16
- 3. Generate a structured PRD based on answers
17
- 4. Save to `relentless/features/[feature-name]/prd.md`
18
-
19
- **Important:** Do NOT start implementing. Just create the PRD.
20
-
21
- ---
22
-
23
- ## Step 1: Clarifying Questions
24
-
25
- Ask only critical questions where the initial prompt is ambiguous. Focus on:
26
-
27
- - **Problem/Goal:** What problem does this solve?
28
- - **Core Functionality:** What are the key actions?
29
- - **Scope/Boundaries:** What should it NOT do?
30
- - **Success Criteria:** How do we know it's done?
31
-
32
- ### Format Questions Like This:
33
-
34
- ```
35
- 1. What is the primary goal of this feature?
36
- A. Improve user onboarding experience
37
- B. Increase user retention
38
- C. Reduce support burden
39
- D. Other: [please specify]
40
-
41
- 2. Who is the target user?
42
- A. New users only
43
- B. Existing users only
44
- C. All users
45
- D. Admin users only
46
-
47
- 3. What is the scope?
48
- A. Minimal viable version
49
- B. Full-featured implementation
50
- C. Just the backend/API
51
- D. Just the UI
52
- ```
53
-
54
- This lets users respond with "1A, 2C, 3B" for quick iteration.
55
-
56
- ---
57
-
58
- ## Step 2: PRD Structure
59
-
60
- Generate the PRD with these sections:
61
-
62
- ### 1. Introduction/Overview
63
- Brief description of the feature and the problem it solves.
64
-
65
- ### 2. Goals
66
- Specific, measurable objectives (bullet list).
67
-
68
- ### 3. User Stories
69
- Each story needs:
70
- - **Title:** Short descriptive name
71
- - **Description:** "As a [user], I want [feature] so that [benefit]"
72
- - **Acceptance Criteria:** Verifiable checklist of what "done" means
73
-
74
- Each story should be small enough to implement in one focused session.
75
-
76
- **Format:**
77
- ```markdown
78
- ### US-001: [Title]
79
- **Description:** As a [user], I want [feature] so that [benefit].
80
-
81
- **Acceptance Criteria:**
82
- - [ ] Specific verifiable criterion
83
- - [ ] Another criterion
84
- - [ ] Typecheck/lint passes
85
- - [ ] **[UI stories only]** Verify in browser using dev-browser skill
86
- ```
87
-
88
- **Important:**
89
- - Acceptance criteria must be verifiable, not vague. "Works correctly" is bad. "Button shows confirmation dialog before deleting" is good.
90
- - **For any story with UI changes:** Always include "Verify in browser using dev-browser skill" as acceptance criteria. This ensures visual verification of frontend work.
91
-
92
- ### 4. Functional Requirements
93
- Numbered list of specific functionalities:
94
- - "FR-1: The system must allow users to..."
95
- - "FR-2: When a user clicks X, the system must..."
96
-
97
- Be explicit and unambiguous.
98
-
99
- ### 5. Non-Goals (Out of Scope)
100
- What this feature will NOT include. Critical for managing scope.
101
-
102
- ### 6. Design Considerations (Optional)
103
- - UI/UX requirements
104
- - Link to mockups if available
105
- - Relevant existing components to reuse
106
-
107
- ### 7. Technical Considerations (Optional)
108
- - Known constraints or dependencies
109
- - Integration points with existing systems
110
- - Performance requirements
111
-
112
- ### 8. Success Metrics
113
- How will success be measured?
114
- - "Reduce time to complete X by 50%"
115
- - "Increase conversion rate by 10%"
116
-
117
- ### 9. Open Questions
118
- Remaining questions or areas needing clarification.
119
-
120
- ---
121
-
122
- ## Writing for Junior Developers
123
-
124
- The PRD reader may be a junior developer or AI agent. Therefore:
125
-
126
- - Be explicit and unambiguous
127
- - Avoid jargon or explain it
128
- - Provide enough detail to understand purpose and core logic
129
- - Number requirements for easy reference
130
- - Use concrete examples where helpful
131
-
132
- ---
133
-
134
- ## Output
135
-
136
- - **Format:** Markdown (`.md`)
137
- - **Location:** `relentless/features/[feature-name]/`
138
- - **Filename:** `prd.md`
139
-
140
- **Note:** Create the feature directory first if it doesn't exist: `mkdir -p relentless/features/[feature-name]`
141
-
142
- ---
143
-
144
- ## Example PRD
145
-
146
- ```markdown
147
- # PRD: Task Priority System
148
-
149
- ## Introduction
150
-
151
- Add priority levels to tasks so users can focus on what matters most. Tasks can be marked as high, medium, or low priority, with visual indicators and filtering to help users manage their workload effectively.
152
-
153
- ## Goals
154
-
155
- - Allow assigning priority (high/medium/low) to any task
156
- - Provide clear visual differentiation between priority levels
157
- - Enable filtering and sorting by priority
158
- - Default new tasks to medium priority
159
-
160
- ## User Stories
161
-
162
- ### US-001: Add priority field to database
163
- **Description:** As a developer, I need to store task priority so it persists across sessions.
164
-
165
- **Acceptance Criteria:**
166
- - [ ] Add priority column to tasks table: 'high' | 'medium' | 'low' (default 'medium')
167
- - [ ] Generate and run migration successfully
168
- - [ ] Typecheck passes
169
-
170
- ### US-002: Display priority indicator on task cards
171
- **Description:** As a user, I want to see task priority at a glance so I know what needs attention first.
172
-
173
- **Acceptance Criteria:**
174
- - [ ] Each task card shows colored priority badge (red=high, yellow=medium, gray=low)
175
- - [ ] Priority visible without hovering or clicking
176
- - [ ] Typecheck passes
177
- - [ ] Verify in browser using dev-browser skill
178
-
179
- ### US-003: Add priority selector to task edit
180
- **Description:** As a user, I want to change a task's priority when editing it.
181
-
182
- **Acceptance Criteria:**
183
- - [ ] Priority dropdown in task edit modal
184
- - [ ] Shows current priority as selected
185
- - [ ] Saves immediately on selection change
186
- - [ ] Typecheck passes
187
- - [ ] Verify in browser using dev-browser skill
188
-
189
- ### US-004: Filter tasks by priority
190
- **Description:** As a user, I want to filter the task list to see only high-priority items when I'm focused.
191
-
192
- **Acceptance Criteria:**
193
- - [ ] Filter dropdown with options: All | High | Medium | Low
194
- - [ ] Filter persists in URL params
195
- - [ ] Empty state message when no tasks match filter
196
- - [ ] Typecheck passes
197
- - [ ] Verify in browser using dev-browser skill
198
-
199
- ## Functional Requirements
200
-
201
- - FR-1: Add `priority` field to tasks table ('high' | 'medium' | 'low', default 'medium')
202
- - FR-2: Display colored priority badge on each task card
203
- - FR-3: Include priority selector in task edit modal
204
- - FR-4: Add priority filter dropdown to task list header
205
- - FR-5: Sort by priority within each status column (high to medium to low)
206
-
207
- ## Non-Goals
208
-
209
- - No priority-based notifications or reminders
210
- - No automatic priority assignment based on due date
211
- - No priority inheritance for subtasks
212
-
213
- ## Technical Considerations
214
-
215
- - Reuse existing badge component with color variants
216
- - Filter state managed via URL search params
217
- - Priority stored in database, not computed
218
-
219
- ## Success Metrics
220
-
221
- - Users can change priority in under 2 clicks
222
- - High-priority tasks immediately visible at top of lists
223
- - No regression in task list performance
224
-
225
- ## Open Questions
226
-
227
- - Should priority affect task ordering within a column?
228
- - Should we add keyboard shortcuts for priority changes?
229
- ```
230
-
231
- ---
232
-
233
- ## Checklist
234
-
235
- Before saving the PRD:
236
-
237
- - [ ] Asked clarifying questions with lettered options
238
- - [ ] Incorporated user's answers
239
- - [ ] User stories are small and specific
240
- - [ ] Functional requirements are numbered and unambiguous
241
- - [ ] Non-goals section defines clear boundaries
242
- - [ ] Saved to `relentless/features/[feature-name]/prd.md`