pixelcrew 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="Apache 2.0 License"></a>
10
10
  <a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node.js-%3E%3D18.0.0-brightgreen.svg" alt="Node.js 18+"></a>
11
11
  <a href="package.json"><img src="https://img.shields.io/badge/Runtime_Dependencies-Zero-orange.svg" alt="Zero Runtime Dependencies"></a>
12
- <a href="https://github.com/hiroqt/PixelCrew"><img src="https://img.shields.io/badge/Release-v0.1.0-blueviolet.svg" alt="Release v0.1.0"></a>
12
+ <a href="https://github.com/hiroqt/PixelCrew"><img src="https://img.shields.io/badge/Release-v0.2.0-blueviolet.svg" alt="Release v0.2.0"></a>
13
13
  <a href="CONTRIBUTING.md"><img src="https://img.shields.io/badge/PRs-Welcome-brightgreen.svg" alt="PRs Welcome"></a>
14
14
  </p>
15
15
 
@@ -35,22 +35,22 @@
35
35
  │ │ │ │ │
36
36
  │ ▼ ▼ ▼ │
37
37
  │ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
38
- │ │ SECURITY │ │PERFORMANCE│ │ QA │ │
39
- │ │ [ ░ ░ ] │ │ [ ░ ░ ] │ │ [ ░ ░ ] │ │
40
- │ │ waiting │ │ waiting │ │ waiting │ │
38
+ │ │ CREATIVE │ │ANTI-AI QA │ │TOKEN SAVER│ │
39
+ │ │ [ ★ _ ★ ]│ │ [ 🔍_🔍 ]│ │ [ ◉ ▂ ◉ ]│ │
40
+ │ │ Director │ │Critic >=8.5│ │72% Savings│ │
41
41
  │ └───────────┘ └───────────┘ └───────────┘ │
42
42
  │ │
43
43
  │ LIVE TELEMETRY STREAM │
44
44
  │ ──────────────────────────────────────────────────────────────────── │
45
- │ 03:41:02 orchestrator → decomposed objective into 4 parallel tasks │
46
- │ 03:41:03 frontend → auditing component client boundaries (Next) │
47
- │ 03:41:04 backend → profiling REST endpoints & idempotency keys │
48
- │ 03:41:05 database → inspecting missing B-Tree & composite index │
45
+ │ 03:41:02 orchestrator → decomposed objective into parallel tasks │
46
+ │ 03:41:03 creativeDirector → formulated asymmetric editorial style │
47
+ │ 03:41:04 designSystem → compiled fluid clamp type & tokens │
48
+ │ 03:41:05 visualCritic → ★ Visual Score: 9.4/10 (Passed >= 8.5) │
49
49
  │ │
50
50
  │ ACTIVE SKILL ENGINES │
51
51
  │ ──────────────────────────────────────────────────────────────────── │
52
- │ ✓ Codebase Intelligence ✓ Next.js 15 App Router ✓ PostgreSQL / RLS│
53
- │ ◉ REST / OpenAPI 3.1 ◌ Web Vitals Profiling ◌ Playwright E2E │
52
+ │ ✓ Codebase Intelligence ✓ Design Director (Anti-AI) ✓ Token Saver │
53
+ │ ◉ Frontend Engineering ◉ Database Engineering ◉ Visual QA │
54
54
  │ │
55
55
  └────────────────────────────────────────────────────────────────────────┘
56
56
  ```
@@ -62,13 +62,16 @@
62
62
  No global installations or complex configuration required. Run directly in your repository:
63
63
 
64
64
  ```bash
65
- # 1. Initialize and adapt PixelCrew to your project stack
66
- npx pixelcrew init
65
+ # 1. ✦ OneShot Website Generation (Design-First Multi-Agent Synthesis)
66
+ npx pixelcrew oneshot "Build a modern website for a design agency specializing in AI products. Dark, editorial, premium."
67
67
 
68
- # 2. Launch the orchestrator daemon and real-time visual office
68
+ # 2. Launch the orchestrator daemon and real-time visual office dashboard
69
69
  npx pixelcrew start
