ateschh-kit 1.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.
- package/.claude/rules/01-identity.md +32 -0
- package/.claude/rules/02-language.md +21 -0
- package/.claude/rules/03-quality.md +39 -0
- package/.claude/rules/04-completion-lock.md +38 -0
- package/.claude/rules/05-state-management.md +48 -0
- package/.claude/rules/06-requirements-lock.md +69 -0
- package/.claude/rules/07-token-management.md +56 -0
- package/.claude/settings.local.json +13 -0
- package/ARCHITECTURE.md +222 -0
- package/CHANGELOG.md +74 -0
- package/CLAUDE.md +154 -0
- package/CONTRIBUTING.md +53 -0
- package/LICENSE +21 -0
- package/README.md +145 -0
- package/README.tr.md +145 -0
- package/agents/_TEMPLATE.md +59 -0
- package/agents/architect.md +117 -0
- package/agents/coder.md +90 -0
- package/agents/debugger.md +96 -0
- package/agents/deployer.md +123 -0
- package/agents/designer.md +154 -0
- package/agents/idea-analyst.md +92 -0
- package/agents/market-researcher.md +88 -0
- package/agents/requirements-expert.md +80 -0
- package/agents/tester.md +102 -0
- package/bin/install.js +142 -0
- package/package.json +46 -0
- package/skills/architecture-design/SKILL.md +92 -0
- package/skills/context-management/SKILL.md +92 -0
- package/skills/fix-bugs/SKILL.md +67 -0
- package/skills/idea-analysis/SKILL.md +71 -0
- package/skills/market-research/SKILL.md +70 -0
- package/skills/publish/SKILL.md +80 -0
- package/skills/requirements-lock/SKILL.md +75 -0
- package/skills/run-tests/SKILL.md +70 -0
- package/skills/write-code/SKILL.md +92 -0
- package/templates/project/DECISIONS.md +24 -0
- package/templates/project/DESIGN.md +141 -0
- package/templates/project/PLAN.md +63 -0
- package/templates/project/REQUIREMENTS.md +46 -0
- package/templates/project/STATE.md +94 -0
- package/templates/project/STRUCTURE.md +89 -0
- package/workflows/_TEMPLATE.md +44 -0
- package/workflows/brainstorm.md +69 -0
- package/workflows/build.md +92 -0
- package/workflows/deploy.md +85 -0
- package/workflows/design.md +84 -0
- package/workflows/finish.md +90 -0
- package/workflows/map-codebase.md +136 -0
- package/workflows/new-project.md +96 -0
- package/workflows/next.md +79 -0
- package/workflows/quick.md +82 -0
- package/workflows/requirements.md +85 -0
- package/workflows/resume.md +55 -0
- package/workflows/save.md +111 -0
- package/workflows/settings.md +92 -0
- package/workflows/status.md +67 -0
- package/workflows/test.md +105 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "market-research"
|
|
3
|
+
description: "3-5 competitor analysis with gap identification and positioning"
|
|
4
|
+
used_by: ["market-researcher"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: Market Research
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Map the competitive landscape and find where the product can win.
|
|
12
|
+
|
|
13
|
+
## Steps
|
|
14
|
+
|
|
15
|
+
### 1. Identify Competitors
|
|
16
|
+
|
|
17
|
+
Find 3–5 players:
|
|
18
|
+
- **Direct**: Same product, same target user
|
|
19
|
+
- **Indirect**: Different product, same problem
|
|
20
|
+
- **Emerging**: New entrants or adjacent tools
|
|
21
|
+
|
|
22
|
+
### 2. Analyze Each Competitor
|
|
23
|
+
|
|
24
|
+
For each:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
Name: {name}
|
|
28
|
+
URL: {url}
|
|
29
|
+
What it does: {1 sentence}
|
|
30
|
+
Target user: {persona}
|
|
31
|
+
Pricing: {model and tiers}
|
|
32
|
+
Strengths: {what they do well}
|
|
33
|
+
Weaknesses: {user complaints — use App Store / Reddit / G2 / Trustpilot}
|
|
34
|
+
Positioning: {how they describe themselves}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 3. Gap Analysis
|
|
38
|
+
|
|
39
|
+
After all competitors:
|
|
40
|
+
- What user segment is underserved?
|
|
41
|
+
- What feature combination doesn't exist?
|
|
42
|
+
- What pricing tier is missing?
|
|
43
|
+
- What is everyone doing that users hate?
|
|
44
|
+
|
|
45
|
+
## Output Template
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
## Market Research — {idea name}
|
|
49
|
+
|
|
50
|
+
### Competitors
|
|
51
|
+
|
|
52
|
+
#### {Competitor 1}
|
|
53
|
+
- **URL**: {url}
|
|
54
|
+
- **Does**: {one sentence}
|
|
55
|
+
- **Target**: {persona}
|
|
56
|
+
- **Pricing**: {model}
|
|
57
|
+
- **Strong**: {strengths}
|
|
58
|
+
- **Weak**: {weaknesses}
|
|
59
|
+
|
|
60
|
+
...
|
|
61
|
+
|
|
62
|
+
### Gap Analysis
|
|
63
|
+
**Underserved user**: {who}
|
|
64
|
+
**Missing feature set**: {what}
|
|
65
|
+
**Pricing opportunity**: {gap}
|
|
66
|
+
|
|
67
|
+
### Positioning
|
|
68
|
+
**We win because**: {differentiator}
|
|
69
|
+
**Start with**: {niche}
|
|
70
|
+
```
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "publish"
|
|
3
|
+
description: "Deploy the application to production using MCP tools"
|
|
4
|
+
used_by: ["deployer"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: Publish
|
|
8
|
+
|
|
9
|
+
## Deployment Decision Tree
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
What's the deploy target? (from REQUIREMENTS.md)
|
|
13
|
+
├── Vercel → use Vercel CLI or Vercel MCP
|
|
14
|
+
├── Cloudflare → use Wrangler
|
|
15
|
+
├── Firebase → use Firebase MCP
|
|
16
|
+
├── Supabase → use Supabase MCP (for functions/migrations)
|
|
17
|
+
└── Expo → use EAS CLI
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Commands
|
|
21
|
+
|
|
22
|
+
### Vercel
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx vercel --prod
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Post-deploy:
|
|
29
|
+
- Set all env vars in Vercel dashboard
|
|
30
|
+
- Confirm live URL loads
|
|
31
|
+
|
|
32
|
+
### Cloudflare Workers
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx wrangler deploy
|
|
36
|
+
# Set secrets:
|
|
37
|
+
npx wrangler secret put MY_SECRET
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Cloudflare Pages
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npx wrangler pages deploy ./out --project-name my-app
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Firebase
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
firebase deploy
|
|
50
|
+
# or via Firebase MCP
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Expo Mobile
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Production build:
|
|
57
|
+
eas build --platform all --profile production
|
|
58
|
+
|
|
59
|
+
# OTA update (no store submission):
|
|
60
|
+
eas update --branch production --message "v{version}"
|
|
61
|
+
|
|
62
|
+
# Submit to stores:
|
|
63
|
+
eas submit --platform ios
|
|
64
|
+
eas submit --platform android
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Supabase DB Migration
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
supabase db push
|
|
71
|
+
# or via Supabase MCP → apply_migration
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Post-Deploy Checklist
|
|
75
|
+
|
|
76
|
+
- [ ] Live URL is accessible
|
|
77
|
+
- [ ] Core user flow works on production
|
|
78
|
+
- [ ] No 5xx errors in logs
|
|
79
|
+
- [ ] Env vars are set correctly in production
|
|
80
|
+
- [ ] Auth works on production DB
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "requirements-lock"
|
|
3
|
+
description: "Writes and locks the REQUIREMENTS.md file after tech stack is approved"
|
|
4
|
+
used_by: ["requirements-expert"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: Requirements Lock
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Formally lock the tech stack into REQUIREMENTS.md so it cannot change during development.
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
After the requirements-expert proposes a stack and the user approves it.
|
|
16
|
+
|
|
17
|
+
## Steps
|
|
18
|
+
|
|
19
|
+
### 1. Write REQUIREMENTS.md
|
|
20
|
+
|
|
21
|
+
Use this template exactly:
|
|
22
|
+
|
|
23
|
+
```markdown
|
|
24
|
+
# Requirements — {Project Name}
|
|
25
|
+
|
|
26
|
+
**Status**: LOCKED ✅
|
|
27
|
+
**Locked on**: {YYYY-MM-DD}
|
|
28
|
+
|
|
29
|
+
## Platform
|
|
30
|
+
{Web App / Mobile iOS+Android / Desktop / etc.}
|
|
31
|
+
|
|
32
|
+
## Stack
|
|
33
|
+
|
|
34
|
+
| Category | Technology | Version | Purpose |
|
|
35
|
+
|----------|-----------|---------|---------|
|
|
36
|
+
| Framework | {name} | {version} | {1 sentence} |
|
|
37
|
+
| Database | {name} | {version} | {1 sentence} |
|
|
38
|
+
| Auth | {name} | {version} | {1 sentence} |
|
|
39
|
+
| UI Components | {name} | {version} | {1 sentence} |
|
|
40
|
+
| Styling | {name} | {version} | {1 sentence} |
|
|
41
|
+
| State | {name} | {version} | {1 sentence} |
|
|
42
|
+
| Deploy | {name} | {version} | {1 sentence} |
|
|
43
|
+
|
|
44
|
+
## All Libraries
|
|
45
|
+
|
|
46
|
+
| Library | Version | Purpose |
|
|
47
|
+
|---------|---------|---------|
|
|
48
|
+
| {library} | {version} | {purpose} |
|
|
49
|
+
|
|
50
|
+
## Out of Scope (v1)
|
|
51
|
+
|
|
52
|
+
- {feature or technology not included}
|
|
53
|
+
- {reason}
|
|
54
|
+
|
|
55
|
+
## Change Policy
|
|
56
|
+
|
|
57
|
+
To change this document: run `/requirements` and get explicit approval.
|
|
58
|
+
Any library not listed here must be approved before use.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 2. Verify File is Complete
|
|
62
|
+
|
|
63
|
+
Before saving:
|
|
64
|
+
- [ ] All categories filled (no "TBD")
|
|
65
|
+
- [ ] All versions specified (no "latest" — use real semver)
|
|
66
|
+
- [ ] Out of scope section filled
|
|
67
|
+
- [ ] File status says LOCKED ✅
|
|
68
|
+
|
|
69
|
+
### 3. Log in DECISIONS.md
|
|
70
|
+
|
|
71
|
+
```markdown
|
|
72
|
+
## {date} — Tech Stack Locked
|
|
73
|
+
- Locked: {framework + DB + deploy}
|
|
74
|
+
- Reasoning: {brief why}
|
|
75
|
+
```
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "run-tests"
|
|
3
|
+
description: "Runs L1-L4 verification across the full application"
|
|
4
|
+
used_by: ["tester"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: Run Tests
|
|
8
|
+
|
|
9
|
+
## The Four Levels
|
|
10
|
+
|
|
11
|
+
### L1 — Syntax (Static)
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm run build # or: expo build / go build / etc.
|
|
15
|
+
npm run typecheck # tsc --noEmit
|
|
16
|
+
npm run lint # eslint check
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Pass = exit code 0 on all three.
|
|
20
|
+
|
|
21
|
+
### L2 — Functionality (Per Feature)
|
|
22
|
+
|
|
23
|
+
For each feature in STRUCTURE.md:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Feature: {name}
|
|
27
|
+
Happy path: {steps} → Expected: {result}
|
|
28
|
+
Error path: {bad input} → Expected: {error state shown}
|
|
29
|
+
Empty state: {no data} → Expected: {empty state shown}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### L3 — Integration (System)
|
|
33
|
+
|
|
34
|
+
Standard flow:
|
|
35
|
+
1. New user: register → verify → first action → result
|
|
36
|
+
2. Auth gates: access protected page without auth → redirect to login
|
|
37
|
+
3. CRUD: create → appears in list → update → delete → gone
|
|
38
|
+
4. Errors: network timeout, server error → user sees friendly message
|
|
39
|
+
|
|
40
|
+
### L4 — Quality (Pre-Deploy)
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Web:
|
|
44
|
+
- [ ] 375px (mobile) layout OK
|
|
45
|
+
- [ ] 768px (tablet) layout OK
|
|
46
|
+
- [ ] 1280px (desktop) layout OK
|
|
47
|
+
|
|
48
|
+
All:
|
|
49
|
+
- [ ] No console.log in production files
|
|
50
|
+
- [ ] Loading states visible during async ops
|
|
51
|
+
- [ ] Error messages are user-friendly
|
|
52
|
+
- [ ] No credentials in code
|
|
53
|
+
- [ ] .env.example present
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Defect Format
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
[L{N}] {Description}
|
|
60
|
+
File: {path}:{line}
|
|
61
|
+
Reproduce: {steps}
|
|
62
|
+
Expected: {result}
|
|
63
|
+
Actual: {result}
|
|
64
|
+
Severity: Critical / High / Medium / Low
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Pass Criteria
|
|
68
|
+
|
|
69
|
+
All L1 + L2 + L3 = no Critical or High severity issues remaining.
|
|
70
|
+
L4 = no Critical issues remaining.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "write-code"
|
|
3
|
+
description: "Implements a single PLAN.md task following locked requirements and design system"
|
|
4
|
+
used_by: ["coder"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: Write Code
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Implement exactly one task from PLAN.md — completely and correctly.
|
|
12
|
+
|
|
13
|
+
## Pre-Coding Checklist
|
|
14
|
+
|
|
15
|
+
Before writing a single line:
|
|
16
|
+
- [ ] REQUIREMENTS.md read — know allowed libraries
|
|
17
|
+
- [ ] DESIGN.md read — know design tokens to use
|
|
18
|
+
- [ ] Task description clear — know exact scope
|
|
19
|
+
- [ ] Library API verified — use Context7 MCP if uncertain
|
|
20
|
+
|
|
21
|
+
## Implementation Rules
|
|
22
|
+
|
|
23
|
+
| Rule | Detail |
|
|
24
|
+
|------|--------|
|
|
25
|
+
| Scope | Exactly the task. Nothing more. |
|
|
26
|
+
| Dependencies | Only from REQUIREMENTS.md |
|
|
27
|
+
| Types | TypeScript strict mode. No `any`. |
|
|
28
|
+
| Error handling | All async operations must handle failure |
|
|
29
|
+
| Design | Use exact values from DESIGN.md |
|
|
30
|
+
| Env vars | Never hardcode. Use process.env. |
|
|
31
|
+
|
|
32
|
+
## Code Patterns
|
|
33
|
+
|
|
34
|
+
### React/Next.js Component
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
// Named export, functional, typed props
|
|
38
|
+
export function ComponentName({ prop }: { prop: string }) {
|
|
39
|
+
return (
|
|
40
|
+
<div className="...">
|
|
41
|
+
{prop}
|
|
42
|
+
</div>
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Supabase Query
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
const { data, error } = await supabase
|
|
51
|
+
.from('table')
|
|
52
|
+
.select('*')
|
|
53
|
+
.eq('user_id', userId)
|
|
54
|
+
|
|
55
|
+
if (error) {
|
|
56
|
+
console.error('Failed to fetch:', error.message)
|
|
57
|
+
throw new Error(error.message)
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### API Route (Next.js)
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
export async function GET(request: Request) {
|
|
65
|
+
try {
|
|
66
|
+
// ... logic
|
|
67
|
+
return Response.json({ data })
|
|
68
|
+
} catch (error) {
|
|
69
|
+
return Response.json({ error: 'Internal error' }, { status: 500 })
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## After Coding
|
|
75
|
+
|
|
76
|
+
Run L1 verification:
|
|
77
|
+
```bash
|
|
78
|
+
npm run build && npm run typecheck && npm run lint
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
If any fail → fix before reporting done.
|
|
82
|
+
|
|
83
|
+
## Completion Report
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
✅ {task name} implemented
|
|
87
|
+
|
|
88
|
+
Files:
|
|
89
|
+
- {file}: {change description}
|
|
90
|
+
|
|
91
|
+
L1: ✅ Build • TypeScript • Lint all clean
|
|
92
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Decision Log — {Project Name}
|
|
2
|
+
|
|
3
|
+
A running log of all significant technical and product decisions made during this project.
|
|
4
|
+
This prevents re-debating settled questions and documents the reasoning for future reference.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## How to Use
|
|
9
|
+
|
|
10
|
+
Add an entry whenever you:
|
|
11
|
+
- Choose one technology over another
|
|
12
|
+
- Change direction on a feature
|
|
13
|
+
- Fix a non-obvious bug
|
|
14
|
+
- Make a UX trade-off
|
|
15
|
+
|
|
16
|
+
**Format**: `## {date} — {short title}`
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## {date} — Project Started
|
|
21
|
+
|
|
22
|
+
- **Decision**: Started project "{name}"
|
|
23
|
+
- **Context**: {one sentence on the idea}
|
|
24
|
+
- **Stack**: {one-line summary of chosen tech}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Design System — {Project Name}
|
|
2
|
+
|
|
3
|
+
**Status**: DRAFT 📝
|
|
4
|
+
**Locked on**: (not yet locked)
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Brand Direction
|
|
9
|
+
|
|
10
|
+
{1-2 sentences describing the visual mood and what the design communicates}
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Colors
|
|
15
|
+
|
|
16
|
+
### Primary
|
|
17
|
+
| Token | Hex | Use |
|
|
18
|
+
|-------|-----|-----|
|
|
19
|
+
| primary-50 | #{hex} | Light background tints |
|
|
20
|
+
| primary-500 | #{hex} | Main brand color |
|
|
21
|
+
| primary-700 | #{hex} | Hover states |
|
|
22
|
+
| primary-900 | #{hex} | Text on light backgrounds |
|
|
23
|
+
|
|
24
|
+
### Secondary
|
|
25
|
+
| Token | Hex | Use |
|
|
26
|
+
|-------|-----|-----|
|
|
27
|
+
| secondary-500 | #{hex} | Supporting color |
|
|
28
|
+
|
|
29
|
+
### Accent
|
|
30
|
+
| Token | Hex | Use |
|
|
31
|
+
|-------|-----|-----|
|
|
32
|
+
| accent-500 | #{hex} | CTAs and highlights |
|
|
33
|
+
|
|
34
|
+
### Neutrals
|
|
35
|
+
| Token | Hex | Use |
|
|
36
|
+
|-------|-----|-----|
|
|
37
|
+
| neutral-50 | #{hex} | Page background |
|
|
38
|
+
| neutral-100 | #{hex} | Card background |
|
|
39
|
+
| neutral-300 | #{hex} | Dividers, borders |
|
|
40
|
+
| neutral-600 | #{hex} | Secondary text |
|
|
41
|
+
| neutral-900 | #{hex} | Primary text |
|
|
42
|
+
|
|
43
|
+
### Semantic
|
|
44
|
+
| Token | Hex | Use |
|
|
45
|
+
|-------|-----|-----|
|
|
46
|
+
| success | #{hex} | Success states |
|
|
47
|
+
| error | #{hex} | Error states |
|
|
48
|
+
| warning | #{hex} | Warning states |
|
|
49
|
+
| info | #{hex} | Info states |
|
|
50
|
+
|
|
51
|
+
### Dark Mode
|
|
52
|
+
| Token | Hex | Use |
|
|
53
|
+
|-------|-----|-----|
|
|
54
|
+
| dark-bg | #{hex} | Page background |
|
|
55
|
+
| dark-surface | #{hex} | Card background |
|
|
56
|
+
| dark-text | #{hex} | Primary text |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Typography
|
|
61
|
+
|
|
62
|
+
**Font Family**: {font name}
|
|
63
|
+
**Google Fonts URL**: {url}
|
|
64
|
+
|
|
65
|
+
| Scale | Size | Weight | Line Height | Use |
|
|
66
|
+
|-------|------|--------|-------------|-----|
|
|
67
|
+
| xs | 12px | 400 | 1.4 | Captions |
|
|
68
|
+
| sm | 14px | 400 | 1.5 | Labels |
|
|
69
|
+
| base | 16px | 400 | 1.6 | Body text |
|
|
70
|
+
| lg | 18px | 500 | 1.5 | Emphasized body |
|
|
71
|
+
| xl | 20px | 600 | 1.4 | Section headings |
|
|
72
|
+
| 2xl | 24px | 700 | 1.3 | Page headings |
|
|
73
|
+
| 3xl | 30px | 700 | 1.2 | Hero headings |
|
|
74
|
+
| 4xl | 36px | 800 | 1.1 | Display |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Spacing
|
|
79
|
+
|
|
80
|
+
Base unit: 4px
|
|
81
|
+
|
|
82
|
+
| Token | Value | Use |
|
|
83
|
+
|-------|-------|-----|
|
|
84
|
+
| xs | 4px | Tight gaps |
|
|
85
|
+
| sm | 8px | Small gaps |
|
|
86
|
+
| md | 16px | Default padding |
|
|
87
|
+
| lg | 24px | Section gaps |
|
|
88
|
+
| xl | 32px | Large sections |
|
|
89
|
+
| 2xl | 48px | Page sections |
|
|
90
|
+
| 3xl | 64px | Hero padding |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Component Styles
|
|
95
|
+
|
|
96
|
+
**Border Radius**: {value}px
|
|
97
|
+
**Shadow**: {description (e.g., "0 1px 3px rgba(0,0,0,0.1)")}
|
|
98
|
+
**Button style**: {filled / outlined / ghost}
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## CSS Variables
|
|
103
|
+
|
|
104
|
+
```css
|
|
105
|
+
:root {
|
|
106
|
+
/* Colors */
|
|
107
|
+
--color-primary: #{hex};
|
|
108
|
+
--color-secondary: #{hex};
|
|
109
|
+
--color-accent: #{hex};
|
|
110
|
+
--bg-page: #{hex};
|
|
111
|
+
--bg-surface: #{hex};
|
|
112
|
+
--text-primary: #{hex};
|
|
113
|
+
--text-secondary: #{hex};
|
|
114
|
+
--color-success: #{hex};
|
|
115
|
+
--color-error: #{hex};
|
|
116
|
+
|
|
117
|
+
/* Typography */
|
|
118
|
+
--font-sans: '{font}', sans-serif;
|
|
119
|
+
--text-base: 16px;
|
|
120
|
+
|
|
121
|
+
/* Spacing */
|
|
122
|
+
--space-md: 16px;
|
|
123
|
+
--space-lg: 24px;
|
|
124
|
+
|
|
125
|
+
/* Shapes */
|
|
126
|
+
--radius: {value}px;
|
|
127
|
+
--radius-lg: {value*2}px;
|
|
128
|
+
--radius-full: 9999px;
|
|
129
|
+
|
|
130
|
+
/* Shadows */
|
|
131
|
+
--shadow-sm: 0 1px 3px rgba(0,0,0,0.1);
|
|
132
|
+
--shadow-md: 0 4px 16px rgba(0,0,0,0.12);
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Change Policy
|
|
139
|
+
|
|
140
|
+
This document is locked after `/design` approval.
|
|
141
|
+
To change the design system: run `/design` and get explicit approval.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Build Plan — {Project Name}
|
|
2
|
+
|
|
3
|
+
**Status**: DRAFT 📝
|
|
4
|
+
**Approved on**: (not yet approved)
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## How to Use
|
|
9
|
+
|
|
10
|
+
- Run `/build` for each unchecked task in order
|
|
11
|
+
- Check the box when a task completes L1+L2 verification
|
|
12
|
+
- Do not skip tasks — each builds on the previous
|
|
13
|
+
|
|
14
|
+
**Task sizes**: S = ~15 min | M = ~30 min | L = ~1 hour
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Phase 4 Tasks
|
|
19
|
+
|
|
20
|
+
### 🛠 Setup
|
|
21
|
+
- [ ] Initialize project with {framework} — S
|
|
22
|
+
- [ ] Install all dependencies from REQUIREMENTS.md — S
|
|
23
|
+
- [ ] Configure environment variables (.env) — S
|
|
24
|
+
- [ ] Set up database schema — M
|
|
25
|
+
- [ ] Configure auth provider — M
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
### 📄 {Page/Feature Name} — {S/M/L}
|
|
30
|
+
|
|
31
|
+
- [ ] {Specific implementation task}
|
|
32
|
+
- [ ] {Specific implementation task}
|
|
33
|
+
- [ ] {Specific implementation task}
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
### 📄 {Page/Feature Name} — {S/M/L}
|
|
38
|
+
|
|
39
|
+
- [ ] {Specific implementation task}
|
|
40
|
+
- [ ] {Specific implementation task}
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
### 🔗 Integration
|
|
45
|
+
|
|
46
|
+
- [ ] Auth flow end-to-end (sign up → login → protected route) — M
|
|
47
|
+
- [ ] API connections tested — S
|
|
48
|
+
- [ ] Error states implemented — S
|
|
49
|
+
- [ ] Loading states implemented — S
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
### ✨ Polish
|
|
54
|
+
|
|
55
|
+
- [ ] Responsive layout verified — S
|
|
56
|
+
- [ ] Empty states implemented — S
|
|
57
|
+
- [ ] Final UI consistency pass — M
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Completed Tasks Archive
|
|
62
|
+
|
|
63
|
+
<!-- Move completed tasks here as they are done -->
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Requirements — {Project Name}
|
|
2
|
+
|
|
3
|
+
**Status**: DRAFT 📝
|
|
4
|
+
**Locked on**: (not yet locked)
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Platform
|
|
9
|
+
|
|
10
|
+
{Web App / Mobile iOS+Android / Desktop / Backend API / Other}
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Stack
|
|
15
|
+
|
|
16
|
+
| Category | Technology | Version | Purpose |
|
|
17
|
+
|----------|-----------|---------|---------|
|
|
18
|
+
| Framework | {name} | {x.x} | {one sentence} |
|
|
19
|
+
| Database | {name} | {x.x} | {one sentence} |
|
|
20
|
+
| Auth | {name} | {x.x} | {one sentence} |
|
|
21
|
+
| UI Components | {name} | {x.x} | {one sentence} |
|
|
22
|
+
| Styling | {name} | {x.x} | {one sentence} |
|
|
23
|
+
| State | {name} | {x.x} | {one sentence} |
|
|
24
|
+
| Deploy | {name} | {x.x} | {one sentence} |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## All Libraries
|
|
29
|
+
|
|
30
|
+
| Library | Version | Purpose |
|
|
31
|
+
|---------|---------|---------|
|
|
32
|
+
| {library} | {version} | {purpose} |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Out of Scope (v1)
|
|
37
|
+
|
|
38
|
+
- {feature or technology not included — and why}
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Change Policy
|
|
43
|
+
|
|
44
|
+
This document is locked after `/requirements` approval.
|
|
45
|
+
To change anything here: run `/requirements` and get explicit approval.
|
|
46
|
+
Any library NOT listed here must be approved before use.
|