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.
- checksums.yaml +4 -4
- data/ariadna.gemspec +0 -1
- data/data/agents/ariadna-codebase-mapper.md +34 -722
- data/data/agents/ariadna-debugger.md +44 -1139
- data/data/agents/ariadna-executor.md +75 -396
- data/data/agents/ariadna-planner.md +78 -1215
- data/data/agents/ariadna-roadmapper.md +55 -582
- data/data/agents/ariadna-verifier.md +60 -702
- data/data/ariadna/templates/config.json +8 -33
- data/data/ariadna/workflows/debug.md +28 -0
- data/data/ariadna/workflows/execute-phase.md +31 -513
- data/data/ariadna/workflows/map-codebase.md +20 -319
- data/data/ariadna/workflows/new-milestone.md +20 -365
- data/data/ariadna/workflows/new-project.md +19 -880
- data/data/ariadna/workflows/plan-phase.md +24 -443
- data/data/ariadna/workflows/progress.md +20 -376
- data/data/ariadna/workflows/quick.md +19 -221
- data/data/ariadna/workflows/roadmap-ops.md +28 -0
- data/data/ariadna/workflows/verify-work.md +23 -560
- data/data/commands/ariadna/add-phase.md +11 -22
- data/data/commands/ariadna/debug.md +11 -143
- data/data/commands/ariadna/execute-phase.md +12 -30
- data/data/commands/ariadna/insert-phase.md +7 -14
- data/data/commands/ariadna/map-codebase.md +16 -49
- data/data/commands/ariadna/new-milestone.md +12 -25
- data/data/commands/ariadna/new-project.md +22 -26
- data/data/commands/ariadna/plan-phase.md +13 -22
- data/data/commands/ariadna/progress.md +16 -6
- data/data/commands/ariadna/quick.md +9 -11
- data/data/commands/ariadna/remove-phase.md +9 -12
- data/data/commands/ariadna/verify-work.md +14 -19
- data/data/skills/rails-backend/API.md +138 -0
- data/data/skills/rails-backend/CONTROLLERS.md +154 -0
- data/data/skills/rails-backend/JOBS.md +132 -0
- data/data/skills/rails-backend/MODELS.md +213 -0
- data/data/skills/rails-backend/SKILL.md +169 -0
- data/data/skills/rails-frontend/ASSETS.md +154 -0
- data/data/skills/rails-frontend/COMPONENTS.md +253 -0
- data/data/skills/rails-frontend/SKILL.md +187 -0
- data/data/skills/rails-frontend/VIEWS.md +168 -0
- data/data/skills/rails-performance/PROFILING.md +106 -0
- data/data/skills/rails-performance/SKILL.md +217 -0
- data/data/skills/rails-security/AUDIT.md +118 -0
- data/data/skills/rails-security/SKILL.md +422 -0
- data/data/skills/rails-testing/FIXTURES.md +78 -0
- data/data/skills/rails-testing/SKILL.md +160 -0
- data/data/skills/rails-testing/SYSTEM-TESTS.md +73 -0
- data/lib/ariadna/installer.rb +11 -15
- data/lib/ariadna/tools/cli.rb +0 -12
- data/lib/ariadna/tools/config_manager.rb +10 -72
- data/lib/ariadna/tools/frontmatter.rb +23 -1
- data/lib/ariadna/tools/init.rb +201 -401
- data/lib/ariadna/tools/model_profiles.rb +6 -14
- data/lib/ariadna/tools/phase_manager.rb +1 -10
- data/lib/ariadna/tools/state_manager.rb +170 -451
- data/lib/ariadna/tools/template_filler.rb +4 -12
- data/lib/ariadna/tools/verification.rb +21 -399
- data/lib/ariadna/uninstaller.rb +9 -0
- data/lib/ariadna/version.rb +1 -1
- metadata +20 -91
- data/data/agents/ariadna-backend-executor.md +0 -261
- data/data/agents/ariadna-frontend-executor.md +0 -259
- data/data/agents/ariadna-integration-checker.md +0 -418
- data/data/agents/ariadna-phase-researcher.md +0 -469
- data/data/agents/ariadna-plan-checker.md +0 -622
- data/data/agents/ariadna-project-researcher.md +0 -618
- data/data/agents/ariadna-research-synthesizer.md +0 -236
- data/data/agents/ariadna-test-executor.md +0 -266
- data/data/ariadna/references/checkpoints.md +0 -772
- data/data/ariadna/references/continuation-format.md +0 -249
- data/data/ariadna/references/decimal-phase-calculation.md +0 -65
- data/data/ariadna/references/git-integration.md +0 -248
- data/data/ariadna/references/git-planning-commit.md +0 -38
- data/data/ariadna/references/model-profile-resolution.md +0 -32
- data/data/ariadna/references/model-profiles.md +0 -73
- data/data/ariadna/references/phase-argument-parsing.md +0 -61
- data/data/ariadna/references/planning-config.md +0 -194
- data/data/ariadna/references/questioning.md +0 -153
- data/data/ariadna/references/rails-conventions.md +0 -416
- data/data/ariadna/references/tdd.md +0 -267
- data/data/ariadna/references/ui-brand.md +0 -160
- data/data/ariadna/references/verification-patterns.md +0 -853
- data/data/ariadna/templates/codebase/architecture.md +0 -481
- data/data/ariadna/templates/codebase/concerns.md +0 -380
- data/data/ariadna/templates/codebase/conventions.md +0 -434
- data/data/ariadna/templates/codebase/integrations.md +0 -328
- data/data/ariadna/templates/codebase/stack.md +0 -189
- data/data/ariadna/templates/codebase/structure.md +0 -418
- data/data/ariadna/templates/codebase/testing.md +0 -606
- data/data/ariadna/templates/context.md +0 -283
- data/data/ariadna/templates/continue-here.md +0 -78
- data/data/ariadna/templates/debug-subagent-prompt.md +0 -91
- data/data/ariadna/templates/phase-prompt.md +0 -609
- data/data/ariadna/templates/planner-subagent-prompt.md +0 -117
- data/data/ariadna/templates/research-project/ARCHITECTURE.md +0 -439
- data/data/ariadna/templates/research-project/FEATURES.md +0 -168
- data/data/ariadna/templates/research-project/PITFALLS.md +0 -406
- data/data/ariadna/templates/research-project/STACK.md +0 -251
- data/data/ariadna/templates/research-project/SUMMARY.md +0 -247
- data/data/ariadna/templates/state.md +0 -176
- data/data/ariadna/templates/summary-complex.md +0 -59
- data/data/ariadna/templates/summary-minimal.md +0 -41
- data/data/ariadna/templates/summary-standard.md +0 -48
- data/data/ariadna/templates/user-setup.md +0 -310
- data/data/ariadna/workflows/add-phase.md +0 -111
- data/data/ariadna/workflows/add-todo.md +0 -157
- data/data/ariadna/workflows/audit-milestone.md +0 -241
- data/data/ariadna/workflows/check-todos.md +0 -176
- data/data/ariadna/workflows/complete-milestone.md +0 -644
- data/data/ariadna/workflows/diagnose-issues.md +0 -219
- data/data/ariadna/workflows/discovery-phase.md +0 -289
- data/data/ariadna/workflows/discuss-phase.md +0 -408
- data/data/ariadna/workflows/execute-plan.md +0 -448
- data/data/ariadna/workflows/help.md +0 -470
- data/data/ariadna/workflows/insert-phase.md +0 -129
- data/data/ariadna/workflows/list-phase-assumptions.md +0 -178
- data/data/ariadna/workflows/pause-work.md +0 -122
- data/data/ariadna/workflows/plan-milestone-gaps.md +0 -256
- data/data/ariadna/workflows/remove-phase.md +0 -154
- data/data/ariadna/workflows/research-phase.md +0 -74
- data/data/ariadna/workflows/resume-project.md +0 -306
- data/data/ariadna/workflows/set-profile.md +0 -80
- data/data/ariadna/workflows/settings.md +0 -145
- data/data/ariadna/workflows/transition.md +0 -493
- data/data/ariadna/workflows/update.md +0 -212
- data/data/ariadna/workflows/verify-phase.md +0 -226
- data/data/commands/ariadna/add-todo.md +0 -42
- data/data/commands/ariadna/audit-milestone.md +0 -42
- data/data/commands/ariadna/check-todos.md +0 -41
- data/data/commands/ariadna/complete-milestone.md +0 -136
- data/data/commands/ariadna/discuss-phase.md +0 -86
- data/data/commands/ariadna/help.md +0 -22
- data/data/commands/ariadna/list-phase-assumptions.md +0 -50
- data/data/commands/ariadna/pause-work.md +0 -35
- data/data/commands/ariadna/plan-milestone-gaps.md +0 -40
- data/data/commands/ariadna/reapply-patches.md +0 -110
- data/data/commands/ariadna/research-phase.md +0 -187
- data/data/commands/ariadna/resume-work.md +0 -40
- data/data/commands/ariadna/set-profile.md +0 -34
- data/data/commands/ariadna/settings.md +0 -36
- data/data/commands/ariadna/update.md +0 -37
- data/data/guides/backend.md +0 -3069
- data/data/guides/frontend.md +0 -1479
- data/data/guides/performance.md +0 -1193
- data/data/guides/security.md +0 -1522
- data/data/guides/style-guide.md +0 -1091
- data/data/guides/testing.md +0 -504
- 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>
|