prizmkit 1.1.57 → 1.1.60
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/bin/create-prizmkit.js +8 -6
- package/bundled/VERSION.json +3 -3
- package/bundled/adapters/codex/agent-adapter.js +38 -0
- package/bundled/adapters/codex/paths.js +27 -0
- package/bundled/adapters/codex/rules-adapter.js +30 -0
- package/bundled/adapters/codex/settings-adapter.js +27 -0
- package/bundled/adapters/codex/skill-adapter.js +65 -0
- package/bundled/adapters/codex/team-adapter.js +37 -0
- package/bundled/dev-pipeline/.env.example +2 -1
- package/bundled/dev-pipeline/README.md +10 -7
- package/bundled/dev-pipeline/lib/common.sh +278 -37
- package/bundled/dev-pipeline/run-bugfix.sh +10 -61
- package/bundled/dev-pipeline/run-feature.sh +10 -78
- package/bundled/dev-pipeline/run-recovery.sh +10 -46
- package/bundled/dev-pipeline/run-refactor.sh +10 -61
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +17 -7
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +9 -3
- package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +9 -3
- package/bundled/dev-pipeline/scripts/utils.py +6 -4
- package/bundled/dev-pipeline-windows/.env.example +28 -0
- package/bundled/dev-pipeline-windows/README.md +30 -0
- package/bundled/dev-pipeline-windows/SCHEMA_ANALYSIS.md +525 -0
- package/bundled/dev-pipeline-windows/assets/feature-list-example.json +146 -0
- package/bundled/dev-pipeline-windows/assets/prizm-dev-team-integration.md +138 -0
- package/bundled/dev-pipeline-windows/launch-bugfix-daemon.ps1 +9 -0
- package/bundled/dev-pipeline-windows/launch-feature-daemon.ps1 +9 -0
- package/bundled/dev-pipeline-windows/launch-refactor-daemon.ps1 +9 -0
- package/bundled/dev-pipeline-windows/lib/common.ps1 +432 -0
- package/bundled/dev-pipeline-windows/lib/daemon.ps1 +140 -0
- package/bundled/dev-pipeline-windows/lib/pipeline.ps1 +446 -0
- package/bundled/dev-pipeline-windows/lib/reset.ps1 +87 -0
- package/bundled/dev-pipeline-windows/reset-bug.ps1 +9 -0
- package/bundled/dev-pipeline-windows/reset-feature.ps1 +9 -0
- package/bundled/dev-pipeline-windows/reset-refactor.ps1 +9 -0
- package/bundled/dev-pipeline-windows/run-bugfix.ps1 +9 -0
- package/bundled/dev-pipeline-windows/run-feature.ps1 +9 -0
- package/bundled/dev-pipeline-windows/run-recovery.ps1 +76 -0
- package/bundled/dev-pipeline-windows/run-refactor.ps1 +9 -0
- package/bundled/dev-pipeline-windows/scripts/check-session-status.py +228 -0
- package/bundled/dev-pipeline-windows/scripts/cleanup-logs.py +192 -0
- package/bundled/dev-pipeline-windows/scripts/detect-stuck.py +530 -0
- package/bundled/dev-pipeline-windows/scripts/generate-bootstrap-prompt.py +1737 -0
- package/bundled/dev-pipeline-windows/scripts/generate-bugfix-prompt.py +685 -0
- package/bundled/dev-pipeline-windows/scripts/generate-recovery-prompt.py +805 -0
- package/bundled/dev-pipeline-windows/scripts/generate-refactor-prompt.py +763 -0
- package/bundled/dev-pipeline-windows/scripts/init-bugfix-pipeline.py +316 -0
- package/bundled/dev-pipeline-windows/scripts/init-dev-team.py +134 -0
- package/bundled/dev-pipeline-windows/scripts/init-pipeline.py +380 -0
- package/bundled/dev-pipeline-windows/scripts/init-refactor-pipeline.py +399 -0
- package/bundled/dev-pipeline-windows/scripts/parse-stream-progress.py +388 -0
- package/bundled/dev-pipeline-windows/scripts/patch-completion-notes.py +191 -0
- package/bundled/dev-pipeline-windows/scripts/update-bug-status.py +864 -0
- package/bundled/dev-pipeline-windows/scripts/update-checkpoint.py +173 -0
- package/bundled/dev-pipeline-windows/scripts/update-feature-status.py +1501 -0
- package/bundled/dev-pipeline-windows/scripts/update-refactor-status.py +1073 -0
- package/bundled/dev-pipeline-windows/scripts/utils.py +542 -0
- package/bundled/dev-pipeline-windows/templates/agent-prompts/critic-plan-challenge.md +7 -0
- package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-fix.md +7 -0
- package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-implement.md +30 -0
- package/bundled/dev-pipeline-windows/templates/agent-prompts/dev-resume.md +5 -0
- package/bundled/dev-pipeline-windows/templates/agent-prompts/reviewer-review.md +7 -0
- package/bundled/dev-pipeline-windows/templates/bootstrap-prompt.md +46 -0
- package/bundled/dev-pipeline-windows/templates/bootstrap-tier1.md +43 -0
- package/bundled/dev-pipeline-windows/templates/bootstrap-tier2.md +43 -0
- package/bundled/dev-pipeline-windows/templates/bootstrap-tier3.md +43 -0
- package/bundled/dev-pipeline-windows/templates/bug-fix-list-schema.json +263 -0
- package/bundled/dev-pipeline-windows/templates/bugfix-bootstrap-prompt.md +320 -0
- package/bundled/dev-pipeline-windows/templates/feature-list-schema.json +237 -0
- package/bundled/dev-pipeline-windows/templates/refactor-bootstrap-prompt.md +331 -0
- package/bundled/dev-pipeline-windows/templates/refactor-list-schema.json +270 -0
- package/bundled/dev-pipeline-windows/templates/sections/ac-verification-checklist.md +13 -0
- package/bundled/dev-pipeline-windows/templates/sections/checkpoint-system.md +91 -0
- package/bundled/dev-pipeline-windows/templates/sections/context-budget-rules.md +33 -0
- package/bundled/dev-pipeline-windows/templates/sections/critical-paths-agent.md +10 -0
- package/bundled/dev-pipeline-windows/templates/sections/critical-paths-full.md +12 -0
- package/bundled/dev-pipeline-windows/templates/sections/critical-paths-lite.md +7 -0
- package/bundled/dev-pipeline-windows/templates/sections/directory-convention-agent.md +8 -0
- package/bundled/dev-pipeline-windows/templates/sections/directory-convention-full.md +9 -0
- package/bundled/dev-pipeline-windows/templates/sections/directory-convention-lite.md +6 -0
- package/bundled/dev-pipeline-windows/templates/sections/failure-capture.md +21 -0
- package/bundled/dev-pipeline-windows/templates/sections/feature-context.md +31 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification-auto.md +72 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification-opencli.md +63 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-browser-verification.md +62 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-commit-full.md +71 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-commit.md +64 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-agent-suffix.md +23 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-base.md +24 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-context-snapshot-lite-suffix.md +12 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-critic-plan-full.md +53 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-critic-plan.md +32 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-implement-agent.md +37 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-implement-full.md +50 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-implement-lite.md +52 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-plan-agent.md +27 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-plan-lite.md +27 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-review-agent.md +27 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-review-full.md +29 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase-specify-plan-full.md +77 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase0-init.md +13 -0
- package/bundled/dev-pipeline-windows/templates/sections/phase0-test-baseline.md +23 -0
- package/bundled/dev-pipeline-windows/templates/sections/session-context.md +5 -0
- package/bundled/dev-pipeline-windows/templates/sections/subagent-timeout-recovery.md +6 -0
- package/bundled/dev-pipeline-windows/templates/sections/test-failure-recovery-agent.md +67 -0
- package/bundled/dev-pipeline-windows/templates/sections/test-failure-recovery-lite.md +58 -0
- package/bundled/dev-pipeline-windows/templates/session-status-schema.json +83 -0
- package/bundled/skills/_metadata.json +1 -1
- package/bundled/skills/app-planner/SKILL.md +26 -18
- package/bundled/skills/app-planner/references/architecture-decisions.md +9 -5
- package/bundled/skills/app-planner/references/frontend-design-guide.md +1 -1
- package/bundled/skills/feature-planner/SKILL.md +9 -2
- package/bundled/skills/prizmkit-init/SKILL.md +7 -6
- package/bundled/skills/recovery-workflow/scripts/detect-recovery-state.py +2 -0
- package/bundled/skills-windows/app-planner/SKILL.md +639 -0
- package/bundled/skills-windows/app-planner/assets/app-design-guide.md +101 -0
- package/bundled/skills-windows/app-planner/references/architecture-decisions.md +52 -0
- package/bundled/skills-windows/app-planner/references/brainstorm-guide.md +101 -0
- package/bundled/skills-windows/app-planner/references/frontend-design-guide.md +71 -0
- package/bundled/skills-windows/app-planner/references/project-brief-guide.md +82 -0
- package/bundled/skills-windows/app-planner/references/red-team-checklist.md +40 -0
- package/bundled/skills-windows/app-planner/references/rules/backend/derivation-rules.md +609 -0
- package/bundled/skills-windows/app-planner/references/rules/backend/fixed-rules.md +285 -0
- package/bundled/skills-windows/app-planner/references/rules/backend/question-bank.md +249 -0
- package/bundled/skills-windows/app-planner/references/rules/backend/template.md +173 -0
- package/bundled/skills-windows/app-planner/references/rules/database/derivation-rules.md +373 -0
- package/bundled/skills-windows/app-planner/references/rules/database/fixed-rules.md +211 -0
- package/bundled/skills-windows/app-planner/references/rules/database/question-bank.md +184 -0
- package/bundled/skills-windows/app-planner/references/rules/database/template.md +158 -0
- package/bundled/skills-windows/app-planner/references/rules/frontend/derivation-rules.md +810 -0
- package/bundled/skills-windows/app-planner/references/rules/frontend/fixed-rules.md +188 -0
- package/bundled/skills-windows/app-planner/references/rules/frontend/question-bank.md +302 -0
- package/bundled/skills-windows/app-planner/references/rules/frontend/template.md +320 -0
- package/bundled/skills-windows/app-planner/references/rules/mobile/derivation-rules.md +639 -0
- package/bundled/skills-windows/app-planner/references/rules/mobile/fixed-rules.md +290 -0
- package/bundled/skills-windows/app-planner/references/rules/mobile/question-bank.md +232 -0
- package/bundled/skills-windows/app-planner/references/rules/mobile/template.md +175 -0
- package/bundled/skills-windows/bug-fix-workflow/SKILL.md +415 -0
- package/bundled/skills-windows/bug-planner/SKILL.md +395 -0
- package/bundled/skills-windows/bug-planner/assets/bug-confirmation-template.md +43 -0
- package/bundled/skills-windows/bug-planner/references/critic-and-verification.md +44 -0
- package/bundled/skills-windows/bug-planner/references/error-recovery.md +73 -0
- package/bundled/skills-windows/bug-planner/references/input-formats.md +53 -0
- package/bundled/skills-windows/bug-planner/references/schema-validation.md +25 -0
- package/bundled/skills-windows/bug-planner/references/severity-rules.md +16 -0
- package/bundled/skills-windows/bug-planner/scripts/validate-bug-list.py +322 -0
- package/bundled/skills-windows/bugfix-pipeline-launcher/SKILL.md +380 -0
- package/bundled/skills-windows/feature-pipeline-launcher/SKILL.md +441 -0
- package/bundled/skills-windows/feature-pipeline-launcher/scripts/preflight-check.py +462 -0
- package/bundled/skills-windows/feature-planner/SKILL.md +401 -0
- package/bundled/skills-windows/feature-planner/assets/evaluation-guide.md +64 -0
- package/bundled/skills-windows/feature-planner/assets/planning-guide.md +214 -0
- package/bundled/skills-windows/feature-planner/references/browser-interaction.md +59 -0
- package/bundled/skills-windows/feature-planner/references/completeness-review.md +57 -0
- package/bundled/skills-windows/feature-planner/references/decomposition-patterns.md +75 -0
- package/bundled/skills-windows/feature-planner/references/error-recovery.md +90 -0
- package/bundled/skills-windows/feature-planner/references/incremental-feature-planning.md +112 -0
- package/bundled/skills-windows/feature-planner/references/new-project-planning.md +85 -0
- package/bundled/skills-windows/feature-planner/scripts/validate-and-generate.py +1029 -0
- package/bundled/skills-windows/feature-workflow/SKILL.md +531 -0
- package/bundled/skills-windows/prizmkit-init/SKILL.md +356 -0
- package/bundled/skills-windows/prizmkit-init/assets/project-brief-template.md +82 -0
- package/bundled/skills-windows/prizmkit-init/references/config-schema.md +68 -0
- package/bundled/skills-windows/prizmkit-init/references/rules/layer-detection.md +41 -0
- package/bundled/skills-windows/prizmkit-init/references/tech-stack-catalog.md +13 -0
- package/bundled/skills-windows/prizmkit-init/references/update-supplement.md +9 -0
- package/bundled/skills-windows/recovery-workflow/SKILL.md +456 -0
- package/bundled/skills-windows/recovery-workflow/evals/evals.json +46 -0
- package/bundled/skills-windows/recovery-workflow/scripts/detect-recovery-state.py +544 -0
- package/bundled/skills-windows/refactor-pipeline-launcher/SKILL.md +406 -0
- package/bundled/skills-windows/refactor-planner/SKILL.md +540 -0
- package/bundled/skills-windows/refactor-planner/assets/planning-guide.md +292 -0
- package/bundled/skills-windows/refactor-planner/references/behavior-preservation.md +301 -0
- package/bundled/skills-windows/refactor-planner/references/refactor-scoping-guide.md +221 -0
- package/bundled/skills-windows/refactor-planner/scripts/validate-and-generate-refactor.py +858 -0
- package/bundled/skills-windows/refactor-workflow/SKILL.md +503 -0
- package/package.json +3 -2
- package/src/clean.js +73 -2
- package/src/config.js +159 -50
- package/src/detect-platform.js +16 -8
- package/src/external-skills.js +26 -19
- package/src/index.js +31 -9
- package/src/manifest.js +6 -2
- package/src/metadata.js +43 -5
- package/src/platforms.js +36 -0
- package/src/prompts.js +31 -6
- package/src/runtimes.js +20 -0
- package/src/scaffold.js +314 -110
- package/src/upgrade.js +81 -41
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# App Design Reference Guide
|
|
2
|
+
|
|
3
|
+
This guide provides structured templates, decision matrices, and decomposition patterns for new application planning. Use during the vision and architecture phases of app-planner sessions.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. App Vision Template
|
|
8
|
+
|
|
9
|
+
Use this template to capture the app vision during the initial planning phase.
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# App Vision: [APP_NAME]
|
|
13
|
+
|
|
14
|
+
## Problem Statement
|
|
15
|
+
[What problem does this app solve?]
|
|
16
|
+
|
|
17
|
+
## Target Users
|
|
18
|
+
- Primary: [Who are the main users?]
|
|
19
|
+
- Secondary: [Any secondary user types?]
|
|
20
|
+
|
|
21
|
+
## Core Value Proposition
|
|
22
|
+
[What makes this app valuable? What's the "elevator pitch"?]
|
|
23
|
+
|
|
24
|
+
## Key Differentiators
|
|
25
|
+
[What sets this apart from existing solutions?]
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Guidance
|
|
29
|
+
|
|
30
|
+
- **Problem Statement**: Should describe a real pain point in 1-3 sentences. Avoid vague statements like "improve productivity." Be specific about who suffers and why.
|
|
31
|
+
- **Target Users**: Identify at least one primary user persona. Secondary users are optional but useful for prioritization decisions later.
|
|
32
|
+
- **Core Value Proposition**: Should be expressible in one sentence. If it takes a paragraph, the scope is likely too broad.
|
|
33
|
+
- **Key Differentiators**: List 1-3 concrete differentiators. If none exist, reconsider whether the app needs to be built.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. Tech Stack Decision Matrix
|
|
38
|
+
|
|
39
|
+
Use these tables to guide tech stack selection based on project requirements.
|
|
40
|
+
|
|
41
|
+
### Frontend Frameworks
|
|
42
|
+
|
|
43
|
+
| Framework | Best For | Ecosystem |
|
|
44
|
+
|-----------|----------|-----------|
|
|
45
|
+
| Next.js | Full-stack React, SSR, API routes | React ecosystem, Vercel |
|
|
46
|
+
| Nuxt 3 | Full-stack Vue, SSR | Vue ecosystem |
|
|
47
|
+
| SvelteKit | Performance-focused, smaller teams | Svelte ecosystem |
|
|
48
|
+
| Remix | Nested routes, data loading | React ecosystem |
|
|
49
|
+
|
|
50
|
+
### Backend Frameworks
|
|
51
|
+
|
|
52
|
+
| Framework | Best For | Language |
|
|
53
|
+
|-----------|----------|----------|
|
|
54
|
+
| Express.js | Flexible, minimal | Node.js/TS |
|
|
55
|
+
| FastAPI | High-perf APIs, Python ML | Python |
|
|
56
|
+
| NestJS | Enterprise, structured | Node.js/TS |
|
|
57
|
+
| Django | Batteries-included, admin | Python |
|
|
58
|
+
| Go (Gin/Echo) | High concurrency | Go |
|
|
59
|
+
|
|
60
|
+
### Databases
|
|
61
|
+
|
|
62
|
+
| Database | Best For | Type |
|
|
63
|
+
|----------|----------|------|
|
|
64
|
+
| PostgreSQL | Complex queries, ACID | Relational |
|
|
65
|
+
| MySQL | Read-heavy, simple | Relational |
|
|
66
|
+
| MongoDB | Flexible schema, documents | Document |
|
|
67
|
+
| SQLite | Embedded, prototyping | Relational |
|
|
68
|
+
| Redis | Caching, sessions, pub/sub | Key-Value |
|
|
69
|
+
|
|
70
|
+
### Design Systems
|
|
71
|
+
|
|
72
|
+
| System | Best For | Framework |
|
|
73
|
+
|--------|----------|-----------|
|
|
74
|
+
| shadcn/ui | Modern, customizable | React/Next.js |
|
|
75
|
+
| Ant Design | Enterprise, data-heavy | React |
|
|
76
|
+
| Material UI | Google-style, full-featured | React |
|
|
77
|
+
| Vuetify | Material Design for Vue | Vue |
|
|
78
|
+
| Tailwind CSS | Utility-first, any framework | Any |
|
|
79
|
+
|
|
80
|
+
### Common Service Patterns
|
|
81
|
+
|
|
82
|
+
| Need | Options |
|
|
83
|
+
|------|---------|
|
|
84
|
+
| Auth | NextAuth.js, Auth0, Clerk, Supabase Auth, custom JWT |
|
|
85
|
+
| Real-time | WebSocket, Socket.io, SSE, Supabase Realtime |
|
|
86
|
+
| File Storage | S3, Cloudflare R2, Supabase Storage |
|
|
87
|
+
| Email | SendGrid, Resend, Postmark |
|
|
88
|
+
| Payments | Stripe, LemonSqueezy |
|
|
89
|
+
| Search | Algolia, Meilisearch, Elasticsearch |
|
|
90
|
+
|
|
91
|
+
### Selection Heuristics
|
|
92
|
+
|
|
93
|
+
- If the user has no strong preference, default to **Next.js + PostgreSQL + shadcn/ui + Tailwind CSS** as a general-purpose stack.
|
|
94
|
+
- If the project involves ML/AI backends, prefer **FastAPI** on the backend.
|
|
95
|
+
- If the project requires high concurrency with minimal resource usage, consider **Go**.
|
|
96
|
+
- If rapid prototyping is the goal, consider **SQLite** initially with a migration path to PostgreSQL.
|
|
97
|
+
- Always ask about deployment preferences (Vercel, AWS, self-hosted) as this influences framework choice.
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
> **Note**: Feature decomposition patterns (CRUD, SaaS, Social, E-commerce) have been moved to `feature-planner/references/decomposition-patterns.md`. Load that reference during feature decomposition phase.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Architecture Decision Capture
|
|
2
|
+
|
|
3
|
+
During planning, key **framework-level** architectural decisions may emerge. When they do, capture them in the project instruction file so all future AI sessions have this context.
|
|
4
|
+
|
|
5
|
+
## What Qualifies (ALL must apply)
|
|
6
|
+
|
|
7
|
+
Only capture decisions that are **framework-shaping** — NOT individual feature details. Qualifying categories:
|
|
8
|
+
|
|
9
|
+
| Category | Examples |
|
|
10
|
+
|----------|----------|
|
|
11
|
+
| Tech stack choices | PostgreSQL over MongoDB, React over Vue, Node.js runtime |
|
|
12
|
+
| Communication patterns | REST vs GraphQL, WebSocket vs SSE vs polling |
|
|
13
|
+
| Architectural patterns | Monorepo, microservices, monolith, event-driven |
|
|
14
|
+
| Data model strategies | Relational vs document, event sourcing, CQRS |
|
|
15
|
+
| Security architecture | JWT vs session, OAuth provider, RBAC model |
|
|
16
|
+
|
|
17
|
+
**Do NOT capture**: individual feature implementation details, UI component choices, specific API endpoint designs, or anything scoped to a single feature.
|
|
18
|
+
|
|
19
|
+
**This is conditional** — most planning sessions will NOT produce architecture decisions. Only capture when genuinely impactful decisions are made during the discussion.
|
|
20
|
+
|
|
21
|
+
## When to Capture
|
|
22
|
+
|
|
23
|
+
After Phase 2 (Confirm constraints and tech assumptions), before Phase 3 (Capture architecture decisions and finalize project brief). At this point decisions are settled.
|
|
24
|
+
|
|
25
|
+
## How to Capture
|
|
26
|
+
|
|
27
|
+
1. **Detect platform** — determine which project instruction file to update:
|
|
28
|
+
- If `.prizmkit/manifest.json` exists, read `platform` and use it as the source of truth.
|
|
29
|
+
- `codex` → append to `AGENTS.md`
|
|
30
|
+
- `claude` → append to `CLAUDE.md`
|
|
31
|
+
- `codebuddy` → append to `CODEBUDDY.md`
|
|
32
|
+
- `both` → append to `CLAUDE.md` and `CODEBUDDY.md`; `all` → append to all three files.
|
|
33
|
+
- Only when the manifest is missing, fall back to PrizmKit-owned install artifacts: `.codex/agents/*.toml`, `.claude/commands/prizm-kit.md`, `.codebuddy/skills/prizm-kit/SKILL.md`.
|
|
34
|
+
- Do not treat a generic `.agents/` directory as Codex; it may contain unrelated third-party skills.
|
|
35
|
+
- If no platform can be determined, skip (no project instruction file).
|
|
36
|
+
|
|
37
|
+
2. **Check for existing section** — read the target file and look for `### Architecture Decisions` heading:
|
|
38
|
+
- If heading exists → append new entries below it (avoid duplicates with existing entries)
|
|
39
|
+
- If heading does not exist → create it at the end of the file
|
|
40
|
+
|
|
41
|
+
3. **Format** — one line per decision, no feature IDs:
|
|
42
|
+
```markdown
|
|
43
|
+
### Architecture Decisions
|
|
44
|
+
- WebSocket for real-time: sub-second latency required for collaboration features
|
|
45
|
+
- PostgreSQL: relational data model with complex queries, ACID compliance needed
|
|
46
|
+
- Monorepo structure: shared types between frontend and backend
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
4. **User confirmation** — before writing, show the collected decisions and ask:
|
|
50
|
+
> "These architecture decisions were identified during planning. Record them to [AGENTS.md / CLAUDE.md / CODEBUDDY.md]? (Y/n)"
|
|
51
|
+
|
|
52
|
+
If user declines, skip without further prompting.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Brainstorm Guide — Structured Ideation Before Implementation
|
|
2
|
+
|
|
3
|
+
> Separate WHAT from HOW. Explore the problem space before committing to a solution.
|
|
4
|
+
|
|
5
|
+
This guide provides the structured brainstorming framework used in Phase 1 of the workflow.
|
|
6
|
+
The AI facilitates this process as a **design collaborator**, not a builder.
|
|
7
|
+
|
|
8
|
+
## Four Phases
|
|
9
|
+
|
|
10
|
+
### Phase A: Assess Clarity
|
|
11
|
+
|
|
12
|
+
Evaluate the user's initial goal statement:
|
|
13
|
+
|
|
14
|
+
- **Clear** — Specific and actionable (e.g., "add JWT auth to the API")
|
|
15
|
+
- **Vague** — Direction exists but needs narrowing (e.g., "improve security")
|
|
16
|
+
- **Exploring** — No firm goal yet, just a direction (e.g., "something with auth")
|
|
17
|
+
|
|
18
|
+
If **vague** or **exploring**, ask follow-up questions to sharpen the goal.
|
|
19
|
+
Do NOT proceed until there is a concrete, testable problem statement (one sentence).
|
|
20
|
+
|
|
21
|
+
### Phase B: Understand the Idea
|
|
22
|
+
|
|
23
|
+
Answer these questions (use codebase exploration as needed):
|
|
24
|
+
|
|
25
|
+
1. **What problem does this solve?** — State the pain point in concrete terms.
|
|
26
|
+
2. **Who benefits?** — End users, developers, operators?
|
|
27
|
+
3. **What exists today?** — Current state, prior art in the codebase, adjacent systems.
|
|
28
|
+
4. **What constraints matter?** — Performance, compatibility, security, timeline.
|
|
29
|
+
|
|
30
|
+
Non-functional requirements to explicitly clarify or propose defaults for:
|
|
31
|
+
- Performance expectations
|
|
32
|
+
- Scale (users, data, traffic)
|
|
33
|
+
- Security or privacy constraints
|
|
34
|
+
- Reliability / availability needs
|
|
35
|
+
- Maintenance and ownership expectations
|
|
36
|
+
|
|
37
|
+
If the user is unsure on any point, propose reasonable defaults and clearly mark them as **assumptions**.
|
|
38
|
+
|
|
39
|
+
Summarize findings before moving on. If anything is unclear, ask.
|
|
40
|
+
|
|
41
|
+
### Phase C: Explore Approaches
|
|
42
|
+
|
|
43
|
+
Generate **2-3 distinct approaches**. For each:
|
|
44
|
+
|
|
45
|
+
- **Name** — Short label (e.g., "JWT middleware", "OAuth proxy")
|
|
46
|
+
- **How it works** — 2-3 sentences
|
|
47
|
+
- **Pros** — What it gets right
|
|
48
|
+
- **Cons** — What it gets wrong or defers
|
|
49
|
+
- **Effort** — Rough scope (small / medium / large)
|
|
50
|
+
|
|
51
|
+
#### Adversarial Critique (Red Team)
|
|
52
|
+
|
|
53
|
+
Before asking the user to choose, stress-test each approach using the red team checklist
|
|
54
|
+
(`references/red-team-checklist.md`):
|
|
55
|
+
|
|
56
|
+
1. What breaks first?
|
|
57
|
+
2. What's the hidden cost?
|
|
58
|
+
3. What assumption is wrong?
|
|
59
|
+
4. Who disagrees?
|
|
60
|
+
|
|
61
|
+
Mark any approach that fails 2+ red team questions as **HIGH RISK**.
|
|
62
|
+
If all approaches fail, generate a hybrid addressing the weaknesses.
|
|
63
|
+
|
|
64
|
+
Present the comparison and let the user pick an approach or request a hybrid.
|
|
65
|
+
|
|
66
|
+
### Phase D: Capture Design
|
|
67
|
+
|
|
68
|
+
Produce a structured summary:
|
|
69
|
+
|
|
70
|
+
```markdown
|
|
71
|
+
## Problem Statement
|
|
72
|
+
[One sentence, testable]
|
|
73
|
+
|
|
74
|
+
## Approaches Considered
|
|
75
|
+
[2-3 approaches with pros/cons/effort]
|
|
76
|
+
|
|
77
|
+
## Selected Approach
|
|
78
|
+
[User's choice + rationale]
|
|
79
|
+
|
|
80
|
+
## Assumptions
|
|
81
|
+
[All assumptions explicitly listed]
|
|
82
|
+
|
|
83
|
+
## Open Questions
|
|
84
|
+
[Unresolved items, if any]
|
|
85
|
+
|
|
86
|
+
## Key Decisions
|
|
87
|
+
[What was decided and why — alternatives and rationale]
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
This summary becomes the input for the next phase (specification or planning).
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Rules
|
|
95
|
+
|
|
96
|
+
- Ask as many questions as needed — no rushing
|
|
97
|
+
- One topic at a time for complex clarifications
|
|
98
|
+
- Prefer multiple-choice questions when possible
|
|
99
|
+
- Assumptions must be explicit, never silent
|
|
100
|
+
- YAGNI ruthlessly — avoid premature complexity
|
|
101
|
+
- Do NOT implement, code, or modify behavior during brainstorming
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Frontend Design Guide — High-Quality UI Implementation
|
|
2
|
+
|
|
3
|
+
> Create distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics.
|
|
4
|
+
|
|
5
|
+
**app-planner context**: In the planning phase, use this guide to establish **design direction decisions** (aesthetic tone, typography approach, color strategy, layout philosophy). Do NOT produce CSS, code, or implementation artifacts — capture the design direction as decisions in the project instruction file (`AGENTS.md` / `CLAUDE.md` / `CODEBUDDY.md`). Downstream implementation skills will consume these decisions when building features.
|
|
6
|
+
|
|
7
|
+
Load this guide **only when the feature involves frontend/UI work**. Skip for backend-only or infrastructure features.
|
|
8
|
+
|
|
9
|
+
## Context Gathering (Required Before Design)
|
|
10
|
+
|
|
11
|
+
Before any UI design work, gather:
|
|
12
|
+
- **Target audience**: Who uses this product and in what context?
|
|
13
|
+
- **Use cases**: What jobs are they trying to get done?
|
|
14
|
+
- **Brand personality/tone**: How should the interface feel?
|
|
15
|
+
|
|
16
|
+
You cannot infer this from codebase alone — ask the user.
|
|
17
|
+
|
|
18
|
+
## Design Direction
|
|
19
|
+
|
|
20
|
+
Commit to a **bold** aesthetic direction:
|
|
21
|
+
- **Purpose**: What problem does this interface solve? Who uses it?
|
|
22
|
+
- **Tone**: Pick an intentional aesthetic — minimalist, editorial, brutalist, organic, luxury, playful, retro-futuristic, industrial, art deco, etc.
|
|
23
|
+
- **Differentiation**: What makes this unforgettable?
|
|
24
|
+
|
|
25
|
+
## Typography
|
|
26
|
+
|
|
27
|
+
- Choose distinctive fonts. Pair a display font with a refined body font.
|
|
28
|
+
- Use a modular type scale with fluid sizing (`clamp()`)
|
|
29
|
+
- Vary font weights and sizes for clear visual hierarchy
|
|
30
|
+
- Avoid overused fonts: Inter, Roboto, Arial, Open Sans, system defaults
|
|
31
|
+
- Avoid monospace as lazy shorthand for "technical" vibes
|
|
32
|
+
|
|
33
|
+
## Color & Theme
|
|
34
|
+
|
|
35
|
+
- Use modern CSS color functions (oklch, color-mix, light-dark)
|
|
36
|
+
- Tint neutrals toward brand hue for subconscious cohesion
|
|
37
|
+
- Avoid: pure black (#000) or pure white (#fff) — always tint
|
|
38
|
+
- Avoid: the AI palette (cyan-on-dark, purple-to-blue gradients, neon accents on dark)
|
|
39
|
+
- Avoid: gradient text for "impact", default dark mode with glowing accents
|
|
40
|
+
|
|
41
|
+
## Layout & Space
|
|
42
|
+
|
|
43
|
+
- Create visual rhythm through varied spacing — not uniform padding
|
|
44
|
+
- Use fluid spacing with `clamp()` that breathes on larger screens
|
|
45
|
+
- Embrace asymmetry and unexpected compositions
|
|
46
|
+
- Avoid: wrapping everything in cards, nesting cards, identical card grids
|
|
47
|
+
- Avoid: centering everything, uniform spacing
|
|
48
|
+
|
|
49
|
+
## Motion
|
|
50
|
+
|
|
51
|
+
- Focus on high-impact moments: one well-orchestrated page load > scattered micro-interactions
|
|
52
|
+
- Use exponential easing for natural deceleration
|
|
53
|
+
- Use `transform` and `opacity` only — avoid animating layout properties
|
|
54
|
+
- Avoid: bounce/elastic easing, excessive animations
|
|
55
|
+
|
|
56
|
+
## Interaction
|
|
57
|
+
|
|
58
|
+
- Use progressive disclosure — start simple, reveal complexity through interaction
|
|
59
|
+
- Design empty states that teach the interface
|
|
60
|
+
- Use optimistic UI — update immediately, sync later
|
|
61
|
+
- Avoid: making every button primary, redundant headers
|
|
62
|
+
|
|
63
|
+
## Responsive
|
|
64
|
+
|
|
65
|
+
- Use container queries (`@container`) for component-level responsiveness
|
|
66
|
+
- Adapt the interface for different contexts, don't just shrink it
|
|
67
|
+
- Never hide critical functionality on mobile
|
|
68
|
+
|
|
69
|
+
## The AI Slop Test
|
|
70
|
+
|
|
71
|
+
If you showed this interface to someone and said "AI made this", would they believe you immediately? If yes, redesign. A distinctive interface should make someone ask "how was this made?" not "which AI made this?"
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Project Brief Template
|
|
2
|
+
|
|
3
|
+
> Capture the user's key product ideas as a simple checklist. Each line is one idea. This file is referenced by `root.prizm` (`PROJECT_BRIEF:`) so every new AI session automatically knows the project's goals.
|
|
4
|
+
|
|
5
|
+
## File Location
|
|
6
|
+
|
|
7
|
+
`.prizmkit/plans/project-brief.md`
|
|
8
|
+
|
|
9
|
+
## Format
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# Project Brief
|
|
13
|
+
|
|
14
|
+
[ ] Core product idea or constraint
|
|
15
|
+
[ ] Another product idea
|
|
16
|
+
[ ] Third idea — one sentence, no sub-bullets
|
|
17
|
+
[x] Already implemented feature -> src/feature/, src/utils/helper.ts
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Rules
|
|
21
|
+
|
|
22
|
+
1. **First line**: `# Project Brief`
|
|
23
|
+
2. **Remaining lines**: One idea per line, prefixed with `[ ]` (pending) or `[x]` (done)
|
|
24
|
+
3. Each line is **one sentence** — no paragraphs, no sub-bullets, no grouping headers
|
|
25
|
+
4. Language: match the user's language (Chinese or English)
|
|
26
|
+
5. **Size limit**: 500 words max (this file is injected into every session's context window)
|
|
27
|
+
6. **Completion marking** (mandatory): When a brief item is implemented:
|
|
28
|
+
- Change `[ ]` to `[x]`
|
|
29
|
+
- Append `->` followed by the **key file or directory paths** that implement it
|
|
30
|
+
- List the most important 1-3 paths only (entry point, core module, or directory) — not every touched file
|
|
31
|
+
- Example: `[x] User authentication with OAuth -> src/auth/, src/middleware/auth.ts`
|
|
32
|
+
- This lets future AI sessions instantly locate the implementation without re-scanning
|
|
33
|
+
|
|
34
|
+
## Brownfield Init
|
|
35
|
+
|
|
36
|
+
When initializing an existing project, AI infers the brief from:
|
|
37
|
+
- Generated `root.prizm` (tech stack, module structure)
|
|
38
|
+
- `README.md` (if exists)
|
|
39
|
+
- Package metadata (`package.json` description, `pyproject.toml`, etc.)
|
|
40
|
+
|
|
41
|
+
Then presents the draft to the user for confirmation and editing.
|
|
42
|
+
|
|
43
|
+
## Greenfield Init
|
|
44
|
+
|
|
45
|
+
When initializing a new/empty project, use **progressive questioning** to fully understand the user's intent before generating the brief. Do NOT dump all questions at once — ask in rounds, adapting based on answers.
|
|
46
|
+
|
|
47
|
+
### Round 1: Problem & Vision (required)
|
|
48
|
+
- What problem does this project solve? (or: what's the core idea?)
|
|
49
|
+
- Who is the target user / audience?
|
|
50
|
+
|
|
51
|
+
### Round 2: Scope & Features (required)
|
|
52
|
+
- What are the 3-5 core features or capabilities? (ask user to list them)
|
|
53
|
+
- What is the MVP scope? (what's the minimum version that delivers value?)
|
|
54
|
+
- Are there any explicit non-goals? (things this project deliberately does NOT do)
|
|
55
|
+
|
|
56
|
+
### Round 3: Technical Constraints (if user has preferences)
|
|
57
|
+
- Any preferred tech stack / language / framework?
|
|
58
|
+
- Any integration requirements? (third-party APIs, databases, auth providers)
|
|
59
|
+
- Deployment target? (web app, mobile, CLI, library, self-hosted, cloud)
|
|
60
|
+
|
|
61
|
+
### Round 4: Clarification (adaptive — only if gaps remain)
|
|
62
|
+
If previous answers are vague or incomplete, probe deeper:
|
|
63
|
+
- "You mentioned X — can you give a concrete example of how a user would use it?"
|
|
64
|
+
- "Are there existing tools that do something similar? How is yours different?"
|
|
65
|
+
- "What does success look like for V1?"
|
|
66
|
+
|
|
67
|
+
### Completion Criteria
|
|
68
|
+
Stop asking when ALL of these are clear:
|
|
69
|
+
1. **Problem** — what pain point or opportunity this addresses
|
|
70
|
+
2. **Users** — who will use it and in what context
|
|
71
|
+
3. **Core features** — at least 3 concrete capabilities (not vague aspirations)
|
|
72
|
+
4. **Boundaries** — what's in scope vs. out of scope for V1
|
|
73
|
+
5. **Technical direction** — enough to populate `config.json` tech_stack (or explicitly deferred)
|
|
74
|
+
|
|
75
|
+
If the user gives short/vague answers, don't accept them — rephrase and ask again. A weak brief leads to weak specs downstream.
|
|
76
|
+
|
|
77
|
+
### Generate & Confirm
|
|
78
|
+
Once all criteria are met:
|
|
79
|
+
1. Generate brief in checklist format (see Format section above)
|
|
80
|
+
2. Present to user with: "Here's what I captured — anything to add, remove, or change?"
|
|
81
|
+
3. Apply edits and write to `.prizmkit/plans/project-brief.md`
|
|
82
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Red Team Checklist for Ideation
|
|
2
|
+
|
|
3
|
+
Use these questions to stress-test approaches during brainstorm Phase C.
|
|
4
|
+
|
|
5
|
+
## Structural Questions
|
|
6
|
+
|
|
7
|
+
1. **What breaks first?** — Identify the weakest link under stress (load, concurrency, edge cases, adversarial input). If you can't name a specific failure mode, the approach is under-specified.
|
|
8
|
+
|
|
9
|
+
2. **What's the hidden cost?** — Every approach has costs beyond implementation time: maintenance burden, cognitive load for new contributors, infrastructure requirements, monitoring needs, migration complexity.
|
|
10
|
+
|
|
11
|
+
3. **What assumption is wrong?** — List the unstated assumptions. Which one, if false, invalidates the approach? Common false assumptions: "the API won't change", "data fits in memory", "users will read the docs", "this library is maintained".
|
|
12
|
+
|
|
13
|
+
4. **Who disagrees?** — Steel-man the opposing view. A performance engineer and a UX designer will critique the same approach differently. What does the most skeptical qualified person say?
|
|
14
|
+
|
|
15
|
+
## Scoring
|
|
16
|
+
|
|
17
|
+
| Red Team Failures | Classification |
|
|
18
|
+
|-------------------|---------------|
|
|
19
|
+
| 0 | Strong approach |
|
|
20
|
+
| 1 | Viable with mitigation |
|
|
21
|
+
| 2+ | HIGH RISK — needs rethinking or mitigation plan |
|
|
22
|
+
|
|
23
|
+
## When All Approaches Are HIGH RISK
|
|
24
|
+
|
|
25
|
+
If every approach fails 2+ questions, the problem statement may be wrong. Consider:
|
|
26
|
+
- Is the goal too broad? Split it.
|
|
27
|
+
- Is there a constraint you haven't stated? Surface it.
|
|
28
|
+
- Generate a hybrid approach that addresses the specific red team failures.
|
|
29
|
+
|
|
30
|
+
## Common False Assumptions
|
|
31
|
+
|
|
32
|
+
| Assumption | Why It Fails |
|
|
33
|
+
|-----------|-------------|
|
|
34
|
+
| "The API won't change" | External APIs change without notice; pin versions and add contract tests |
|
|
35
|
+
| "Data fits in memory" | Works in dev, breaks in prod when dataset grows 10x |
|
|
36
|
+
| "Users will read the docs" | They won't; make the happy path obvious and errors informative |
|
|
37
|
+
| "This library is maintained" | Check commit history; many popular libraries are effectively abandoned |
|
|
38
|
+
| "We can refactor later" | Technical debt compounds; later never comes without explicit scheduling |
|
|
39
|
+
| "Performance doesn't matter yet" | Architecture decisions that ignore performance are expensive to fix |
|
|
40
|
+
| "The team will adopt it" | New tools need champions, training, and visible wins to gain traction |
|