70
70
 
71
- # 3. (Optional) Run an instant multi-agent simulated sprint demo
71
+ # 3. Initialize and adapt PixelCrew to an existing codebase
72
+ npx pixelcrew init
73
+
74
+ # 4. Run an instant multi-agent sprint simulation demo
72
75
  npx pixelcrew demo
73
76
  ```
74
77
 
@@ -77,6 +80,83 @@ The interactive dashboard opens automatically at:
77
80
 
78
81
  ---
79
82
 
83
+ ## ✦ OneShot Website Synthesis & Anti-AI Visual Critic
84
+
85
+ ### The Problem: Why Generated Websites Look Generic
86
+ Most AI coding tools follow a naive linear prompt pattern:
87
+ ```
88
+ User Prompt ──> AI immediately writes React/HTML code ──> Generic AI Slop
89
+ ```
90
+ This produces cookie-cutter outputs: purple mesh gradients, repeating 3-column rounded cards, fake floating glassmorphism blobs, and cliché copy like *"Revolutionize your workflow"*.
91
+
92
+ ### The Solution: Decouple Design Direction from Coding
93
+ PixelCrew enforces a strict multi-agent creative pipeline before generating code:
94
+
95
+ ```mermaid
96
+ flowchart TD
97
+ User["User Prompt"] --> CD["Creative Director Agent"]
98
+ CD --> Direction["Creative Direction JSON (Archetype, Palette, Fonts, Negative Constraints)"]
99
+ Direction --> UX["UX Planner Agent"]
100
+ UX --> Topology["Asymmetric Section Topology (Hero, Bento, Manifesto, Specs, CTA)"]
101
+ Topology --> DS["Design System Agent"]
102
+ DS --> Tokens["Design Tokens (Fluid clamp(), Google Fonts, Tailwind Config)"]
103
+ Tokens --> FE["Frontend Builder Agent"]
104
+ FE --> Code["Clean HTML5 / Tailwind / Vanilla / React Code (Zero Placeholders)"]
105
+ Code --> QA["Visual Critic & Anti-AI Guardian"]
106
+ QA --> Review{"Rubric >= 8.5/10?"}
107
+ Review -- No (Refine) --> FE
108
+ Review -- Yes (Approved) --> Done["Modern Finished Website (index.html + creative-direction.json)"]
109
+ ```
110
+
111
+ ### 1. Creative Director Decision Schema
112
+ Before writing code, PixelCrew determines:
113
+ - **Design Archetype**: *Editorial Asymmetric Grid*, *Technical Lab*, or *Kinetic Studio*.
114
+ - **Visual Personality**: High-contrast, intentional whitespace, expressive typography.
115
+ - **Negative Constraints**: Strictly bans purple/blue blobs, symmetrical card grids, and placeholder copy.
116
+
117
+ ### 2. 6-Dimension Visual Critic Rubric ($\ge 8.5/10.0$)
118
+ Every generated site is scored across a weighted human design rubric:
119
+
120
+ $$\text{Final Score} = \frac{\text{Originality} + \text{Typography} + \text{Layout} + \text{Visual Hierarchy} + \text{Brand Consistency} + (10 - \text{Generic AI Penalty})}{6}$$
121
+
122
+ ```text
123
+ ╔═════════════════════════════════════════════════════════════════════╗
124
+ ║ PIXEL CREW VISUAL SCORE ║
125
+ ╠═════════════════════════════════════════════════════════════════════╣
126
+ ║ Originality: 9.1 / 10 ║
127
+ ║ Typography: 9.7 / 10 ║
128
+ ║ Layout & Rhythm: 9.1 / 10 ║
129
+ ║ Visual Hierarchy: 9.4 / 10 ║
130
+ ║ Brand Consistency: 9.3 / 10 ║
131
+ ║ Generic AI Penalty: -0.4 / 10 ║
132
+ ║ ║
133
+ ║ FINAL VISUAL SCORE: 9.4 / 10.0 [✓ APPROVED >= 8.5] ║
134
+ ╚═════════════════════════════════════════════════════════════════════╝
135
+ ```
136
+
137
+ ---
138
+
139
+ ## ⚡ Universal Cross-IDE Token Optimization Engine
140
+
141
+ PixelCrew includes built-in token optimization rules and metrics across all major AI coding agents:
142
+ - **Claude Code**: Prefix prompt cache anchoring ($\ge 1024$ tokens) $\to$ 90% cache read discount.
143
+ - **Google Antigravity**: Line-range targeted edits and subagent context encapsulation.
144
+ - **Cursor / Kiro / Windsurf**: Compact rule sets ($\le 250$ tokens) and AST symbol extraction over raw files.
145
+ - **GitHub Copilot**: Context pruning and structured schema validation.
146
+
147
+ ```text
148
+ ╔═════════════════════════════════════════════════════════════════════╗
149
+ ║ CROSS-IDE TOKEN OPTIMIZATION METRICS ║
150
+ ╠═════════════════════════════════════════════════════════════════════╣
151
+ ║ Raw Estimated Tokens: 42,500 tokens ║
152
+ ║ Actual Tokens Used: 11,800 tokens ║
153
+ ║ Tokens Conserved: 30,700 tokens (72% Savings) ║
154
+ ║ Active Strategy: AST Skeletons + Pruned Boundaries ║
155
+ ╚═════════════════════════════════════════════════════════════════════╝
156
+ ```
157
+
158
+ ---
159
+
80
160
  ## 💡 The Paradigm: Why PixelCrew?
81
161
 
82
162
  Traditional AI agent tooling runs inside black-box terminal loops: you type a prompt, wait minutes in silence, and hope the agent doesn't hallucinate or clobber your codebase.
@@ -111,66 +191,34 @@ flowchart TD
111
191
 
112
192
  ---
113
193
 
114
- ## 👥 The Swarm Roster & State Machine
115
-
116
- PixelCrew organizes work across 6 specialized personas, each bound to specific filesystem boundaries and skills:
117
-
118
- | Persona | Role & Focus | Primary Skills | Default Boundaries |
119
- | :--- | :--- | :--- | :--- |
120
- | **Lead Orchestrator** | Task decomposition, DAG dependency resolution, status sync | `codebase-intelligence` | Read: `**/*` / Write: `.pixel-agents/*` |
121
- | **Frontend Engineer** | App Router, component trees, state boundaries, Tailwind | `frontend-engineering` | Read/Write: `src/components/**`, `src/app/**`, `src/styles/**` |
122
- | **Backend Architect** | API contracts, OpenAPI 3.1, rate limiting, OAuth 2.1 | `backend-engineering` | Read/Write: `src/api/**`, `src/server/**`, `src/routes/**` |
123
- | **Database DBA** | Index tuning, EXPLAIN ANALYZE, RLS policies, migrations | `database-engineering` | Read/Write: `prisma/**`, `drizzle/**`, `db/**`, `migrations/**` |
124
- | **Security Sentinel** | OWASP Top 10 mitigation, auth guards, secret scrubbing | `backend-engineering` | Read: `**/*` / Write: `src/middleware/**`, `src/auth/**` |
125
- | **Performance SRE** | Core Web Vitals (LCP, INP, CLS), heap profiling, caching | `performance-engineering` | Read/Write: `src/**`, `next.config.*` |
126
- | **QA Automation** | Unit assertions, end-to-end user journeys, regression runs | `codebase-intelligence` | Read: `**/*` / Write: `tests/**`, `e2e/**` |
194
+ ## 🧠 The 8 Engineering Skill Pillars
127
195
 
128
- ### Agent Lifecycle States
196
+ PixelCrew equips agents with production-grade engineering skill modules located under `.agents/skills/` (and mirrored to `.pixel-agents/skills/`):
129
197
 
130
- ```
131
- [ IDLE ] ●_● Agent standing by for task allocation
132
- │
133
- ▼
134
- [ SPAWNING ] ░_░ Injecting tailored markdown skills & file permissions
135
- │
136
- ▼
137
- [ ANALYZING ] ◉_⊙ Reading repository AST, context profile, and references
138
- │
139
- ▼
140
- [ WORKING ] ◉▂◉ Executing edits, refactoring, or generating code
141
- │
142
- ▼
143
- [ VERIFYING ] 🔍_🔍 Executing test suites, lint checks, and type validations
144
- │
145
- ├─► [ COMPLETED ] ^_^ Task verified, tests green, event emitted
146
- ├─► [ BLOCKED ] ?_? Waiting on upstream dependency or developer input
147
- └─► [ ERROR ] x_x Diagnostic failure captured, recovery initiated
148
- ```
149
-
150
- ---
198
+ ### 1. `design-director`
199
+ Lead creative direction and authentic visual personality engine. Decouples artistic strategy, typographic clamp scales, and negative constraints before frontend code generation.
151
200
 
152
- ## 🧠 The 6 Engineering Skill Pillars
201
+ ### 2. `anti-ai-patterns`
202
+ Strict Anti-AI-Generated Design Critic and Quality Guardian. Automatically detects purple mesh gradients, repeating 3-card grids, and cliché copy, enforcing intentional asymmetry and brand-specific visual language.
153
203
 
154
- PixelCrew equips agents with production-grade engineering skill modules located under `.pixel-agents/skills/`:
204
+ ### 3. `token-efficiency`
205
+ Universal token optimization and context conservation engine across Claude, Google Antigravity, Cursor, Kiro, Windsurf, and Copilot. Slashes token usage by 50% to 75% through AST symbol extraction, prompt caching, and boundary pruning.
155
206
 
156
- ### 1. `codebase-intelligence`
207
+ ### 4. `codebase-intelligence`
157
208
  Static analysis and project adaptation. Automatically inspects repository dependencies, directory structures, ORMs, API routes, and testing runners to ground every subagent in current architectural patterns.
158
209
 
159
- ### 2. `frontend-engineering`
210
+ ### 5. `frontend-engineering`
160
211
  Modern frontend architecture across React 19, Next.js App Router, Vue 3, Svelte 5, and vanilla CSS. Enforces strict anti-slop design rules, fluid `clamp()` typography, semantic HTML, and WCAG AA accessibility compliance.
161
212
 
162
- ### 3. `backend-engineering`
213
+ ### 6. `backend-engineering`
163
214
  Enterprise backend standards: Clean Architecture, Hexagonal / Ports & Adapters, OpenAPI 3.1, RFC 7807 error envelopes, sliding-window rate limiting, idempotency key middleware, and OAuth 2.1 / PASETO security.
164
215
 
165
- ### 4. `database-engineering`
216
+ ### 7. `database-engineering`
166
217
  Advanced query tuning and indexing: B-Tree, GIN, GiST, BRIN, composite indexing column order, EXPLAIN ANALYZE interpretation, UUIDv7 vs ULID primary keys, Row-Level Security (RLS) isolation, and connection pooling.
167
218
 
168
- ### 5. `performance-engineering`
219
+ ### 8. `performance-engineering`
169
220
  Full-stack profiling: Core Web Vitals (LCP, INP, CLS), main-thread yielding, streaming SSR, multi-tier caching (L1 in-memory, L2 Redis, L3 CDN), database connection pool sizing, and automated k6 stress testing.
170
221
 
171
- ### 6. `pixel-agents`
172
- Autonomous multi-agent orchestration instructions, event emission protocols, task decomposition strategies, and live telemetry streaming to the Floor 42 dashboard.
173
-
174
222
  ---
175
223
 
176
224
  ## 🛠️ Cross-Harness Installation & IDE Setup
@@ -188,7 +236,7 @@ cp .agents/skills/pixel-agents/SKILL.md ~/.gemini/config/plugins/pixel-agents/sk
188
236
  ```
189
237
 
190
238
  Whenever you prompt inside Antigravity:
191
- > *"Analyze the database queries in this repo using PixelCrew"*
239
+ > *"Synthesize a modern website for an AI architecture lab using PixelCrew"*
192
240
 
193
241
  The agent automatically loads the skill, executes the task, and streams live sprite animations and status logs to your browser.
194
242
 
@@ -240,16 +288,46 @@ Copy the `.agents/skills/` directory into your tool's native skills folder:
240
288
 
241
289
  | Command | Action | Example |
242
290
  | :--- | :--- | :--- |
243
- | `npx pixelcrew init` | Scaffolds `.pixel-agents/` and adapts to repository | `npx pixelcrew init --yes` |
291
+ | `npx pixelcrew oneshot "<prompt>"` | **Synthesizes modern website with Visual Critic loop** | `npx pixelcrew oneshot "Dark editorial AI studio"` |
244
292
  | `npx pixelcrew start` | Launches orchestrator, SSE stream, and web dashboard | `npx pixelcrew start --port 4747` |
293
+ | `npx pixelcrew init` | Scaffolds `.pixel-agents/` and adapts to repository | `npx pixelcrew init --yes` |
245
294
  | `npx pixelcrew analyze` | Prints detected frameworks, database, ORM, and test stack | `npx pixelcrew analyze` |
246
- | `npx pixelcrew demo` | Launches an interactive 6-agent simulated sprint | `npx pixelcrew demo` |
295
+ | `npx pixelcrew demo` | Launches an interactive multi-agent simulated sprint | `npx pixelcrew demo` |
247
296
  | `npx pixelcrew task "<text>"` | Dispatches a direct objective to the running agent swarm | `npx pixelcrew task "Optimize SQL queries"` |
248
297
  | `npx pixelcrew emit [flags]` | Emits a custom telemetry event into the stream | `npx pixelcrew emit --agent db --message "Done"` |
249
298
  | `npx pixelcrew dashboard` | Opens or serves the standalone Floor 42 dashboard UI | `npx pixelcrew dashboard` |
250
299
  | `npx pixelcrew status` | Prints ASCII summary of swarm states and active sprints | `npx pixelcrew status` |
251
300
  | `npx pixelcrew help` | Displays full CLI manual and flag details | `npx pixelcrew help` |
252
301
 
302
+ ### CLI Options & Flags:
303
+ - `--target <framework>`: Target framework for OneShot (`vanilla`, `nextjs`)
304
+ - `--out <dir>`: Custom destination directory for generated site (default: `./generated-site`)
305
+ - `--port <number>`: Dashboard port (default: `4747`)
306
+ - `--no-open`: Prevents auto-launching browser on startup
307
+ - `--yes`, `-y`: Bypasses interactive prompts during initialization
308
+ - `--agent <name>`: Target agent for event emission (`frontend`, `backend`, `database`, `security`, `performance`, `qa`, `creativeDirector`, `uxPlanner`, `designSystem`, `visualCritic`)
309
+ - `--type <type>`: Event category (`spawn`, `thinking`, `tool`, `skill`, `complete`, `error`)
310
+ - `--message <text>`: Description payload for the event log
311
+ - `--skill <name>`: Skill tag associated with the action
312
+
313
+ ---
314
+
315
+ ## 🎮 Dashboard Controls & Keybindings
316
+
317
+ | Key / Control | Function | Description |
318
+ | :--- | :--- | :--- |
319
+ | `[O]` | **OneShot Studio** | Opens the interactive OneShot Multi-Agent Synthesis studio |
320
+ | `[R]` | **Audit Reports** | Toggles the comprehensive multi-agent audit reports drawer |
321
+ | `[SPACE]` | **Launch Demo** | Boots the swarm and runs a simulated multi-agent sprint |
322
+ | `[1] - [6]` | **Agent Inspector** | Opens the dedicated status drawer and permissions for agents 1 through 6 |
323
+ | `[ESC]` | **Close Modals** | Closes any active OneShot studio, reports drawer, or inspector modal |
324
+ | `CRT Button` | **Scanline Shader** | Toggles retro arcade phosphor scanlines and vignette effect |
325
+ | `NIGHT Button` | **Cyberpunk Shift** | Switches between warm day office and neon cyberpunk night lighting |
326
+ | `SFX Button` | **Web Audio Synth** | Toggles procedural 8-bit chip-tune feedback sounds |essage "Done"` |
327
+ | `npx pixelcrew dashboard` | Opens or serves the standalone Floor 42 dashboard UI | `npx pixelcrew dashboard` |
328
+ | `npx pixelcrew status` | Prints ASCII summary of swarm states and active sprints | `npx pixelcrew status` |
329
+ | `npx pixelcrew help` | Displays full CLI manual and flag details | `npx pixelcrew help` |
330
+
253
331
  ### CLI Options & Flags:
254
332
  - `--port <number>`: Dashboard port (default: `4747`)
255
333
  - `--no-open`: Prevents auto-launching browser on startup
@@ -286,9 +364,11 @@ your-project/
286
364
 
287
365
  | Key / Control | Function | Description |
288
366
  | :--- | :--- | :--- |
367
+ | `[O]` | **OneShot Studio** | Opens the interactive OneShot Multi-Agent Synthesis studio |
368
+ | `[R]` | **Audit Reports** | Toggles the comprehensive multi-agent audit reports drawer |
289
369
  | `[SPACE]` | **Launch Demo** | Boots the swarm and runs a simulated multi-agent sprint |
290
370
  | `[1] - [6]` | **Agent Inspector** | Opens the dedicated status drawer and permissions for agents 1 through 6 |
291
- | `[ESC]` | **Close Modals** | Closes any active agent inspector or overlay drawer |
371
+ | `[ESC]` | **Close Modals** | Closes any active OneShot studio, reports drawer, or inspector modal |
292
372
  | `CRT Button` | **Scanline Shader** | Toggles retro arcade phosphor scanlines and vignette effect |
293
373
  | `NIGHT Button` | **Cyberpunk Shift** | Switches between warm day office and neon cyberpunk night lighting |
294
374
  | `SFX Button` | **Web Audio Synth** | Toggles procedural 8-bit chip-tune feedback sounds |
@@ -325,8 +325,15 @@ async function main() {
325
325
  ║ Active Strategy: ${('AST Skeletons + Pruned Boundaries').padEnd(42)} ║
326
326
  ╚═════════════════════════════════════════════════════════════════════╝\x1b[0m`);
327
327
 
328
- console.log(`\x1b[32m\x1b[1m✓ Modern finished website generated at:\x1b[0m`);
329
- console.log(` \x1b[36m${path.join(outputDir, 'index.html')}\x1b[0m\n`);
328
+ console.log(`\x1b[32m\x1b[1m✓ Modern ${result.targetFramework.toUpperCase()} project generated (${result.buildResult.fileCount} files):\x1b[0m`);
329
+ console.log(` \x1b[36m${outputDir}\x1b[0m`);
330
+ console.log(` Preview: \x1b[33m${path.join(outputDir, 'index.html')}\x1b[0m\n`);
331
+
332
+ if (result.targetFramework !== 'vanilla') {
333
+ console.log(`\x1b[90mTo launch the full ${result.targetFramework.toUpperCase()} development server:\x1b[0m`);
334
+ console.log(` \x1b[37mcd ${path.relative(process.cwd(), outputDir) || '.'}\x1b[0m`);
335
+ console.log(` \x1b[37mnpm install && npm run dev\x1b[0m\n`);
336
+ }
330
337
 
331
338
  if (!options.noOpen) {
332
339
  openBrowser(path.join(outputDir, 'index.html'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelcrew",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Local multi-agent orchestration framework with an interactive pixel-art tech startup office visual dashboard",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -274,14 +274,23 @@
274
274
  <label class="oneshot-label">PROMPT / CREATIVE BRIEF:</label>
275
275
  <textarea id="oneshotPromptInput" class="pixel-input oneshot-textarea" rows="3" placeholder="Build a modern website for a design agency specializing in AI products. Dark, editorial, premium, but not corporate. Avoid generic SaaS design."></textarea>
276
276
 
277
+ <div class="oneshot-template-pills">
278
+ <span class="pill-label">QUICK TEMPLATES:</span>
279
+ <button type="button" class="template-pill" onclick="document.getElementById('oneshotPromptInput').value = 'create me a modern website that showcase my projects basically its a developer portfolio';">👨‍💻 Dev Portfolio</button>
280
+ <button type="button" class="template-pill" onclick="document.getElementById('oneshotPromptInput').value = 'High-performance AI model query infrastructure with real-time vector latency calculator';">⚡ AI Infra</button>
281
+ <button type="button" class="template-pill" onclick="document.getElementById('oneshotPromptInput').value = 'Editorial design studio specializing in spatial computing and bespoke generative art';">🎨 Creative Studio</button>
282
+ </div>
283
+
277
284
  <div class="oneshot-controls">
278
285
  <div class="oneshot-framework-selector">
279
286
  <span class="selector-label">TARGET:</span>
280
- <label class="radio-label"><input type="radio" name="oneshotFramework" value="vanilla" checked> Modern Web</label>
281
- <label class="radio-label"><input type="radio" name="oneshotFramework" value="nextjs"> Next.js 14</label>
287
+ <label class="radio-label"><input type="radio" name="oneshotFramework" value="nextjs" checked> Next.js App Router</label>
288
+ <label class="radio-label"><input type="radio" name="oneshotFramework" value="react"> Vite + React</label>
289
+ <label class="radio-label"><input type="radio" name="oneshotFramework" value="vue"> Vue 3</label>
290
+ <label class="radio-label"><input type="radio" name="oneshotFramework" value="vanilla"> Modern Web</label>
282
291
  </div>
283
292
  <button class="pixel-btn btn-primary" id="btnRunOneShot">
284
- <span>🚀</span> SYNTHESIZE WEBSITE
293
+ <span>🚀</span> SYNTHESIZE PROJECT
285
294
  </button>
286
295
  </div>
287
296
  </div>
@@ -1393,28 +1393,35 @@ body:not(.crt-active) .crt-vignette {
1393
1393
  line-height: 1.4;
1394
1394
  }
1395
1395
 
1396
- .oneshot-controls {
1396
+ .oneshot-template-pills {
1397
1397
  display: flex;
1398
1398
  align-items: center;
1399
- justify-content: space-between;
1400
- gap: 12px;
1399
+ gap: 6px;
1400
+ flex-wrap: wrap;
1401
1401
  }
1402
1402
 
1403
- .oneshot-framework-selector {
1404
- display: flex;
1405
- align-items: center;
1406
- gap: 10px;
1403
+ .pill-label {
1407
1404
  font-family: var(--font-pixel);
1408
- font-size: 8px;
1405
+ font-size: 7px;
1409
1406
  color: var(--text-dim);
1410
1407
  }
1411
1408
 
1412
- .radio-label {
1413
- display: flex;
1414
- align-items: center;
1415
- gap: 4px;
1409
+ .template-pill {
1410
+ background: #191f35;
1411
+ border: 1px solid var(--border-color);
1412
+ color: var(--color-cyan);
1413
+ font-family: var(--font-terminal);
1414
+ font-size: 13px;
1415
+ padding: 2px 8px;
1416
1416
  cursor: pointer;
1417
- color: var(--text-main);
1417
+ border-radius: 2px;
1418
+ transition: all 0.15s ease;
1419
+ }
1420
+
1421
+ .template-pill:hover {
1422
+ background: var(--color-cyan);
1423
+ color: #000000;
1424
+ border-color: var(--color-cyan);
1418
1425
  }
1419
1426
 
1420
1427
  /* Cross-IDE Token Saver Card */