Answer 15 questions. Get a landing page scaffold where AI works inside a design system β not against it.
β crucible
β
β Project directory name
β volta-studio
β
β Framework
β Next.js 14 β App Router, SSR, API routes
β
β UI library
β shadcn/ui β Radix + Tailwind component system
β
β Design aesthetic
β Dark Studio β dark bg, cinematic, moody
β
β Who is this for?
β Brand / Organization
β
β Brand name
β Volta Studio
β
β Tagline
β Every frame needs a sound.
β
β Primary color (hex)
β #0A0A0B
β
β AI coding tool
β Cursor β adds .cursor/rules/
β
... 5 more prompts (industry, city, domain, email, figma url)
β
β β Volta Studio β nextjs scaffold ready. Build something real.
Every scaffold ships two layers on top of each other:
AI system files β framework-agnostic, always included:
| File | Purpose |
|---|---|
CLAUDE.md |
Session briefing β brand, stack, workflow rules |
DESIGN.md |
Design system ground truth (colors, type, spacing, motion) |
GUARDRAILS.md |
Failure memory β pre-loaded with common AI mistakes |
.claude/skills/copywriter |
Role constraints for copy tasks |
.claude/skills/qa-mobile |
Role constraints for mobile QA |
.claude/skills/ui-designer |
Role constraints for UI work |
.claude/skills/code-review |
Pre-deploy code review: TypeScript, security, performance, hygiene |
scripts/check-design-tokens |
Blocks hardcoded hex values at commit |
Framework source β pre-wired to your brand:
| File | Purpose |
|---|---|
src/lib/site.ts |
Single source of truth for brand name, domain, email |
src/components/ |
Hero, Services, Process, Contact, Header, Footer |
| API route | Zod-validated contact form + honeypot spam protection |
| Framework | Best for | |
|---|---|---|
| β¬ | Next.js 14 (App Router) | SSR, API routes, SEO-heavy pages |
| π | Astro 4 | Static sites, best Lighthouse scores |
| π΅ | Vite + React | SPA, client-side only |
| β¬ | Vanilla JS | No framework, minimal, fast |
Choose your component system at scaffold time. Deps are injected into package.json and providers are wired up automatically.
| UI Library | Next.js | Astro | Vite + React | Vanilla |
|---|---|---|---|---|
| Tailwind CSS (default) | β | β | β | β |
| shadcn/ui | β | β | β | β |
| Ant Design 5 | β | β | β | β |
| Material UI 6 | β | β | β | β |
| Mantine 7 | β | β | β | β |
| Chakra UI 3 | β | β | β | β |
| daisyUI 4 | β | β | β | β |
| Bootstrap 5 | β | β | β | β |
| None (plain CSS) | β | β | β | β |
Provider setup, components.json, and UI_SETUP.md are generated per choice β no manual wiring.
Choose your AI coding tool at scaffold time. The same skill rules (copywriter, qa-mobile, code-review) are written in tool-native format:
| AI Tool | Rule location | Invocation |
|---|---|---|
| Claude Code (default) | .claude/skills/ |
/copywriter, /qa-mobile, /code-review |
| Cursor | .cursor/rules/*.mdc |
@copywriter, @qa-mobile, @code-review |
| Windsurf | .windsurf/rules/*.md |
Model decides (trigger: model_decision) |
| Continue | .continue/rules/*.md |
Manual invocation |
| GitHub Copilot | .github/instructions/*.instructions.md |
Applied by file glob |
Claude Code skills (.claude/skills/) are always included regardless of which tool you chose.
| Variable | Example |
|---|---|
BRAND_NAME |
Volta Studio |
TAGLINE |
Every beat tells a story. |
PROFILE_TYPE |
brand or individual β adapts CTA labels and section copy |
DESIGN_THEME |
dark-studio, brutalist, glassmorphism, β¦ β injects aesthetic guidance into DESIGN.md |
PRIMARY_COLOR |
#1A1A2E β or auto-extracted from Figma |
ACCENT_COLOR |
#E94560 β or auto-extracted from Figma |
CITY |
Bandung |
DOMAIN |
voltastudio.com |
EMAIL |
hello@voltastudio.com |
12 world design aesthetics β each injects typography, motion, component, and anti-pattern guidance into DESIGN.md Β§ 0:
minimalist Β· dark-studio Β· brutalist Β· glassmorphism Β· retro Β· editorial Β· corporate Β· playful Β· cyberpunk Β· swiss Β· organic Β· luxury
# Set token in env to skip the prompt:
FIGMA_TOKEN=fig-pat-... npm create crucible@latest my-projectProvide a Figma file URL at the last prompt. Color styles and text styles are extracted from the file. If style names contain primary, brand, accent, or cta, the colors override PRIMARY_COLOR / ACCENT_COLOR and are written into tokens.css and DESIGN.md.
cd my-project
pnpm install
# Complete your design system:
# DESIGN.md β fill in type scale, spacing, component patterns
# src/lib/ β add real content (services, work samples, testimonials)
# GUARDRAILS.md β grows as you build
pnpm devAI output quality is a function of the constraints you give it.
Slop = AI + no context
Not slop = AI inside a design system + guardrails + concrete specs
A crucible is the vessel where raw material transforms into refined output. Your brand inputs go in, a constrained AI-ready scaffold comes out. The walls are set. The AI works inside them.
Full docs at ryanda9910.github.io/crucible β getting started, framework guides, AI system reference, adding a new framework.
- Node.js β₯ 18
- pnpm (recommended) or npm
See CONTRIBUTING.md. New framework templates, GUARDRAILS entries, and accessibility fixes are especially welcome.
git clone https://github.com/ryanda9910/crucible.git
cd crucible
pnpm install
pnpm dev # run CLI interactivelyCommits must follow Conventional Commits. Commitlint enforces this on every commit.
MIT Β© ryanda9910

