ariadna 1.3.1 → 2.0.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 (148) hide show
  1. checksums.yaml +4 -4
  2. data/ariadna.gemspec +0 -1
  3. data/data/agents/ariadna-codebase-mapper.md +34 -722
  4. data/data/agents/ariadna-debugger.md +44 -1139
  5. data/data/agents/ariadna-executor.md +75 -396
  6. data/data/agents/ariadna-planner.md +78 -1215
  7. data/data/agents/ariadna-roadmapper.md +55 -582
  8. data/data/agents/ariadna-verifier.md +60 -702
  9. data/data/ariadna/templates/config.json +8 -33
  10. data/data/ariadna/workflows/debug.md +28 -0
  11. data/data/ariadna/workflows/execute-phase.md +31 -513
  12. data/data/ariadna/workflows/map-codebase.md +20 -319
  13. data/data/ariadna/workflows/new-milestone.md +20 -365
  14. data/data/ariadna/workflows/new-project.md +19 -880
  15. data/data/ariadna/workflows/plan-phase.md +24 -443
  16. data/data/ariadna/workflows/progress.md +20 -376
  17. data/data/ariadna/workflows/quick.md +19 -221
  18. data/data/ariadna/workflows/roadmap-ops.md +28 -0
  19. data/data/ariadna/workflows/verify-work.md +23 -560
  20. data/data/commands/ariadna/add-phase.md +11 -22
  21. data/data/commands/ariadna/debug.md +11 -143
  22. data/data/commands/ariadna/execute-phase.md +12 -30
  23. data/data/commands/ariadna/insert-phase.md +7 -14
  24. data/data/commands/ariadna/map-codebase.md +16 -49
  25. data/data/commands/ariadna/new-milestone.md +12 -25
  26. data/data/commands/ariadna/new-project.md +22 -26
  27. data/data/commands/ariadna/plan-phase.md +13 -22
  28. data/data/commands/ariadna/progress.md +16 -6
  29. data/data/commands/ariadna/quick.md +9 -11
  30. data/data/commands/ariadna/remove-phase.md +9 -12
  31. data/data/commands/ariadna/verify-work.md +14 -19
  32. data/data/skills/rails-backend/API.md +138 -0
  33. data/data/skills/rails-backend/CONTROLLERS.md +154 -0
  34. data/data/skills/rails-backend/JOBS.md +132 -0
  35. data/data/skills/rails-backend/MODELS.md +213 -0
  36. data/data/skills/rails-backend/SKILL.md +169 -0
  37. data/data/skills/rails-frontend/ASSETS.md +154 -0
  38. data/data/skills/rails-frontend/COMPONENTS.md +253 -0
  39. data/data/skills/rails-frontend/SKILL.md +187 -0
  40. data/data/skills/rails-frontend/VIEWS.md +168 -0
  41. data/data/skills/rails-performance/PROFILING.md +106 -0
  42. data/data/skills/rails-performance/SKILL.md +217 -0
  43. data/data/skills/rails-security/AUDIT.md +118 -0
  44. data/data/skills/rails-security/SKILL.md +422 -0
  45. data/data/skills/rails-testing/FIXTURES.md +78 -0
  46. data/data/skills/rails-testing/SKILL.md +160 -0
  47. data/data/skills/rails-testing/SYSTEM-TESTS.md +73 -0
  48. data/lib/ariadna/installer.rb +11 -15
  49. data/lib/ariadna/tools/cli.rb +0 -12
  50. data/lib/ariadna/tools/config_manager.rb +10 -72
  51. data/lib/ariadna/tools/frontmatter.rb +23 -1
  52. data/lib/ariadna/tools/init.rb +201 -401
  53. data/lib/ariadna/tools/model_profiles.rb +6 -14
  54. data/lib/ariadna/tools/phase_manager.rb +1 -10
  55. data/lib/ariadna/tools/state_manager.rb +170 -451
  56. data/lib/ariadna/tools/template_filler.rb +4 -12
  57. data/lib/ariadna/tools/verification.rb +21 -399
  58. data/lib/ariadna/uninstaller.rb +9 -0
  59. data/lib/ariadna/version.rb +1 -1
  60. metadata +20 -91
  61. data/data/agents/ariadna-backend-executor.md +0 -261
  62. data/data/agents/ariadna-frontend-executor.md +0 -259
  63. data/data/agents/ariadna-integration-checker.md +0 -418
  64. data/data/agents/ariadna-phase-researcher.md +0 -469
  65. data/data/agents/ariadna-plan-checker.md +0 -622
  66. data/data/agents/ariadna-project-researcher.md +0 -618
  67. data/data/agents/ariadna-research-synthesizer.md +0 -236
  68. data/data/agents/ariadna-test-executor.md +0 -266
  69. data/data/ariadna/references/checkpoints.md +0 -772
  70. data/data/ariadna/references/continuation-format.md +0 -249
  71. data/data/ariadna/references/decimal-phase-calculation.md +0 -65
  72. data/data/ariadna/references/git-integration.md +0 -248
  73. data/data/ariadna/references/git-planning-commit.md +0 -38
  74. data/data/ariadna/references/model-profile-resolution.md +0 -32
  75. data/data/ariadna/references/model-profiles.md +0 -73
  76. data/data/ariadna/references/phase-argument-parsing.md +0 -61
  77. data/data/ariadna/references/planning-config.md +0 -194
  78. data/data/ariadna/references/questioning.md +0 -153
  79. data/data/ariadna/references/rails-conventions.md +0 -416
  80. data/data/ariadna/references/tdd.md +0 -267
  81. data/data/ariadna/references/ui-brand.md +0 -160
  82. data/data/ariadna/references/verification-patterns.md +0 -853
  83. data/data/ariadna/templates/codebase/architecture.md +0 -481
  84. data/data/ariadna/templates/codebase/concerns.md +0 -380
  85. data/data/ariadna/templates/codebase/conventions.md +0 -434
  86. data/data/ariadna/templates/codebase/integrations.md +0 -328
  87. data/data/ariadna/templates/codebase/stack.md +0 -189
  88. data/data/ariadna/templates/codebase/structure.md +0 -418
  89. data/data/ariadna/templates/codebase/testing.md +0 -606
  90. data/data/ariadna/templates/context.md +0 -283
  91. data/data/ariadna/templates/continue-here.md +0 -78
  92. data/data/ariadna/templates/debug-subagent-prompt.md +0 -91
  93. data/data/ariadna/templates/phase-prompt.md +0 -609
  94. data/data/ariadna/templates/planner-subagent-prompt.md +0 -117
  95. data/data/ariadna/templates/research-project/ARCHITECTURE.md +0 -439
  96. data/data/ariadna/templates/research-project/FEATURES.md +0 -168
  97. data/data/ariadna/templates/research-project/PITFALLS.md +0 -406
  98. data/data/ariadna/templates/research-project/STACK.md +0 -251
  99. data/data/ariadna/templates/research-project/SUMMARY.md +0 -247
  100. data/data/ariadna/templates/state.md +0 -176
  101. data/data/ariadna/templates/summary-complex.md +0 -59
  102. data/data/ariadna/templates/summary-minimal.md +0 -41
  103. data/data/ariadna/templates/summary-standard.md +0 -48
  104. data/data/ariadna/templates/user-setup.md +0 -310
  105. data/data/ariadna/workflows/add-phase.md +0 -111
  106. data/data/ariadna/workflows/add-todo.md +0 -157
  107. data/data/ariadna/workflows/audit-milestone.md +0 -241
  108. data/data/ariadna/workflows/check-todos.md +0 -176
  109. data/data/ariadna/workflows/complete-milestone.md +0 -644
  110. data/data/ariadna/workflows/diagnose-issues.md +0 -219
  111. data/data/ariadna/workflows/discovery-phase.md +0 -289
  112. data/data/ariadna/workflows/discuss-phase.md +0 -408
  113. data/data/ariadna/workflows/execute-plan.md +0 -448
  114. data/data/ariadna/workflows/help.md +0 -470
  115. data/data/ariadna/workflows/insert-phase.md +0 -129
  116. data/data/ariadna/workflows/list-phase-assumptions.md +0 -178
  117. data/data/ariadna/workflows/pause-work.md +0 -122
  118. data/data/ariadna/workflows/plan-milestone-gaps.md +0 -256
  119. data/data/ariadna/workflows/remove-phase.md +0 -154
  120. data/data/ariadna/workflows/research-phase.md +0 -74
  121. data/data/ariadna/workflows/resume-project.md +0 -306
  122. data/data/ariadna/workflows/set-profile.md +0 -80
  123. data/data/ariadna/workflows/settings.md +0 -145
  124. data/data/ariadna/workflows/transition.md +0 -493
  125. data/data/ariadna/workflows/update.md +0 -212
  126. data/data/ariadna/workflows/verify-phase.md +0 -226
  127. data/data/commands/ariadna/add-todo.md +0 -42
  128. data/data/commands/ariadna/audit-milestone.md +0 -42
  129. data/data/commands/ariadna/check-todos.md +0 -41
  130. data/data/commands/ariadna/complete-milestone.md +0 -136
  131. data/data/commands/ariadna/discuss-phase.md +0 -86
  132. data/data/commands/ariadna/help.md +0 -22
  133. data/data/commands/ariadna/list-phase-assumptions.md +0 -50
  134. data/data/commands/ariadna/pause-work.md +0 -35
  135. data/data/commands/ariadna/plan-milestone-gaps.md +0 -40
  136. data/data/commands/ariadna/reapply-patches.md +0 -110
  137. data/data/commands/ariadna/research-phase.md +0 -187
  138. data/data/commands/ariadna/resume-work.md +0 -40
  139. data/data/commands/ariadna/set-profile.md +0 -34
  140. data/data/commands/ariadna/settings.md +0 -36
  141. data/data/commands/ariadna/update.md +0 -37
  142. data/data/guides/backend.md +0 -3069
  143. data/data/guides/frontend.md +0 -1479
  144. data/data/guides/performance.md +0 -1193
  145. data/data/guides/security.md +0 -1522
  146. data/data/guides/style-guide.md +0 -1091
  147. data/data/guides/testing.md +0 -504
  148. data/data/templates.md +0 -94
