@donotdev/cli 0.0.20 → 0.0.21

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 (103) hide show
  1. package/README.md +31 -0
  2. package/dependencies-matrix.json +86 -19
  3. package/dist/bin/commands/agent-setup.js +2 -2
  4. package/dist/bin/commands/build.js +6 -6
  5. package/dist/bin/commands/bump.js +491 -69
  6. package/dist/bin/commands/cacheout.js +6 -6
  7. package/dist/bin/commands/coach.js +6 -6
  8. package/dist/bin/commands/create-app.js +23 -15
  9. package/dist/bin/commands/create-project.js +101 -16
  10. package/dist/bin/commands/db.js +142136 -0
  11. package/dist/bin/commands/deploy.js +336 -126
  12. package/dist/bin/commands/dev.js +6 -6
  13. package/dist/bin/commands/doctor.js +140 -33
  14. package/dist/bin/commands/emu.js +6 -6
  15. package/dist/bin/commands/format.js +6 -6
  16. package/dist/bin/commands/get-demo.js +11 -6
  17. package/dist/bin/commands/make-admin.js +14210 -13770
  18. package/dist/bin/commands/preview.js +6 -6
  19. package/dist/bin/commands/seed.js +142426 -0
  20. package/dist/bin/commands/setup-cicd.js +8904 -0
  21. package/dist/bin/commands/setup.js +256 -212
  22. package/dist/bin/commands/staging.js +343 -127
  23. package/dist/bin/commands/sync-secrets.js +55 -33
  24. package/dist/bin/commands/type-check.js +6 -6
  25. package/dist/bin/commands/wai.js +6 -6
  26. package/dist/bin/dndev.js +76 -11
  27. package/dist/bin/donotdev.js +21 -12
  28. package/dist/index.js +437 -142
  29. package/package.json +1 -1
  30. package/templates/app-demo/.env.example +1 -0
  31. package/templates/{root-consumer → app-demo}/entities/ExampleEntity.ts.example +15 -9
  32. package/templates/app-demo/index.html.example +1 -1
  33. package/templates/app-dndev/index.html.example +164 -0
  34. package/templates/app-dndev/public/logo.svg.example +1 -0
  35. package/templates/app-dndev/public/manifest.json.example +10 -0
  36. package/templates/app-dndev/src/App.tsx.example +35 -0
  37. package/templates/app-dndev/src/components/CockpitLayout.css.example +181 -0
  38. package/templates/app-dndev/src/components/CockpitLayout.tsx.example +209 -0
  39. package/templates/app-dndev/src/components/Kanban.css.example +385 -0
  40. package/templates/app-dndev/src/components/ModeToggle.tsx.example +32 -0
  41. package/templates/app-dndev/src/components/OverlaySlot.tsx.example +68 -0
  42. package/templates/app-dndev/src/components/TerminalPanel.css.example +228 -0
  43. package/templates/app-dndev/src/components/TerminalPanel.tsx.example +714 -0
  44. package/templates/app-dndev/src/components/markdown-prose.css.example +49 -0
  45. package/templates/app-dndev/src/components/phases/CaptainLog.tsx.example +107 -0
  46. package/templates/app-dndev/src/components/phases/ContextTabs.tsx.example +352 -0
  47. package/templates/app-dndev/src/components/phases/PhaseCard.tsx.example +126 -0
  48. package/templates/app-dndev/src/components/phases/PhaseDetail.tsx.example +147 -0
  49. package/templates/app-dndev/src/components/phases/ReviewPanel.tsx.example +115 -0
  50. package/templates/app-dndev/src/components/phases/phaseData.ts.example +366 -0
  51. package/templates/app-dndev/src/config/app.ts.example +103 -0
  52. package/templates/app-dndev/src/config/commands.ts.example +171 -0
  53. package/templates/app-dndev/src/config/legal.ts.example +170 -0
  54. package/templates/app-dndev/src/config/providers.ts.example +7 -0
  55. package/templates/app-dndev/src/globals.css.example +10 -0
  56. package/templates/app-dndev/src/hooks/useDndevFile.ts.example +144 -0
  57. package/templates/app-dndev/src/main.tsx.example +21 -0
  58. package/templates/app-dndev/src/pages/BoardPage.tsx.example +640 -0
  59. package/templates/app-dndev/src/pages/GrillPage.tsx.example +658 -0
  60. package/templates/app-dndev/src/pages/HomePage.tsx.example +347 -0
  61. package/templates/app-dndev/src/pages/NotFoundPage.tsx.example +33 -0
  62. package/templates/app-dndev/src/pages/PhasesPage.tsx.example +137 -0
  63. package/templates/app-dndev/src/pages/SettingsPage.tsx.example +64 -0
  64. package/templates/app-dndev/src/pages/legal/LegalNoticePage.tsx.example +75 -0
  65. package/templates/app-dndev/src/pages/legal/PrivacyPage.tsx.example +69 -0
  66. package/templates/app-dndev/src/pages/legal/TermsPage.tsx.example +71 -0
  67. package/templates/app-dndev/src/stores/dndevStore.ts.example +386 -0
  68. package/templates/app-dndev/src/themes.css.example +161 -0
  69. package/templates/app-dndev/terminal-sidecar.cjs.example +341 -0
  70. package/templates/app-dndev/tsconfig.json.example +9 -0
  71. package/templates/app-dndev/vite.config.ts.example +24 -0
  72. package/templates/app-next/src/locales/home_en.json.example +6 -6
  73. package/templates/app-vite/index.html.example +1 -1
  74. package/templates/app-vite/src/locales/home_en.json.example +6 -6
  75. package/templates/functions-supabase/supabase/functions/.env.example +0 -2
  76. package/templates/root-consumer/.claude/commands/grill.md.example +86 -8
  77. package/templates/root-consumer/.dndev.secrets.example +32 -0
  78. package/templates/root-consumer/.gitignore.example +3 -0
  79. package/templates/root-consumer/AI.md.example +4 -0
  80. package/templates/root-consumer/entities/index.ts.example +2 -5
  81. package/templates/root-consumer/guides/dndev/COMPONENTS_ATOMIC.md.example +4 -0
  82. package/templates/root-consumer/guides/dndev/ENV_SETUP.md.example +23 -20
  83. package/templates/root-consumer/guides/dndev/INDEX.md.example +1 -0
  84. package/templates/root-consumer/guides/dndev/SETUP_BILLING.md.example +3 -7
  85. package/templates/root-consumer/guides/dndev/SETUP_CICD.md.example +115 -0
  86. package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +41 -0
  87. package/templates/root-consumer/guides/dndev/SETUP_SUPABASE.md.example +13 -18
  88. package/templates/root-consumer/guides/dndev/SETUP_VERCEL.md.example +17 -12
  89. package/templates/root-consumer/guides/dndev/advanced/COOKIE_REFERENCE.md.example +252 -252
  90. package/templates/root-consumer/guides/dndev/advanced/VERSION_CONTROL.md.example +174 -174
  91. package/templates/root-consumer/guides/wai-way/WAI_WAY_CLI.md.example +185 -251
  92. package/templates/root-consumer/guides/wai-way/agents/extractor.md.example +26 -8
  93. package/templates/root-consumer/guides/wai-way/blueprints/0_brainstorm.md.example +66 -49
  94. package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +6 -5
  95. package/templates/root-consumer/guides/wai-way/blueprints/2_entities.md.example +9 -9
  96. package/templates/root-consumer/guides/wai-way/blueprints/3_compose.md.example +1 -1
  97. package/templates/root-consumer/guides/wai-way/blueprints/4_configure.md.example +7 -6
  98. package/templates/root-consumer/guides/wai-way/context_map.json.example +51 -20
  99. package/templates/root-consumer/guides/wai-way/hld_template.md.example +138 -0
  100. package/templates/root-consumer/guides/wai-way/lld_template.md.example +103 -0
  101. package/templates/root-consumer/guides/wai-way/prd_template.md.example +140 -0
  102. /package/templates/{root-consumer → app-demo}/entities/Contact.ts.example +0 -0
  103. /package/templates/{root-consumer → app-demo}/entities/demo.ts.example +0 -0
