achira-wf 3.1.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/.achira/ARCHITECTURE.md +296 -0
- package/.achira/core/agents/backend-specialist.md +263 -0
- package/.achira/core/agents/code-archaeologist.md +106 -0
- package/.achira/core/agents/database-architect.md +226 -0
- package/.achira/core/agents/debugger.md +225 -0
- package/.achira/core/agents/devops-engineer.md +242 -0
- package/.achira/core/agents/documentation-writer.md +104 -0
- package/.achira/core/agents/explorer-agent.md +73 -0
- package/.achira/core/agents/frontend-specialist.md +593 -0
- package/.achira/core/agents/game-developer.md +162 -0
- package/.achira/core/agents/mobile-developer.md +377 -0
- package/.achira/core/agents/orchestrator.md +416 -0
- package/.achira/core/agents/penetration-tester.md +188 -0
- package/.achira/core/agents/performance-optimizer.md +187 -0
- package/.achira/core/agents/product-manager.md +112 -0
- package/.achira/core/agents/product-owner.md +95 -0
- package/.achira/core/agents/project-planner.md +413 -0
- package/.achira/core/agents/qa-automation-engineer.md +103 -0
- package/.achira/core/agents/security-auditor.md +170 -0
- package/.achira/core/agents/seo-specialist.md +111 -0
- package/.achira/core/agents/test-engineer.md +158 -0
- package/.achira/core/mcp_config.json +24 -0
- package/.achira/core/shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/.achira/core/shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/.achira/core/shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/.achira/core/shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/.achira/core/shared/ui-ux-pro-max/data/products.csv +97 -0
- package/.achira/core/shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.achira/core/shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.achira/core/shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.achira/core/shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/.achira/core/shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/.achira/core/shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.achira/core/shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.achira/core/shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.achira/core/shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
- package/.achira/core/shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
- package/.achira/core/shared/ui-ux-pro-max/scripts/__pycache__/generate_theme.cpython-314.pyc +0 -0
- package/.achira/core/shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/.achira/core/shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.achira/core/shared/ui-ux-pro-max/scripts/generate_theme.py +99 -0
- package/.achira/core/shared/ui-ux-pro-max/scripts/search.py +106 -0
- package/.achira/core/skills/api-patterns/SKILL.md +81 -0
- package/.achira/core/skills/api-patterns/api-style.md +42 -0
- package/.achira/core/skills/api-patterns/auth.md +24 -0
- package/.achira/core/skills/api-patterns/documentation.md +26 -0
- package/.achira/core/skills/api-patterns/graphql.md +41 -0
- package/.achira/core/skills/api-patterns/rate-limiting.md +31 -0
- package/.achira/core/skills/api-patterns/response.md +37 -0
- package/.achira/core/skills/api-patterns/rest.md +40 -0
- package/.achira/core/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.achira/core/skills/api-patterns/security-testing.md +122 -0
- package/.achira/core/skills/api-patterns/trpc.md +41 -0
- package/.achira/core/skills/api-patterns/versioning.md +22 -0
- package/.achira/core/skills/app-builder/SKILL.md +98 -0
- package/.achira/core/skills/app-builder/agent-coordination.md +71 -0
- package/.achira/core/skills/app-builder/feature-building.md +53 -0
- package/.achira/core/skills/app-builder/project-detection.md +34 -0
- package/.achira/core/skills/app-builder/scaffolding.md +118 -0
- package/.achira/core/skills/app-builder/tech-stack.md +40 -0
- package/.achira/core/skills/app-builder/templates/SKILL.md +39 -0
- package/.achira/core/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.achira/core/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.achira/core/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.achira/core/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.achira/core/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.achira/core/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.achira/core/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.achira/core/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/.achira/core/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/.achira/core/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/.achira/core/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/.achira/core/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.achira/core/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/.achira/core/skills/architecture/SKILL.md +55 -0
- package/.achira/core/skills/architecture/context-discovery.md +43 -0
- package/.achira/core/skills/architecture/examples.md +94 -0
- package/.achira/core/skills/architecture/pattern-selection.md +68 -0
- package/.achira/core/skills/architecture/patterns-reference.md +50 -0
- package/.achira/core/skills/architecture/trade-off-analysis.md +77 -0
- package/.achira/core/skills/bash-linux/SKILL.md +199 -0
- package/.achira/core/skills/behavioral-modes/SKILL.md +242 -0
- package/.achira/core/skills/brainstorming/SKILL.md +163 -0
- package/.achira/core/skills/brainstorming/dynamic-questioning.md +350 -0
- package/.achira/core/skills/clean-code/SKILL.md +201 -0
- package/.achira/core/skills/code-review-checklist/SKILL.md +109 -0
- package/.achira/core/skills/database-design/SKILL.md +52 -0
- package/.achira/core/skills/database-design/database-selection.md +43 -0
- package/.achira/core/skills/database-design/indexing.md +39 -0
- package/.achira/core/skills/database-design/migrations.md +48 -0
- package/.achira/core/skills/database-design/optimization.md +36 -0
- package/.achira/core/skills/database-design/orm-selection.md +30 -0
- package/.achira/core/skills/database-design/schema-design.md +56 -0
- package/.achira/core/skills/database-design/scripts/schema_validator.py +172 -0
- package/.achira/core/skills/deployment-procedures/SKILL.md +241 -0
- package/.achira/core/skills/doc.md +177 -0
- package/.achira/core/skills/documentation-templates/SKILL.md +194 -0
- package/.achira/core/skills/frontend-design/SKILL.md +418 -0
- package/.achira/core/skills/frontend-design/animation-guide.md +331 -0
- package/.achira/core/skills/frontend-design/color-system.md +311 -0
- package/.achira/core/skills/frontend-design/decision-trees.md +418 -0
- package/.achira/core/skills/frontend-design/motion-graphics.md +306 -0
- package/.achira/core/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.achira/core/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/.achira/core/skills/frontend-design/typography-system.md +345 -0
- package/.achira/core/skills/frontend-design/ux-psychology.md +1116 -0
- package/.achira/core/skills/frontend-design/visual-effects.md +383 -0
- package/.achira/core/skills/game-development/2d-games/SKILL.md +119 -0
- package/.achira/core/skills/game-development/3d-games/SKILL.md +135 -0
- package/.achira/core/skills/game-development/SKILL.md +167 -0
- package/.achira/core/skills/game-development/game-art/SKILL.md +185 -0
- package/.achira/core/skills/game-development/game-audio/SKILL.md +190 -0
- package/.achira/core/skills/game-development/game-design/SKILL.md +129 -0
- package/.achira/core/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.achira/core/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.achira/core/skills/game-development/pc-games/SKILL.md +144 -0
- package/.achira/core/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.achira/core/skills/game-development/web-games/SKILL.md +150 -0
- package/.achira/core/skills/geo-fundamentals/SKILL.md +156 -0
- package/.achira/core/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.achira/core/skills/i18n-localization/SKILL.md +154 -0
- package/.achira/core/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.achira/core/skills/intelligent-routing/SKILL.md +335 -0
- package/.achira/core/skills/lint-and-validate/SKILL.md +45 -0
- package/.achira/core/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/.achira/core/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.achira/core/skills/mcp-builder/SKILL.md +176 -0
- package/.achira/core/skills/mobile-design/SKILL.md +394 -0
- package/.achira/core/skills/mobile-design/decision-trees.md +516 -0
- package/.achira/core/skills/mobile-design/mobile-backend.md +491 -0
- package/.achira/core/skills/mobile-design/mobile-color-system.md +420 -0
- package/.achira/core/skills/mobile-design/mobile-debugging.md +122 -0
- package/.achira/core/skills/mobile-design/mobile-design-thinking.md +357 -0
- package/.achira/core/skills/mobile-design/mobile-navigation.md +458 -0
- package/.achira/core/skills/mobile-design/mobile-performance.md +767 -0
- package/.achira/core/skills/mobile-design/mobile-testing.md +356 -0
- package/.achira/core/skills/mobile-design/mobile-typography.md +433 -0
- package/.achira/core/skills/mobile-design/platform-android.md +666 -0
- package/.achira/core/skills/mobile-design/platform-ios.md +561 -0
- package/.achira/core/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.achira/core/skills/mobile-design/touch-psychology.md +537 -0
- package/.achira/core/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
- package/.achira/core/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
- package/.achira/core/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
- package/.achira/core/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
- package/.achira/core/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/.achira/core/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
- package/.achira/core/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
- package/.achira/core/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
- package/.achira/core/skills/nextjs-react-expert/SKILL.md +286 -0
- package/.achira/core/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/.achira/core/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/.achira/core/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.achira/core/skills/parallel-agents/SKILL.md +175 -0
- package/.achira/core/skills/performance-profiling/SKILL.md +143 -0
- package/.achira/core/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.achira/core/skills/plan-writing/SKILL.md +152 -0
- package/.achira/core/skills/powershell-windows/SKILL.md +167 -0
- package/.achira/core/skills/project-setup/SKILL.md +291 -0
- package/.achira/core/skills/python-patterns/SKILL.md +441 -0
- package/.achira/core/skills/red-team-tactics/SKILL.md +199 -0
- package/.achira/core/skills/rust-pro/SKILL.md +176 -0
- package/.achira/core/skills/seo-fundamentals/SKILL.md +129 -0
- package/.achira/core/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/.achira/core/skills/server-management/SKILL.md +161 -0
- package/.achira/core/skills/systematic-debugging/SKILL.md +109 -0
- package/.achira/core/skills/tailwind-patterns/SKILL.md +269 -0
- package/.achira/core/skills/tdd-workflow/SKILL.md +149 -0
- package/.achira/core/skills/testing-patterns/SKILL.md +178 -0
- package/.achira/core/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.achira/core/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.achira/core/skills/vulnerability-scanner/checklists.md +121 -0
- package/.achira/core/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/.achira/core/skills/web-design-guidelines/SKILL.md +57 -0
- package/.achira/core/skills/webapp-testing/SKILL.md +187 -0
- package/.achira/core/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.achira/rules/GEMINI.md +273 -0
- package/.achira/scripts/__pycache__/checklist.cpython-314.pyc +0 -0
- package/.achira/scripts/__pycache__/shared_utils.cpython-314.pyc +0 -0
- package/.achira/scripts/__pycache__/verify_all.cpython-314.pyc +0 -0
- package/.achira/scripts/auto_preview.py +148 -0
- package/.achira/scripts/checklist.py +193 -0
- package/.achira/scripts/session_manager.py +120 -0
- package/.achira/scripts/shared_utils.py +64 -0
- package/.achira/scripts/verify_all.py +304 -0
- package/.achira/workflows/brainstorm.md +113 -0
- package/.achira/workflows/create.md +59 -0
- package/.achira/workflows/debug.md +103 -0
- package/.achira/workflows/deploy.md +176 -0
- package/.achira/workflows/enhance.md +63 -0
- package/.achira/workflows/html+js+css.md +363 -0
- package/.achira/workflows/next.js.md +316 -0
- package/.achira/workflows/orchestrate.md +237 -0
- package/.achira/workflows/plan.md +89 -0
- package/.achira/workflows/preview.md +81 -0
- package/.achira/workflows/react+vite.md +280 -0
- package/.achira/workflows/registry.json +35 -0
- package/.achira/workflows/status.md +86 -0
- package/.achira/workflows/test.md +144 -0
- package/.achira/workflows/ui-ux-pro-max.md +296 -0
- package/.agent/workflows/brainstorm.md +113 -0
- package/.agent/workflows/create.md +59 -0
- package/.agent/workflows/debug.md +103 -0
- package/.agent/workflows/deploy.md +176 -0
- package/.agent/workflows/enhance.md +63 -0
- package/.agent/workflows/html+js+css.md +363 -0
- package/.agent/workflows/next.js.md +316 -0
- package/.agent/workflows/orchestrate.md +237 -0
- package/.agent/workflows/plan.md +89 -0
- package/.agent/workflows/preview.md +81 -0
- package/.agent/workflows/react+vite.md +280 -0
- package/.agent/workflows/status.md +86 -0
- package/.agent/workflows/test.md +144 -0
- package/.agent/workflows/ui-ux-pro-max.md +296 -0
- package/LICENSE +21 -0
- package/README.md +110 -0
- package/cli.js +293 -0
- package/package.json +48 -0
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Scaffold a scalable, production-ready Next.js App Router project with feature-based architecture.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
// turbo-all
|
|
6
|
+
|
|
7
|
+
## Goals
|
|
8
|
+
|
|
9
|
+
- App Router for routing + layouts
|
|
10
|
+
- Feature-based domain grouping
|
|
11
|
+
- Clear Server vs. Client Component boundaries
|
|
12
|
+
- Scalable from side project to SaaS
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 1. Create the Next.js Project
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
npx -y create-next-app@latest ./ --typescript --eslint --tailwind=false --app --src-dir --import-alias "@/*" --use-npm
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 2. Install Core Dependencies
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
npm install axios lucide-react zod zustand
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 3. Create the Full Directory Structure
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
mkdir src/components/ui src/components/layout src/components/feature
|
|
36
|
+
mkdir src/features/auth src/features/user
|
|
37
|
+
mkdir src/lib src/hooks src/services src/store src/styles src/types
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Full structure:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
src/
|
|
44
|
+
├── app/ # Next.js App Router (routing only)
|
|
45
|
+
│ ├── layout.tsx
|
|
46
|
+
│ ├── page.tsx
|
|
47
|
+
│ ├── globals.css
|
|
48
|
+
│ ├── (marketing)/ # Public-facing route group
|
|
49
|
+
│ │ └── page.tsx
|
|
50
|
+
│ ├── (dashboard)/ # Authenticated route group
|
|
51
|
+
│ │ └── layout.tsx
|
|
52
|
+
│ └── api/ # Route handlers
|
|
53
|
+
│
|
|
54
|
+
├── components/ # Shared UI
|
|
55
|
+
│ ├── ui/ # Primitives: Button, Card, Modal
|
|
56
|
+
│ ├── layout/ # Navbar, Sidebar, Footer
|
|
57
|
+
│ └── feature/ # Composed feature-specific UI
|
|
58
|
+
│
|
|
59
|
+
├── features/ # Feature-based domain logic
|
|
60
|
+
│ ├── auth/
|
|
61
|
+
│ │ ├── components/
|
|
62
|
+
│ │ ├── hooks/
|
|
63
|
+
│ │ ├── actions.ts # Server Actions (Mutations)
|
|
64
|
+
│ │ ├── service.ts
|
|
65
|
+
│ │ └── types.ts
|
|
66
|
+
│ └── user/
|
|
67
|
+
│ ├── components/
|
|
68
|
+
│ ├── hooks/
|
|
69
|
+
│ ├── service.ts
|
|
70
|
+
│ └── types.ts
|
|
71
|
+
│
|
|
72
|
+
├── lib/ # Shared utilities (no external deps)
|
|
73
|
+
│ ├── fetcher.ts
|
|
74
|
+
│ ├── constants.ts
|
|
75
|
+
│ ├── validators.ts
|
|
76
|
+
│ └── env.ts # Zod-validated environment variables
|
|
77
|
+
│
|
|
78
|
+
├── hooks/ # Global shared React hooks
|
|
79
|
+
├── services/ # External API integrations
|
|
80
|
+
├── store/ # Global state (Zustand)
|
|
81
|
+
├── styles/ # CSS Modules for complex, shared styles
|
|
82
|
+
└── types/ # Global TypeScript type definitions
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 4. Set Up `src/app/globals.css`
|
|
88
|
+
|
|
89
|
+
Replace default globals with a clean token-based reset.
|
|
90
|
+
|
|
91
|
+
```css
|
|
92
|
+
*,
|
|
93
|
+
*::before,
|
|
94
|
+
*::after {
|
|
95
|
+
margin: 0;
|
|
96
|
+
padding: 0;
|
|
97
|
+
box-sizing: border-box;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
html {
|
|
101
|
+
font-size: 16px;
|
|
102
|
+
scroll-behavior: smooth;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
img,
|
|
106
|
+
picture,
|
|
107
|
+
video,
|
|
108
|
+
canvas,
|
|
109
|
+
svg {
|
|
110
|
+
display: block;
|
|
111
|
+
max-width: 100%;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
button {
|
|
115
|
+
cursor: pointer;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
:root {
|
|
119
|
+
--color-primary: #6366f1;
|
|
120
|
+
--color-bg: #ffffff;
|
|
121
|
+
--color-text: #111827;
|
|
122
|
+
--font-sans: var(--font-geist-sans), system-ui, sans-serif;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
@media (prefers-color-scheme: dark) {
|
|
126
|
+
:root {
|
|
127
|
+
--color-bg: #0f172a;
|
|
128
|
+
--color-text: #f8fafc;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
body {
|
|
133
|
+
font-family: var(--font-sans);
|
|
134
|
+
background-color: var(--color-bg);
|
|
135
|
+
color: var(--color-text);
|
|
136
|
+
line-height: 1.6;
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 5. Create Root Layout `src/app/layout.tsx`
|
|
143
|
+
|
|
144
|
+
```tsx
|
|
145
|
+
import type { Metadata } from "next";
|
|
146
|
+
import "./globals.css";
|
|
147
|
+
|
|
148
|
+
export const metadata: Metadata = {
|
|
149
|
+
title: "My App",
|
|
150
|
+
description: "Generated with achira-wf",
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
export default function RootLayout({
|
|
154
|
+
children,
|
|
155
|
+
}: {
|
|
156
|
+
children: React.ReactNode;
|
|
157
|
+
}) {
|
|
158
|
+
return (
|
|
159
|
+
<html lang="en">
|
|
160
|
+
<body>{children}</body>
|
|
161
|
+
</html>
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 6. Create Home Page `src/app/page.tsx`
|
|
169
|
+
|
|
170
|
+
```tsx
|
|
171
|
+
export default function HomePage() {
|
|
172
|
+
return (
|
|
173
|
+
<main>
|
|
174
|
+
<h1>Hello from Next.js App Router</h1>
|
|
175
|
+
</main>
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## 7. Set Up Example Feature (`auth`)
|
|
183
|
+
|
|
184
|
+
### `src/features/auth/types.ts`
|
|
185
|
+
|
|
186
|
+
```ts
|
|
187
|
+
export interface User {
|
|
188
|
+
id: string;
|
|
189
|
+
email: string;
|
|
190
|
+
name: string;
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### `src/features/auth/service.ts`
|
|
195
|
+
|
|
196
|
+
```ts
|
|
197
|
+
import axios from "axios";
|
|
198
|
+
import type { User } from "./types";
|
|
199
|
+
|
|
200
|
+
export async function getMe(): Promise<User> {
|
|
201
|
+
const { data } = await axios.get("/api/auth/me");
|
|
202
|
+
return data;
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### `src/features/auth/hooks/useUser.ts`
|
|
207
|
+
|
|
208
|
+
```ts
|
|
209
|
+
"use client";
|
|
210
|
+
import { useState, useEffect } from "react";
|
|
211
|
+
import { getMe } from "../service";
|
|
212
|
+
import type { User } from "../types";
|
|
213
|
+
|
|
214
|
+
export function useUser() {
|
|
215
|
+
const [user, setUser] = useState<User | null>(null);
|
|
216
|
+
const [loading, setLoading] = useState(true);
|
|
217
|
+
|
|
218
|
+
useEffect(() => {
|
|
219
|
+
getMe()
|
|
220
|
+
.then(setUser)
|
|
221
|
+
.finally(() => setLoading(false));
|
|
222
|
+
}, []);
|
|
223
|
+
|
|
224
|
+
return { user, loading };
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 8. Set Up Shared Lib
|
|
231
|
+
|
|
232
|
+
### `src/lib/constants.ts`
|
|
233
|
+
|
|
234
|
+
```ts
|
|
235
|
+
export const APP_NAME = "My App";
|
|
236
|
+
export const API_URL = process.env.NEXT_PUBLIC_API_URL ?? "";
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### `src/lib/fetcher.ts`
|
|
240
|
+
|
|
241
|
+
```ts
|
|
242
|
+
export async function fetcher<T>(url: string): Promise<T> {
|
|
243
|
+
const res = await fetch(url);
|
|
244
|
+
if (!res.ok) throw new Error(`Fetch error: ${res.status}`);
|
|
245
|
+
return res.json();
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### `src/lib/env.ts`
|
|
250
|
+
|
|
251
|
+
Validate environment variables at build time with Zod. Import this in `layout.tsx` or a server-only module so it runs at startup.
|
|
252
|
+
|
|
253
|
+
```ts
|
|
254
|
+
import { z } from "zod";
|
|
255
|
+
|
|
256
|
+
const envSchema = z.object({
|
|
257
|
+
NEXT_PUBLIC_API_URL: z.string().url().optional().default(""),
|
|
258
|
+
NEXT_PUBLIC_APP_ENV: z
|
|
259
|
+
.enum(["development", "staging", "production"])
|
|
260
|
+
.default("development"),
|
|
261
|
+
DATABASE_URL: z.string().min(1, "DATABASE_URL is required"),
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
export const env = envSchema.parse(process.env);
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 9. Create `.env.example`
|
|
270
|
+
|
|
271
|
+
```
|
|
272
|
+
NEXT_PUBLIC_API_URL=
|
|
273
|
+
NEXT_PUBLIC_APP_ENV=development
|
|
274
|
+
DATABASE_URL=
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 10. CSS Strategy Note
|
|
280
|
+
|
|
281
|
+
| Location | Use For |
|
|
282
|
+
| ------------------------- | --------------------------------------------------------------------------------------- |
|
|
283
|
+
| `src/app/globals.css` | CSS reset, CSS custom properties (`:root`), global body styles |
|
|
284
|
+
| `src/styles/*.module.css` | Complex, shared styles used across multiple components (e.g., form layouts, card grids) |
|
|
285
|
+
| Co-located `.module.css` | Component-specific styles that live next to their component file |
|
|
286
|
+
|
|
287
|
+
**Rule:** Default to co-located CSS Modules. Only use `src/styles/` for truly cross-cutting layouts that don't belong to any single component.
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## 11. Start the Dev Server
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
npm run dev
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Component Guidelines
|
|
300
|
+
|
|
301
|
+
| Rule | Reason |
|
|
302
|
+
| ----------------------------------------- | --------------------------------------------- |
|
|
303
|
+
| Default to **Server Components** | Better performance, less JS sent to client |
|
|
304
|
+
| Use `"use client"` only at the leaf level | Keeps SSR benefits higher in the tree |
|
|
305
|
+
| No business logic in `page.tsx` | Pages are wiring only — delegate to features |
|
|
306
|
+
| Services handle all network calls | Hooks are for state/effects, not fetching raw |
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
## Scalability Path
|
|
311
|
+
|
|
312
|
+
| Stage | Add |
|
|
313
|
+
| ---------- | -------------------------------------------------------- |
|
|
314
|
+
| Small | `app/`, `components/`, `lib/` |
|
|
315
|
+
| Growing | Introduce `features/`, `services/`, feature-scoped hooks |
|
|
316
|
+
| Enterprise | Strict feature boundaries, API abstraction, `store/` |
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Coordinate multiple agents for complex tasks. Use for multi-perspective analysis, comprehensive reviews, or tasks requiring different domain expertise.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Multi-Agent Orchestration
|
|
6
|
+
|
|
7
|
+
You are now in **ORCHESTRATION MODE**. Your task: coordinate specialized agents to solve this complex problem.
|
|
8
|
+
|
|
9
|
+
## Task to Orchestrate
|
|
10
|
+
$ARGUMENTS
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 🔴 CRITICAL: Minimum Agent Requirement
|
|
15
|
+
|
|
16
|
+
> ⚠️ **ORCHESTRATION = MINIMUM 3 DIFFERENT AGENTS**
|
|
17
|
+
>
|
|
18
|
+
> If you use fewer than 3 agents, you are NOT orchestrating - you're just delegating.
|
|
19
|
+
>
|
|
20
|
+
> **Validation before completion:**
|
|
21
|
+
> - Count invoked agents
|
|
22
|
+
> - If `agent_count < 3` → STOP and invoke more agents
|
|
23
|
+
> - Single agent = FAILURE of orchestration
|
|
24
|
+
|
|
25
|
+
### Agent Selection Matrix
|
|
26
|
+
|
|
27
|
+
| Task Type | REQUIRED Agents (minimum) |
|
|
28
|
+
|-----------|---------------------------|
|
|
29
|
+
| **Web App** | frontend-specialist, backend-specialist, test-engineer |
|
|
30
|
+
| **API** | backend-specialist, security-auditor, test-engineer |
|
|
31
|
+
| **UI/Design** | frontend-specialist, seo-specialist, performance-optimizer |
|
|
32
|
+
| **Database** | database-architect, backend-specialist, security-auditor |
|
|
33
|
+
| **Full Stack** | project-planner, frontend-specialist, backend-specialist, devops-engineer |
|
|
34
|
+
| **Debug** | debugger, explorer-agent, test-engineer |
|
|
35
|
+
| **Security** | security-auditor, penetration-tester, devops-engineer |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Pre-Flight: Mode Check
|
|
40
|
+
|
|
41
|
+
| Current Mode | Task Type | Action |
|
|
42
|
+
|--------------|-----------|--------|
|
|
43
|
+
| **plan** | Any | ✅ Proceed with planning-first approach |
|
|
44
|
+
| **edit** | Simple execution | ✅ Proceed directly |
|
|
45
|
+
| **edit** | Complex/multi-file | ⚠️ Ask: "This task requires planning. Switch to plan mode?" |
|
|
46
|
+
| **ask** | Any | ⚠️ Ask: "Ready to orchestrate. Switch to edit or plan mode?" |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 🔴 STRICT 2-PHASE ORCHESTRATION
|
|
51
|
+
|
|
52
|
+
### PHASE 1: PLANNING (Sequential - NO parallel agents)
|
|
53
|
+
|
|
54
|
+
| Step | Agent | Action |
|
|
55
|
+
|------|-------|--------|
|
|
56
|
+
| 1 | `project-planner` | Create docs/PLAN.md |
|
|
57
|
+
| 2 | (optional) `explorer-agent` | Codebase discovery if needed |
|
|
58
|
+
|
|
59
|
+
> 🔴 **NO OTHER AGENTS during planning!** Only project-planner and explorer-agent.
|
|
60
|
+
|
|
61
|
+
### ⏸️ CHECKPOINT: User Approval
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
After PLAN.md is complete, ASK:
|
|
65
|
+
|
|
66
|
+
"✅ Plan created: docs/PLAN.md
|
|
67
|
+
|
|
68
|
+
Do you approve? (Y/N)
|
|
69
|
+
- Y: Start implementation
|
|
70
|
+
- N: I'll revise the plan"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
> 🔴 **DO NOT proceed to Phase 2 without explicit user approval!**
|
|
74
|
+
|
|
75
|
+
### PHASE 2: IMPLEMENTATION (Parallel agents after approval)
|
|
76
|
+
|
|
77
|
+
| Parallel Group | Agents |
|
|
78
|
+
|----------------|--------|
|
|
79
|
+
| Foundation | `database-architect`, `security-auditor` |
|
|
80
|
+
| Core | `backend-specialist`, `frontend-specialist` |
|
|
81
|
+
| Polish | `test-engineer`, `devops-engineer` |
|
|
82
|
+
|
|
83
|
+
> ✅ After user approval, invoke multiple agents in PARALLEL.
|
|
84
|
+
|
|
85
|
+
## Available Agents (17 total)
|
|
86
|
+
|
|
87
|
+
| Agent | Domain | Use When |
|
|
88
|
+
|-------|--------|----------|
|
|
89
|
+
| `project-planner` | Planning | Task breakdown, PLAN.md |
|
|
90
|
+
| `explorer-agent` | Discovery | Codebase mapping |
|
|
91
|
+
| `frontend-specialist` | UI/UX | React, Vue, CSS, HTML |
|
|
92
|
+
| `backend-specialist` | Server | API, Node.js, Python |
|
|
93
|
+
| `database-architect` | Data | SQL, NoSQL, Schema |
|
|
94
|
+
| `security-auditor` | Security | Vulnerabilities, Auth |
|
|
95
|
+
| `penetration-tester` | Security | Active testing |
|
|
96
|
+
| `test-engineer` | Testing | Unit, E2E, Coverage |
|
|
97
|
+
| `devops-engineer` | Ops | CI/CD, Docker, Deploy |
|
|
98
|
+
| `mobile-developer` | Mobile | React Native, Flutter |
|
|
99
|
+
| `performance-optimizer` | Speed | Lighthouse, Profiling |
|
|
100
|
+
| `seo-specialist` | SEO | Meta, Schema, Rankings |
|
|
101
|
+
| `documentation-writer` | Docs | README, API docs |
|
|
102
|
+
| `debugger` | Debug | Error analysis |
|
|
103
|
+
| `game-developer` | Games | Unity, Godot |
|
|
104
|
+
| `orchestrator` | Meta | Coordination |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Orchestration Protocol
|
|
109
|
+
|
|
110
|
+
### Step 1: Analyze Task Domains
|
|
111
|
+
Identify ALL domains this task touches:
|
|
112
|
+
```
|
|
113
|
+
□ Security → security-auditor, penetration-tester
|
|
114
|
+
□ Backend/API → backend-specialist
|
|
115
|
+
□ Frontend/UI → frontend-specialist
|
|
116
|
+
□ Database → database-architect
|
|
117
|
+
□ Testing → test-engineer
|
|
118
|
+
□ DevOps → devops-engineer
|
|
119
|
+
□ Mobile → mobile-developer
|
|
120
|
+
□ Performance → performance-optimizer
|
|
121
|
+
□ SEO → seo-specialist
|
|
122
|
+
□ Planning → project-planner
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Step 2: Phase Detection
|
|
126
|
+
|
|
127
|
+
| If Plan Exists | Action |
|
|
128
|
+
|----------------|--------|
|
|
129
|
+
| NO `docs/PLAN.md` | → Go to PHASE 1 (planning only) |
|
|
130
|
+
| YES `docs/PLAN.md` + user approved | → Go to PHASE 2 (implementation) |
|
|
131
|
+
|
|
132
|
+
### Step 3: Execute Based on Phase
|
|
133
|
+
|
|
134
|
+
**PHASE 1 (Planning):**
|
|
135
|
+
```
|
|
136
|
+
Use the project-planner agent to create PLAN.md
|
|
137
|
+
→ STOP after plan is created
|
|
138
|
+
→ ASK user for approval
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**PHASE 2 (Implementation - after approval):**
|
|
142
|
+
```
|
|
143
|
+
Invoke agents in PARALLEL:
|
|
144
|
+
Use the frontend-specialist agent to [task]
|
|
145
|
+
Use the backend-specialist agent to [task]
|
|
146
|
+
Use the test-engineer agent to [task]
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**🔴 CRITICAL: Context Passing (MANDATORY)**
|
|
150
|
+
|
|
151
|
+
When invoking ANY subagent, you MUST include:
|
|
152
|
+
|
|
153
|
+
1. **Original User Request:** Full text of what user asked
|
|
154
|
+
2. **Decisions Made:** All user answers to Socratic questions
|
|
155
|
+
3. **Previous Agent Work:** Summary of what previous agents did
|
|
156
|
+
4. **Current Plan State:** If plan files exist in workspace, include them
|
|
157
|
+
|
|
158
|
+
**Example with FULL context:**
|
|
159
|
+
```
|
|
160
|
+
Use the project-planner agent to create PLAN.md:
|
|
161
|
+
|
|
162
|
+
**CONTEXT:**
|
|
163
|
+
- User Request: "A social platform for students, using mock data"
|
|
164
|
+
- Decisions: Tech=Vue 3, Layout=Grid Widgets, Auth=Mock, Design=Youthful & dynamic
|
|
165
|
+
- Previous Work: Orchestrator asked 6 questions, user chose all options
|
|
166
|
+
- Current Plan: playful-roaming-dream.md exists in workspace with initial structure
|
|
167
|
+
|
|
168
|
+
**TASK:** Create detailed PLAN.md based on ABOVE decisions. Do NOT infer from folder name.
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
> ⚠️ **VIOLATION:** Invoking subagent without full context = subagent will make wrong assumptions!
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
### Step 4: Verification (MANDATORY)
|
|
175
|
+
The LAST agent must run appropriate verification scripts:
|
|
176
|
+
```bash
|
|
177
|
+
python .achira/core/skills/vulnerability-scanner/scripts/security_scan.py .
|
|
178
|
+
python .achira/core/skills/lint-and-validate/scripts/lint_runner.py .
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Step 5: Synthesize Results
|
|
182
|
+
Combine all agent outputs into unified report.
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Output Format
|
|
187
|
+
|
|
188
|
+
```markdown
|
|
189
|
+
## 🎼 Orchestration Report
|
|
190
|
+
|
|
191
|
+
### Task
|
|
192
|
+
[Original task summary]
|
|
193
|
+
|
|
194
|
+
### Mode
|
|
195
|
+
[Current Antigravity Agent mode: plan/edit/ask]
|
|
196
|
+
|
|
197
|
+
### Agents Invoked (MINIMUM 3)
|
|
198
|
+
| # | Agent | Focus Area | Status |
|
|
199
|
+
|---|-------|------------|--------|
|
|
200
|
+
| 1 | project-planner | Task breakdown | ✅ |
|
|
201
|
+
| 2 | frontend-specialist | UI implementation | ✅ |
|
|
202
|
+
| 3 | test-engineer | Verification scripts | ✅ |
|
|
203
|
+
|
|
204
|
+
### Verification Scripts Executed
|
|
205
|
+
- [x] security_scan.py → Pass/Fail
|
|
206
|
+
- [x] lint_runner.py → Pass/Fail
|
|
207
|
+
|
|
208
|
+
### Key Findings
|
|
209
|
+
1. **[Agent 1]**: Finding
|
|
210
|
+
2. **[Agent 2]**: Finding
|
|
211
|
+
3. **[Agent 3]**: Finding
|
|
212
|
+
|
|
213
|
+
### Deliverables
|
|
214
|
+
- [ ] PLAN.md created
|
|
215
|
+
- [ ] Code implemented
|
|
216
|
+
- [ ] Tests passing
|
|
217
|
+
- [ ] Scripts verified
|
|
218
|
+
|
|
219
|
+
### Summary
|
|
220
|
+
[One paragraph synthesis of all agent work]
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 🔴 EXIT GATE
|
|
226
|
+
|
|
227
|
+
Before completing orchestration, verify:
|
|
228
|
+
|
|
229
|
+
1. ✅ **Agent Count:** `invoked_agents >= 3`
|
|
230
|
+
2. ✅ **Scripts Executed:** At least `security_scan.py` ran
|
|
231
|
+
3. ✅ **Report Generated:** Orchestration Report with all agents listed
|
|
232
|
+
|
|
233
|
+
> **If any check fails → DO NOT mark orchestration complete. Invoke more agents or run scripts.**
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
**Begin orchestration now. Select 3+ agents, execute sequentially, run verification scripts, synthesize results.**
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create project plan using project-planner agent. No code writing - only plan file generation.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /plan - Project Planning Mode
|
|
6
|
+
|
|
7
|
+
$ARGUMENTS
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 🔴 CRITICAL RULES
|
|
12
|
+
|
|
13
|
+
1. **NO CODE WRITING** - This command creates plan file only
|
|
14
|
+
2. **Use project-planner agent** - NOT Antigravity Agent's native Plan mode
|
|
15
|
+
3. **Socratic Gate** - Ask clarifying questions before planning
|
|
16
|
+
4. **Dynamic Naming** - Plan file named based on task
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Task
|
|
21
|
+
|
|
22
|
+
Use the `project-planner` agent with this context:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
CONTEXT:
|
|
26
|
+
- User Request: $ARGUMENTS
|
|
27
|
+
- Mode: PLANNING ONLY (no code)
|
|
28
|
+
- Output: docs/PLAN-{task-slug}.md (dynamic naming)
|
|
29
|
+
|
|
30
|
+
NAMING RULES:
|
|
31
|
+
1. Extract 2-3 key words from request
|
|
32
|
+
2. Lowercase, hyphen-separated
|
|
33
|
+
3. Max 30 characters
|
|
34
|
+
4. Example: "e-commerce cart" → PLAN-ecommerce-cart.md
|
|
35
|
+
|
|
36
|
+
RULES:
|
|
37
|
+
1. Follow project-planner.md Phase -1 (Context Check)
|
|
38
|
+
2. Follow project-planner.md Phase 0 (Socratic Gate)
|
|
39
|
+
3. Create PLAN-{slug}.md with task breakdown
|
|
40
|
+
4. DO NOT write any code files
|
|
41
|
+
5. REPORT the exact file name created
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Expected Output
|
|
47
|
+
|
|
48
|
+
| Deliverable | Location |
|
|
49
|
+
|-------------|----------|
|
|
50
|
+
| Project Plan | `docs/PLAN-{task-slug}.md` |
|
|
51
|
+
| Task Breakdown | Inside plan file |
|
|
52
|
+
| Agent Assignments | Inside plan file |
|
|
53
|
+
| Verification Checklist | Phase X in plan file |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## After Planning
|
|
58
|
+
|
|
59
|
+
Tell user:
|
|
60
|
+
```
|
|
61
|
+
[OK] Plan created: docs/PLAN-{slug}.md
|
|
62
|
+
|
|
63
|
+
Next steps:
|
|
64
|
+
- Review the plan
|
|
65
|
+
- Run `/create` to start implementation
|
|
66
|
+
- Or modify plan manually
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Naming Examples
|
|
72
|
+
|
|
73
|
+
| Request | Plan File |
|
|
74
|
+
|---------|-----------|
|
|
75
|
+
| `/plan e-commerce site with cart` | `docs/PLAN-ecommerce-cart.md` |
|
|
76
|
+
| `/plan mobile app for fitness` | `docs/PLAN-fitness-app.md` |
|
|
77
|
+
| `/plan add dark mode feature` | `docs/PLAN-dark-mode.md` |
|
|
78
|
+
| `/plan fix authentication bug` | `docs/PLAN-auth-fix.md` |
|
|
79
|
+
| `/plan SaaS dashboard` | `docs/PLAN-saas-dashboard.md` |
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Usage
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
/plan e-commerce site with cart
|
|
87
|
+
/plan mobile app for fitness tracking
|
|
88
|
+
/plan SaaS dashboard with analytics
|
|
89
|
+
```
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Preview server start, stop, and status check. Local development server management.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /preview - Preview Management
|
|
6
|
+
|
|
7
|
+
$ARGUMENTS
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Task
|
|
12
|
+
|
|
13
|
+
Manage preview server: start, stop, status check.
|
|
14
|
+
|
|
15
|
+
### Commands
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
/preview - Show current status
|
|
19
|
+
/preview start - Start server
|
|
20
|
+
/preview stop - Stop server
|
|
21
|
+
/preview restart - Restart
|
|
22
|
+
/preview check - Health check
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Usage Examples
|
|
28
|
+
|
|
29
|
+
### Start Server
|
|
30
|
+
```
|
|
31
|
+
/preview start
|
|
32
|
+
|
|
33
|
+
Response:
|
|
34
|
+
🚀 Starting preview...
|
|
35
|
+
Port: 3000
|
|
36
|
+
Type: Next.js
|
|
37
|
+
|
|
38
|
+
✅ Preview ready!
|
|
39
|
+
URL: http://localhost:3000
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Status Check
|
|
43
|
+
```
|
|
44
|
+
/preview
|
|
45
|
+
|
|
46
|
+
Response:
|
|
47
|
+
=== Preview Status ===
|
|
48
|
+
|
|
49
|
+
🌐 URL: http://localhost:3000
|
|
50
|
+
📁 Project: C:/projects/my-app
|
|
51
|
+
🏷️ Type: nextjs
|
|
52
|
+
💚 Health: OK
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Port Conflict
|
|
56
|
+
```
|
|
57
|
+
/preview start
|
|
58
|
+
|
|
59
|
+
Response:
|
|
60
|
+
⚠️ Port 3000 is in use.
|
|
61
|
+
|
|
62
|
+
Options:
|
|
63
|
+
1. Start on port 3001
|
|
64
|
+
2. Close app on 3000
|
|
65
|
+
3. Specify different port
|
|
66
|
+
|
|
67
|
+
Which one? (default: 1)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Technical
|
|
73
|
+
|
|
74
|
+
Auto preview uses `auto_preview.py` script:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
python .achira/scripts/auto_preview.py start [port]
|
|
78
|
+
python .achira/scripts/auto_preview.py stop
|
|
79
|
+
python .achira/scripts/auto_preview.py status
|
|
80
|
+
```
|
|
81
|
+
|