@@ -1,59 +0,0 @@
1
- ---
2
- phase: XX-name
3
- plan: YY
4
- subsystem: [primary category]
5
- tags: [searchable tech]
6
- requires:
7
- - phase: [prior phase]
8
- provides: [what that phase built]
9
- provides:
10
- - [bullet list of what was built/delivered]
11
- affects: [list of phase names or keywords]
12
- tech-stack:
13
- added: [libraries/tools]
14
- patterns: [architectural/code patterns]
15
- key-files:
16
- created: [important files created]
17
- modified: [important files modified]
18
- key-decisions:
19
- - "Decision 1"
20
- patterns-established:
21
- - "Pattern 1: description"
22
- duration: Xmin
23
- completed: YYYY-MM-DD
24
- ---
25
-
26
- # Phase [X]: [Name] Summary (Complex)
27
-
28
- **[Substantive one-liner describing outcome]**
29
-
30
- ## Performance
31
- - **Duration:** [time]
32
- - **Tasks:** [count completed]
33
- - **Files modified:** [count]
34
-
35
- ## Accomplishments
36
- - [Key outcome 1]
37
- - [Key outcome 2]
38
-
39
- ## Task Commits
40
- 1. **Task 1: [task name]** - `hash`
41
- 2. **Task 2: [task name]** - `hash`
42
- 3. **Task 3: [task name]** - `hash`
43
-
44
- ## Files Created/Modified
45
- - `path/to/file.rb` - What it does
46
- - `path/to/another.rb` - What it does
47
-
48
- ## Decisions Made
49
- [Key decisions with brief rationale]
50
-
51
- ## Deviations from Plan (Auto-fixed)
52
- [Detailed auto-fix records per Ariadna deviation rules]
53
-
54
- ## Issues Encountered
55
- [Problems during planned work and resolutions]
56
-
57
- ## Next Phase Readiness
58
- [What's ready for next phase]
59
- [Blockers or concerns]
@@ -1,41 +0,0 @@
1
- ---
2
- phase: XX-name
3
- plan: YY
4
- subsystem: [primary category]
5
- tags: [searchable tech]
6
- provides:
7
- - [bullet list of what was built/delivered]
8
- affects: [list of phase names or keywords]
9
- tech-stack:
10
- added: [libraries/tools]
11
- patterns: [architectural/code patterns]
12
- key-files:
13
- created: [important files created]
14
- modified: [important files modified]
15
- key-decisions: []
16
- duration: Xmin
17
- completed: YYYY-MM-DD
18
- ---
19
-
20
- # Phase [X]: [Name] Summary (Minimal)
21
-
22
- **[Substantive one-liner describing outcome]**
23
-
24
- ## Performance
25
- - **Duration:** [time]
26
- - **Tasks:** [count]
27
- - **Files modified:** [count]
28
-
29
- ## Accomplishments
30
- - [Most important outcome]
31
- - [Second key accomplishment]
32
-
33
- ## Task Commits
34
- 1. **Task 1: [task name]** - `hash`
35
- 2. **Task 2: [task name]** - `hash`
36
-
37
- ## Files Created/Modified
38
- - `path/to/file.rb` - What it does
39
-
40
- ## Next Phase Readiness
41
- [Ready for next phase]
@@ -1,48 +0,0 @@
1
- ---
2
- phase: XX-name
3
- plan: YY
4
- subsystem: [primary category]
5
- tags: [searchable tech]
6
- provides:
7
- - [bullet list of what was built/delivered]
8
- affects: [list of phase names or keywords]
9
- tech-stack:
10
- added: [libraries/tools]
11
- patterns: [architectural/code patterns]
12
- key-files:
13
- created: [important files created]
14
- modified: [important files modified]
15
- key-decisions:
16
- - "Decision 1"
17
- duration: Xmin
18
- completed: YYYY-MM-DD
19
- ---
20
-
21
- # Phase [X]: [Name] Summary
22
-
23
- **[Substantive one-liner describing outcome]**
24
-
25
- ## Performance
26
- - **Duration:** [time]
27
- - **Tasks:** [count completed]
28
- - **Files modified:** [count]
29
-
30
- ## Accomplishments
31
- - [Key outcome 1]
32
- - [Key outcome 2]
33
-
34
- ## Task Commits
35
- 1. **Task 1: [task name]** - `hash`
36
- 2. **Task 2: [task name]** - `hash`
37
- 3. **Task 3: [task name]** - `hash`
38
-
39
- ## Files Created/Modified
40
- - `path/to/file.rb` - What it does
41
- - `path/to/another.rb` - What it does
42
-
43
- ## Decisions & Deviations
44
- [Key decisions or "None - followed plan as specified"]
45
- [Minor deviations if any, or "None"]
46
-
47
- ## Next Phase Readiness
48
- [What's ready for next phase]
@@ -1,310 +0,0 @@
1
- # User Setup Template
2
-
3
- Template for `.ariadna_planning/phases/XX-name/{phase}-USER-SETUP.md` - human-required configuration that Claude cannot automate.
4
-
5
- **Purpose:** Document setup tasks that literally require human action - account creation, dashboard configuration, secret retrieval. Claude automates everything possible; this file captures only what remains.
6
-
7
- ---
8
-
9
- ## File Template
10
-
11
- ```markdown
12
- # Phase {X}: User Setup Required
13
-
14
- **Generated:** [YYYY-MM-DD]
15
- **Phase:** {phase-name}
16
- **Status:** Incomplete
17
-
18
- Complete these items for the integration to function. Claude automated everything possible; these items require human access to external dashboards/accounts.
19
-
20
- ## Environment Variables
21
-
22
- | Status | Variable | Source | Add to |
23
- |--------|----------|--------|--------|
24
- | [ ] | `ENV_VAR_NAME` | [Service Dashboard → Path → To → Value] | `.env.local` |
25
- | [ ] | `ANOTHER_VAR` | [Service Dashboard → Path → To → Value] | `.env.local` |
26
-
27
- ## Account Setup
28
-
29
- [Only if new account creation is required]
30
-
31
- - [ ] **Create [Service] account**
32
- - URL: [signup URL]
33
- - Skip if: Already have account
34
-
35
- ## Dashboard Configuration
36
-
37
- [Only if dashboard configuration is required]
38
-
39
- - [ ] **[Configuration task]**
40
- - Location: [Service Dashboard → Path → To → Setting]
41
- - Set to: [Required value or configuration]
42
- - Notes: [Any important details]
43
-
44
- ## Verification
45
-
46
- After completing setup, verify with:
47
-
48
- ```bash
49
- # [Verification commands]
50
- ```
51
-
52
- Expected results:
53
- - [What success looks like]
54
-
55
- ---
56
-
57
- **Once all items complete:** Mark status as "Complete" at top of file.
58
- ```
59
-
60
- ---
61
-
62
- ## When to Generate
63
-
64
- Generate `{phase}-USER-SETUP.md` when plan frontmatter contains `user_setup` field.
65
-
66
- **Trigger:** `user_setup` exists in PLAN.md frontmatter and has items.
67
-
68
- **Location:** Same directory as PLAN.md and SUMMARY.md.
69
-
70
- **Timing:** Generated during execute-plan.md after tasks complete, before SUMMARY.md creation.
71
-
72
- ---
73
-
74
- ## Frontmatter Schema
75
-
76
- In PLAN.md, `user_setup` declares human-required configuration:
77
-
78
- ```yaml
79
- user_setup:
80
- - service: stripe
81
- why: "Payment processing requires API keys"
82
- env_vars:
83
- - name: STRIPE_SECRET_KEY
84
- source: "Stripe Dashboard → Developers → API keys → Secret key"
85
- - name: STRIPE_WEBHOOK_SECRET
86
- source: "Stripe Dashboard → Developers → Webhooks → Signing secret"
87
- dashboard_config:
88
- - task: "Create webhook endpoint"
89
- location: "Stripe Dashboard → Developers → Webhooks → Add endpoint"
90
- details: "URL: https://[your-domain]/api/webhooks/stripe, Events: checkout.session.completed, customer.subscription.*"
91
- local_dev:
92
- - "Run: stripe listen --forward-to localhost:3000/api/webhooks/stripe"
93
- - "Use the webhook secret from CLI output for local testing"
94
- ```
95
-
96
- ---
97
-
98
- ## The Automation-First Rule
99
-
100
- **USER-SETUP.md contains ONLY what Claude literally cannot do.**
101
-
102
- | Claude CAN Do (not in USER-SETUP) | Claude CANNOT Do (→ USER-SETUP) |
103
- |-----------------------------------|--------------------------------|
104
- | `bundle add stripe` | Create Stripe account |
105
- | Write webhook handler code | Get API keys from dashboard |
106
- | Create `.env.local` file structure | Copy actual secret values |
107
- | Run `stripe listen` | Authenticate Stripe CLI (browser OAuth) |
108
- | Configure Gemfile / config files | Access external service dashboards |
109
- | Write any code | Retrieve secrets from third-party systems |
110
-
111
- **The test:** "Does this require a human in a browser, accessing an account Claude doesn't have credentials for?"
112
- - Yes → USER-SETUP.md
113
- - No → Claude does it automatically
114
-
115
- ---
116
-
117
- ## Service-Specific Examples
118
-
119
- <stripe_example>
120
- ```markdown
121
- # Phase 10: User Setup Required
122
-
123
- **Generated:** 2025-01-14
124
- **Phase:** 10-monetization
125
- **Status:** Incomplete
126
-
127
- Complete these items for Stripe integration to function.
128
-
129
- ## Environment Variables
130
-
131
- | Status | Variable | Source | Add to |
132
- |--------|----------|--------|--------|
133
- | [ ] | `STRIPE_SECRET_KEY` | Stripe Dashboard → Developers → API keys → Secret key | `.env.local` |
134
- | [ ] | `NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY` | Stripe Dashboard → Developers → API keys → Publishable key | `.env.local` |
135
- | [ ] | `STRIPE_WEBHOOK_SECRET` | Stripe Dashboard → Developers → Webhooks → [endpoint] → Signing secret | `.env.local` |
136
-
137
- ## Account Setup
138
-
139
- - [ ] **Create Stripe account** (if needed)
140
- - URL: https://dashboard.stripe.com/register
141
- - Skip if: Already have Stripe account
142
-
143
- ## Dashboard Configuration
144
-
145
- - [ ] **Create webhook endpoint**
146
- - Location: Stripe Dashboard → Developers → Webhooks → Add endpoint
147
- - Endpoint URL: `https://[your-domain]/api/webhooks/stripe`
148
- - Events to send:
149
- - `checkout.session.completed`
150
- - `customer.subscription.created`
151
- - `customer.subscription.updated`
152
- - `customer.subscription.deleted`
153
-
154
- - [ ] **Create products and prices** (if using subscription tiers)
155
- - Location: Stripe Dashboard → Products → Add product
156
- - Create each subscription tier
157
- - Copy Price IDs to:
158
- - `STRIPE_STARTER_PRICE_ID`
159
- - `STRIPE_PRO_PRICE_ID`
160
-
161
- ## Local Development
162
-
163
- For local webhook testing:
164
- ```bash
165
- stripe listen --forward-to localhost:3000/api/webhooks/stripe
166
- ```
167
- Use the webhook signing secret from CLI output (starts with `whsec_`).
168
-
169
- ## Verification
170
-
171
- After completing setup:
172
-
173
- ```bash
174
- # Check env vars are set
175
- grep STRIPE .env.local
176
-
177
- # Verify build passes
178
- bundle exec rake assets:precompile
179
-
180
- # Test webhook endpoint (should return 400 bad signature, not 500 crash)
181
- curl -X POST http://localhost:3000/api/webhooks/stripe \
182
- -H "Content-Type: application/json" \
183
- -d '{}'
184
- ```
185
-
186
- Expected: Build passes, webhook returns 400 (signature validation working).
187
-
188
- ---
189
-
190
- **Once all items complete:** Mark status as "Complete" at top of file.
191
- ```
192
- </stripe_example>
193
-
194
- <stripe_example>
195
- ```markdown
196
- # Phase 2: User Setup Required
197
-
198
- **Generated:** 2025-01-14
199
- **Phase:** 02-authentication
200
- **Status:** Incomplete
201
-
202
- Complete these items for Stripe Payments to function.
203
-
204
- ## Environment Variables
205
-
206
- | Status | Variable | Source | Add to |
207
- |--------|----------|--------|--------|
208
- | [ ] | `STRIPE_PUBLISHABLE_KEY` | Stripe Dashboard → Developers → API keys → Publishable key | `config/credentials.yml.enc` |
209
- | [ ] | `STRIPE_SECRET_KEY` | Stripe Dashboard → Developers → API keys → Secret key | `config/credentials.yml.enc` |
210
- | [ ] | `STRIPE_WEBHOOK_SECRET` | Stripe Dashboard → Developers → Webhooks → Signing secret | `config/credentials.yml.enc` |
211
-
212
- ## Account Setup
213
-
214
- - [ ] **Create Stripe account**
215
- - URL: https://dashboard.stripe.com/register
216
- - Skip if: Already have Stripe account for this app
217
-
218
- ## Dashboard Configuration
219
-
220
- - [ ] **Create webhook endpoint**
221
- - Location: Stripe Dashboard → Developers → Webhooks
222
- - Endpoint URL: `https://yourapp.com/webhooks/stripe`
223
- - Events: `checkout.session.completed`, `invoice.paid`, `customer.subscription.updated`
224
-
225
- - [ ] **Configure OAuth providers** (if using Stripe Connect)
226
- - Location: Stripe Dashboard → Settings → Connect
227
- - Add redirect URI for your app
228
-
229
- ## Verification
230
-
231
- After completing setup:
232
-
233
- ```bash
234
- # Check credentials are set
235
- bin/rails credentials:show | grep stripe
236
-
237
- # Verify connection (run in project directory)
238
- bin/rails runner "Stripe::Account.retrieve"
239
- ```
240
-
241
- ---
242
-
243
- **Once all items complete:** Mark status as "Complete" at top of file.
244
- ```
245
- </stripe_example>
246
-
247
- <sendgrid_example>
248
- ```markdown
249
- # Phase 5: User Setup Required
250
-
251
- **Generated:** 2025-01-14
252
- **Phase:** 05-notifications
253
- **Status:** Incomplete
254
-
255
- Complete these items for SendGrid email to function.
256
-
257
- ## Environment Variables
258
-
259
- | Status | Variable | Source | Add to |
260
- |--------|----------|--------|--------|
261
- | [ ] | `SENDGRID_API_KEY` | SendGrid Dashboard → Settings → API Keys → Create API Key | `.env.local` |
262
- | [ ] | `SENDGRID_FROM_EMAIL` | Your verified sender email address | `.env.local` |
263
-
264
- ## Account Setup
265
-
266
- - [ ] **Create SendGrid account**
267
- - URL: https://signup.sendgrid.com/
268
- - Skip if: Already have account
269
-
270
- ## Dashboard Configuration
271
-
272
- - [ ] **Verify sender identity**
273
- - Location: SendGrid Dashboard → Settings → Sender Authentication
274
- - Option 1: Single Sender Verification (quick, for dev)
275
- - Option 2: Domain Authentication (production)
276
-
277
- - [ ] **Create API Key**
278
- - Location: SendGrid Dashboard → Settings → API Keys → Create API Key
279
- - Permission: Restricted Access → Mail Send (Full Access)
280
- - Copy key immediately (shown only once)
281
-
282
- ## Verification
283
-
284
- After completing setup:
285
-
286
- ```bash
287
- # Check env var
288
- grep SENDGRID .env.local
289
-
290
- # Test email sending (replace with your test email)
291
- curl -X POST http://localhost:3000/api/test-email \
292
- -H "Content-Type: application/json" \
293
- -d '{"to": "your@email.com"}'
294
- ```
295
-
296
- ---
297
-
298
- **Once all items complete:** Mark status as "Complete" at top of file.
299
- ```
300
- </sendgrid_example>
301
-
302
- ---
303
-
304
- ## Guidelines
305
-
306
- **Never include:** Actual secret values. Steps Claude can automate (package installs, code changes).
307
-
308
- **Naming:** `{phase}-USER-SETUP.md` matches the phase number pattern.
309
- **Status tracking:** User marks checkboxes and updates status line when complete.
310
- **Searchability:** `grep -r "USER-SETUP" .ariadna_planning/` finds all phases with user requirements.
@@ -1,111 +0,0 @@
1
- <purpose>
2
- Add a new integer phase to the end of the current milestone in the roadmap. Automatically calculates next phase number, creates phase directory, and updates roadmap structure.
3
- </purpose>
4
-
5
- <required_reading>
6
- Read all files referenced by the invoking prompt's execution_context before starting.
7
- </required_reading>
8
-
9
- <process>
10
-
11
- <step name="parse_arguments">
12
- Parse the command arguments:
13
- - All arguments become the phase description
14
- - Example: `/ariadna:add-phase Add authentication` → description = "Add authentication"
15
- - Example: `/ariadna:add-phase Fix critical performance issues` → description = "Fix critical performance issues"
16
-
17
- If no arguments provided:
18
-
19
- ```
20
- ERROR: Phase description required
21
- Usage: /ariadna:add-phase <description>
22
- Example: /ariadna:add-phase Add authentication system
23
- ```
24
-
25
- Exit.
26
- </step>
27
-
28
- <step name="init_context">
29
- Load phase operation context:
30
-
31
- ```bash
32
- INIT=$(ariadna-tools init phase-op "0")
33
- ```
34
-
35
- Check `roadmap_exists` from init JSON. If false:
36
- ```
37
- ERROR: No roadmap found (.ariadna_planning/ROADMAP.md)
38
- Run /ariadna:new-project to initialize.
39
- ```
40
- Exit.
41
- </step>
42
-
43
- <step name="add_phase">
44
- **Delegate the phase addition to ariadna-tools:**
45
-
46
- ```bash
47
- RESULT=$(ariadna-tools phase add "${description}")
48
- ```
49
-
50
- The CLI handles:
51
- - Finding the highest existing integer phase number
52
- - Calculating next phase number (max + 1)
53
- - Generating slug from description
54
- - Creating the phase directory (`.ariadna_planning/phases/{NN}-{slug}/`)
55
- - Inserting the phase entry into ROADMAP.md with Goal, Depends on, and Plans sections
56
-
57
- Extract from result: `phase_number`, `padded`, `name`, `slug`, `directory`.
58
- </step>
59
-
60
- <step name="update_project_state">
61
- Update STATE.md to reflect the new phase:
62
-
63
- 1. Read `.ariadna_planning/STATE.md`
64
- 2. Under "## Accumulated Context" → "### Roadmap Evolution" add entry:
65
- ```
66
- - Phase {N} added: {description}
67
- ```
68
-
69
- If "Roadmap Evolution" section doesn't exist, create it.
70
- </step>
71
-
72
- <step name="completion">
73
- Present completion summary:
74
-
75
- ```
76
- Phase {N} added to current milestone:
77
- - Description: {description}
78
- - Directory: .ariadna_planning/phases/{phase-num}-{slug}/
79
- - Status: Not planned yet
80
-
81
- Roadmap updated: .ariadna_planning/ROADMAP.md
82
-
83
- ---
84
-
85
- ## ▶ Next Up
86
-
87
- **Phase {N}: {description}**
88
-
89
- `/ariadna:plan-phase {N}`
90
-
91
- <sub>`/clear` first → fresh context window</sub>
92
-
93
- ---
94
-
95
- **Also available:**
96
- - `/ariadna:add-phase <description>` — add another phase
97
- - Review roadmap
98
-
99
- ---
100
- ```
101
- </step>
102
-
103
- </process>
104
-
105
- <success_criteria>
106
- - [ ] `ariadna-tools phase add` executed successfully
107
- - [ ] Phase directory created
108
- - [ ] Roadmap updated with new phase entry
109
- - [ ] STATE.md updated with roadmap evolution note
110
- - [ ] User informed of next steps
111
- </success_criteria>