@@ -0,0 +1,138 @@
1
+ # High-Level Design (HLD)
2
+
3
+ > **Version:** V1
4
+ > **Status:** Draft | Validated
5
+ > **Last Updated:** [date]
6
+ >
7
+ > This document is the HOW (big picture) — architecture, preset, auth, pages, features.
8
+ > Produced by Phase 0 (BRAINSTORM) from `spec_template.md` conversation.
9
+
10
+ ---
11
+
12
+ ## 1. Preset Selection
13
+
14
+ **Selected:** `_______________`
15
+
16
+ | Preset | When to Use |
17
+ |--------|-------------|
18
+ | `landing` | Marketing site, public pages, conversion focus |
19
+ | `admin` | Dashboard with sidebar, CRUD-heavy, internal tools |
20
+ | `moolti` | Multi-tenant SaaS, teams/workspaces, billing |
21
+ | `docs` | Documentation, auto-sidebar from pages |
22
+ | `blog` | Content-focused, articles, archive |
23
+ | `game` | Mobile-first, fullscreen, minimal chrome |
24
+ | `plain` | Custom everything, no framework layout |
25
+
26
+ **Rationale:** [Why this preset fits]
27
+
28
+ ---
29
+
30
+ ## 2. Auth Model
31
+
32
+ | Question | Answer |
33
+ |----------|--------|
34
+ | **Auth required?** | Yes / No |
35
+ | **Providers** | [ ] Email [ ] Google [ ] GitHub [ ] Apple |
36
+ | **Self-registration?** | Yes / No / Invite-only |
37
+
38
+ ### Roles
39
+
40
+ | Role | Description | Can Do |
41
+ |------|-------------|--------|
42
+ | `guest` | Not logged in | |
43
+ | `user` | Logged in | |
44
+ | `admin` | Administrator | |
45
+
46
+ ---
47
+
48
+ ## 3. Billing Model (if applicable)
49
+
50
+ | Question | Answer |
51
+ |----------|--------|
52
+ | **Billing enabled?** | Yes / No |
53
+ | **Model** | Subscription / One-time / Usage-based |
54
+ | **Provider** | Stripe / Other |
55
+
56
+ ### Plans
57
+
58
+ | Plan | Price | Features |
59
+ |------|-------|----------|
60
+ | | | |
61
+
62
+ ---
63
+
64
+ ## 4. Aesthetic Essence
65
+
66
+ **Selected:** SaaS (Default) / Luxury / Brutalist / Custom
67
+
68
+ **Application:** [How it affects colors, typography, spacing]
69
+
70
+ ---
71
+
72
+ ## 5. Page Map
73
+
74
+ > Every page traces back to a user journey in PRD.md.
75
+
76
+ ### Public Pages
77
+
78
+ | Route | Page | Purpose | From Journey |
79
+ |-------|------|---------|--------------|
80
+ | `/` | HomePage | | |
81
+
82
+ ### Protected Pages (login required)
83
+
84
+ | Route | Page | Purpose | From Journey |
85
+ |-------|------|---------|--------------|
86
+ | `/dashboard` | DashboardPage | | |
87
+
88
+ ### Admin Pages
89
+
90
+ | Route | Page | Purpose | From Journey |
91
+ |-------|------|---------|--------------|
92
+ | `/admin` | AdminDashboard | | |
93
+
94
+ ---
95
+
96
+ ## 6. Entity Relationship Diagram
97
+
98
+ > Text-based overview. Detailed per-entity specs are in LLD.md.
99
+
100
+ ```
101
+ [Entity A] 1──N [Entity B]
102
+ [Entity B] N──1 [Entity C]
103
+ [Entity A] 1──1 [Entity D]
104
+ ```
105
+
106
+ ---
107
+
108
+ ## 7. Feature Flags
109
+
110
+ | Feature | Needed | Details |
111
+ |---------|--------|---------|
112
+ | **i18n** | Yes/No | Languages: |
113
+ | **PWA** | Yes/No | |
114
+ | **Real-time** | Yes/No | Which entities: |
115
+ | **File uploads** | Yes/No | Which entities: |
116
+ | **Email notifications** | Yes/No | Triggers: |
117
+ | **Search** | Yes/No | Which entities: |
118
+ | **Export (CSV/PDF)** | Yes/No | Which entities: |
119
+
120
+ ---
121
+
122
+ ## 8. Architecture Decisions
123
+
124
+ | Decision | Choice | Rationale | Alternatives Considered |
125
+ |----------|--------|-----------|------------------------|
126
+ | | | | |
127
+
128
+ ---
129
+
130
+ ## Validation Checklist
131
+
132
+ - [ ] Preset selected with rationale
133
+ - [ ] Auth model complete (providers, roles, registration)
134
+ - [ ] Every page traces back to a PRD journey
135
+ - [ ] Entity relationships mapped
136
+ - [ ] Feature flags decided (no "TBD")
137
+ - [ ] Architecture decisions documented
138
+ - [ ] User has reviewed and confirmed this document
@@ -0,0 +1,103 @@
1
+ # Low-Level Design (LLD)
2
+
3
+ > **Version:** V1
4
+ > **Status:** Draft | Validated
5
+ > **Last Updated:** [date]
6
+ >
7
+ > This document is the HOW (detailed) — per-entity field specs, state machines, validation rules, access matrices.
8
+ > Produced by Phase 0 (BRAINSTORM) from `spec_template.md` conversation.
9
+ > This is the Builder's blueprint — Phase 2 (ENTITIES) consumes this directly.
10
+
11
+ ---
12
+
13
+ ## Entity: [Name]
14
+
15
+ ### Fields
16
+
17
+ | Field | Type | Required | Validation | Visibility |
18
+ |-------|------|----------|------------|------------|
19
+ | id | string | yes | auto-generated | guest |
20
+ | | | | | |
21
+ | createdAt | timestamp | yes | auto | admin |
22
+ | updatedAt | timestamp | yes | auto | admin |
23
+
24
+ ### State Machine
25
+
26
+ **States:** `[state1]` → `[state2]` → `[state3]`
27
+
28
+ | From | To | Trigger | Who Can | Side Effects |
29
+ |------|----|---------|---------|-------------|
30
+ | state1 | state2 | [action] | [role] | [what happens] |
31
+ | state2 | state3 | [action] | [role] | [what happens] |
32
+ | state2 | cancelled | [action] | [role] | [what happens] |
33
+
34
+ ### Relationships
35
+
36
+ | Type | Target Entity | Via Field | Cascade Rule |
37
+ |------|---------------|-----------|-------------|
38
+ | belongs-to | [Entity] | [fieldName] | [on delete: cascade/nullify/restrict] |
39
+ | has-many | [Entity] | [foreignKey] | [on delete: cascade/orphan] |
40
+
41
+ ### Access Matrix
42
+
43
+ | Action | guest | user | owner | admin | Conditions |
44
+ |--------|-------|------|-------|-------|------------|
45
+ | Create | | | | | |
46
+ | Read | | | | | |
47
+ | Update | | | | | |
48
+ | Delete | | | | | |
49
+
50
+ ---
51
+
52
+ ## Entity: [Name]
53
+
54
+ ### Fields
55
+
56
+ | Field | Type | Required | Validation | Visibility |
57
+ |-------|------|----------|------------|------------|
58
+ | | | | | |
59
+
60
+ ### State Machine
61
+
62
+ _(if applicable)_
63
+
64
+ ### Relationships
65
+
66
+ | Type | Target Entity | Via Field | Cascade Rule |
67
+ |------|---------------|-----------|-------------|
68
+ | | | | |
69
+
70
+ ### Access Matrix
71
+
72
+ | Action | guest | user | owner | admin | Conditions |
73
+ |--------|-------|------|-------|-------|------------|
74
+ | Create | | | | | |
75
+ | Read | | | | | |
76
+ | Update | | | | | |
77
+ | Delete | | | | | |
78
+
79
+ ---
80
+
81
+ _(Copy entity block for each entity)_
82
+
83
+ ---
84
+
85
+ ## Cross-Entity Validation Rules
86
+
87
+ > Rules that span multiple entities.
88
+
89
+ | Rule | Entities Involved | Logic |
90
+ |------|-------------------|-------|
91
+ | | | |
92
+
93
+ ---
94
+
95
+ ## Validation Checklist
96
+
97
+ - [ ] Every entity has complete field definitions (type, required, validation)
98
+ - [ ] Every entity with states has a full state machine (from/to/trigger/who/side-effects)
99
+ - [ ] Every entity has relationships defined with cascade rules
100
+ - [ ] Every entity has CRUD access matrix for every role
101
+ - [ ] Cross-entity validation rules documented
102
+ - [ ] No "TBD", "TODO", or empty fields
103
+ - [ ] User has reviewed and confirmed this document
@@ -0,0 +1,140 @@
1
+ # Product Requirements Document (PRD)
2
+
3
+ > **Version:** V1
4
+ > **Status:** Draft | Validated
5
+ > **Last Updated:** [date]
6
+ >
7
+ > This document is the WHAT — what users need, what the product does, what rules govern behavior.
8
+ > Produced by Phase 0 (BRAINSTORM) from `spec_template.md` conversation.
9
+
10
+ ---
11
+
12
+ ## 1. Identity
13
+
14
+ | Field | Value |
15
+ |-------|-------|
16
+ | **App Name** | |
17
+ | **One-Line Description** | |
18
+ | **Primary User** | _(Who uses this daily?)_ |
19
+ | **Secondary Users** | _(Who else interacts?)_ |
20
+ | **Core Value** | _(What problem does it solve?)_ |
21
+ | **North Star Action** | _(The ONE thing users MUST do — max 2 clicks from home)_ |
22
+
23
+ ---
24
+
25
+ ## 2. User Journeys
26
+
27
+ > Most important section. Every page, entity, and rule traces back to a journey.
28
+
29
+ ### Journey 1: [Name — e.g., "New User Onboarding"]
30
+
31
+ **Actor:** [User type]
32
+ **Goal:** [What they're trying to accomplish]
33
+ **Trigger:** [What starts this journey]
34
+
35
+ **Steps:**
36
+ 1.
37
+ 2.
38
+ 3.
39
+ 4.
40
+ 5.
41
+
42
+ **Success:** [What indicates completion]
43
+ **Failure:** [What could go wrong, how to handle]
44
+
45
+ ---
46
+
47
+ ### Journey 2: [Name — e.g., "Daily Core Task"]
48
+
49
+ **Actor:** [User type]
50
+ **Goal:** [What they're trying to accomplish]
51
+ **Trigger:** [What starts this journey]
52
+
53
+ **Steps:**
54
+ 1.
55
+ 2.
56
+ 3.
57
+ 4.
58
+ 5.
59
+
60
+ **Success:** [What indicates completion]
61
+ **Failure:** [What could go wrong, how to handle]
62
+
63
+ ---
64
+
65
+ _(Add more journeys as needed — every core flow gets its own journey)_
66
+
67
+ ---
68
+
69
+ ## 3. Business Rules
70
+
71
+ > Explicit rules that govern behavior. If it's not here, it doesn't exist.
72
+
73
+ ### [Entity/Feature] Rules
74
+
75
+ 1. **[Rule name]:** [Description]
76
+ 2. **[Rule name]:** [Description]
77
+
78
+ ### Validation Rules
79
+
80
+ | Entity | Field | Rule |
81
+ |--------|-------|------|
82
+ | | | |
83
+
84
+ ### Automatic Calculations
85
+
86
+ | When | Calculate | Formula/Logic |
87
+ |------|-----------|---------------|
88
+ | | | |
89
+
90
+ ### Notifications/Triggers
91
+
92
+ | Event | Action | Recipients |
93
+ |-------|--------|------------|
94
+ | | | |
95
+
96
+ ---
97
+
98
+ ## 4. Permissions Matrix
99
+
100
+ > Who can CRUD what, under what conditions.
101
+
102
+ | Entity | Create | Read | Update | Delete |
103
+ |--------|--------|------|--------|--------|
104
+ | | | | | |
105
+
106
+ _Conditions (e.g., "owner only when status = draft") documented per cell._
107
+
108
+ ---
109
+
110
+ ## 5. Edge Cases & Error Handling
111
+
112
+ | Scenario | Handling |
113
+ |----------|----------|
114
+ | User submits invalid data | |
115
+ | Network connection lost | |
116
+ | Concurrent edit conflict | |
117
+ | External service down | |
118
+ | User tries unauthorized action | |
119
+
120
+ ---
121
+
122
+ ## 6. Design Decisions & Overrides
123
+
124
+ > Intentional deviations from framework UX heuristics (3-click rule, 70/30 hierarchy).
125
+ > **FOR AGENTS:** If documented here, do NOT challenge during Build or Polish phases.
126
+
127
+ | Target (Page/Feature) | Override Description | Rationale |
128
+ |-----------------------|----------------------|-----------|
129
+ | | | |
130
+
131
+ ---
132
+
133
+ ## Validation Checklist
134
+
135
+ - [ ] Every user journey has 5+ numbered steps
136
+ - [ ] Every business rule is explicit (not implied)
137
+ - [ ] Every entity has CRUD permissions for every role
138
+ - [ ] Can answer "what happens when Z fails?" for common scenarios
139
+ - [ ] No "TBD", "TODO", or empty fields
140
+ - [ ] User has reviewed and confirmed this document