@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.
- package/README.md +31 -0
- package/dependencies-matrix.json +86 -19
- package/dist/bin/commands/agent-setup.js +2 -2
- package/dist/bin/commands/build.js +6 -6
- package/dist/bin/commands/bump.js +491 -69
- package/dist/bin/commands/cacheout.js +6 -6
- package/dist/bin/commands/coach.js +6 -6
- package/dist/bin/commands/create-app.js +23 -15
- package/dist/bin/commands/create-project.js +101 -16
- package/dist/bin/commands/db.js +142136 -0
- package/dist/bin/commands/deploy.js +336 -126
- package/dist/bin/commands/dev.js +6 -6
- package/dist/bin/commands/doctor.js +140 -33
- package/dist/bin/commands/emu.js +6 -6
- package/dist/bin/commands/format.js +6 -6
- package/dist/bin/commands/get-demo.js +11 -6
- package/dist/bin/commands/make-admin.js +14210 -13770
- package/dist/bin/commands/preview.js +6 -6
- package/dist/bin/commands/seed.js +142426 -0
- package/dist/bin/commands/setup-cicd.js +8904 -0
- package/dist/bin/commands/setup.js +256 -212
- package/dist/bin/commands/staging.js +343 -127
- package/dist/bin/commands/sync-secrets.js +55 -33
- package/dist/bin/commands/type-check.js +6 -6
- package/dist/bin/commands/wai.js +6 -6
- package/dist/bin/dndev.js +76 -11
- package/dist/bin/donotdev.js +21 -12
- package/dist/index.js +437 -142
- package/package.json +1 -1
- package/templates/app-demo/.env.example +1 -0
- package/templates/{root-consumer → app-demo}/entities/ExampleEntity.ts.example +15 -9
- package/templates/app-demo/index.html.example +1 -1
- package/templates/app-dndev/index.html.example +164 -0
- package/templates/app-dndev/public/logo.svg.example +1 -0
- package/templates/app-dndev/public/manifest.json.example +10 -0
- package/templates/app-dndev/src/App.tsx.example +35 -0
- package/templates/app-dndev/src/components/CockpitLayout.css.example +181 -0
- package/templates/app-dndev/src/components/CockpitLayout.tsx.example +209 -0
- package/templates/app-dndev/src/components/Kanban.css.example +385 -0
- package/templates/app-dndev/src/components/ModeToggle.tsx.example +32 -0
- package/templates/app-dndev/src/components/OverlaySlot.tsx.example +68 -0
- package/templates/app-dndev/src/components/TerminalPanel.css.example +228 -0
- package/templates/app-dndev/src/components/TerminalPanel.tsx.example +714 -0
- package/templates/app-dndev/src/components/markdown-prose.css.example +49 -0
- package/templates/app-dndev/src/components/phases/CaptainLog.tsx.example +107 -0
- package/templates/app-dndev/src/components/phases/ContextTabs.tsx.example +352 -0
- package/templates/app-dndev/src/components/phases/PhaseCard.tsx.example +126 -0
- package/templates/app-dndev/src/components/phases/PhaseDetail.tsx.example +147 -0
- package/templates/app-dndev/src/components/phases/ReviewPanel.tsx.example +115 -0
- package/templates/app-dndev/src/components/phases/phaseData.ts.example +366 -0
- package/templates/app-dndev/src/config/app.ts.example +103 -0
- package/templates/app-dndev/src/config/commands.ts.example +171 -0
- package/templates/app-dndev/src/config/legal.ts.example +170 -0
- package/templates/app-dndev/src/config/providers.ts.example +7 -0
- package/templates/app-dndev/src/globals.css.example +10 -0
- package/templates/app-dndev/src/hooks/useDndevFile.ts.example +144 -0
- package/templates/app-dndev/src/main.tsx.example +21 -0
- package/templates/app-dndev/src/pages/BoardPage.tsx.example +640 -0
- package/templates/app-dndev/src/pages/GrillPage.tsx.example +658 -0
- package/templates/app-dndev/src/pages/HomePage.tsx.example +347 -0
- package/templates/app-dndev/src/pages/NotFoundPage.tsx.example +33 -0
- package/templates/app-dndev/src/pages/PhasesPage.tsx.example +137 -0
- package/templates/app-dndev/src/pages/SettingsPage.tsx.example +64 -0
- package/templates/app-dndev/src/pages/legal/LegalNoticePage.tsx.example +75 -0
- package/templates/app-dndev/src/pages/legal/PrivacyPage.tsx.example +69 -0
- package/templates/app-dndev/src/pages/legal/TermsPage.tsx.example +71 -0
- package/templates/app-dndev/src/stores/dndevStore.ts.example +386 -0
- package/templates/app-dndev/src/themes.css.example +161 -0
- package/templates/app-dndev/terminal-sidecar.cjs.example +341 -0
- package/templates/app-dndev/tsconfig.json.example +9 -0
- package/templates/app-dndev/vite.config.ts.example +24 -0
- package/templates/app-next/src/locales/home_en.json.example +6 -6
- package/templates/app-vite/index.html.example +1 -1
- package/templates/app-vite/src/locales/home_en.json.example +6 -6
- package/templates/functions-supabase/supabase/functions/.env.example +0 -2
- package/templates/root-consumer/.claude/commands/grill.md.example +86 -8
- package/templates/root-consumer/.dndev.secrets.example +32 -0
- package/templates/root-consumer/.gitignore.example +3 -0
- package/templates/root-consumer/AI.md.example +4 -0
- package/templates/root-consumer/entities/index.ts.example +2 -5
- package/templates/root-consumer/guides/dndev/COMPONENTS_ATOMIC.md.example +4 -0
- package/templates/root-consumer/guides/dndev/ENV_SETUP.md.example +23 -20
- package/templates/root-consumer/guides/dndev/INDEX.md.example +1 -0
- package/templates/root-consumer/guides/dndev/SETUP_BILLING.md.example +3 -7
- package/templates/root-consumer/guides/dndev/SETUP_CICD.md.example +115 -0
- package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +41 -0
- package/templates/root-consumer/guides/dndev/SETUP_SUPABASE.md.example +13 -18
- package/templates/root-consumer/guides/dndev/SETUP_VERCEL.md.example +17 -12
- package/templates/root-consumer/guides/dndev/advanced/COOKIE_REFERENCE.md.example +252 -252
- package/templates/root-consumer/guides/dndev/advanced/VERSION_CONTROL.md.example +174 -174
- package/templates/root-consumer/guides/wai-way/WAI_WAY_CLI.md.example +185 -251
- package/templates/root-consumer/guides/wai-way/agents/extractor.md.example +26 -8
- package/templates/root-consumer/guides/wai-way/blueprints/0_brainstorm.md.example +66 -49
- package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +6 -5
- package/templates/root-consumer/guides/wai-way/blueprints/2_entities.md.example +9 -9
- package/templates/root-consumer/guides/wai-way/blueprints/3_compose.md.example +1 -1
- package/templates/root-consumer/guides/wai-way/blueprints/4_configure.md.example +7 -6
- package/templates/root-consumer/guides/wai-way/context_map.json.example +51 -20
- package/templates/root-consumer/guides/wai-way/hld_template.md.example +138 -0
- package/templates/root-consumer/guides/wai-way/lld_template.md.example +103 -0
- package/templates/root-consumer/guides/wai-way/prd_template.md.example +140 -0
- /package/templates/{root-consumer → app-demo}/entities/Contact.ts.example +0 -0
- /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
|
|
File without changes
|
|
File without changes
|