source/skills/greenfield-design/SKILL.md
Scaffolds a Next.js site with impeccable-driven design from an empty folder. Called only by bodega-setup when no project exists. Invokes impeccable's teach-impeccable and frontend-design skills, wrapping prompts in simple voice when appropriate.
npx skillsauth add mitcheman/bodega greenfield-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Runs only when {{command_prefix}}bodega:setup detects an empty folder.
Creates the canvas that commerce will later live on.
.bodega.md. Require mode_current: greenfield (or legacy
mode_detected: greenfield for projects scaffolded before the
field rename). Otherwise exit — this skill is not meant to be
invoked directly..bodega.md).Check if impeccable is available as a skill in the current IDE.
Impeccable not installed. Installing:
npx skills add pbakaus/impeccable --yes --global(the--yes --globalflags skip the upstream installer's interactive multi-select picker, which hangs in non-TTY shells).
I'm going to install a design helper called impeccable. Free, open-source, made by someone who cares a lot about how websites look. Takes a few seconds.
Wait for install. If install fails, be honest and offer to continue with our basic template (much weaker output).
npx create-next-app@latest . --typescript --tailwind --app --no-src-dir --import-alias "@/*" --no-git
Notes (internal, not for the user):
. scaffolds in current dir--no-git because {{command_prefix}}bodega:backup handles git--app for App RouterInvoke {{command_prefix}}impeccable:teach-impeccable. It will ask about
references, palette, typography, voice.
Prep the user first:
I'm going to ask about how you want your site to look. Colors, feeling, any sites you love. No right answers — tell me in your own words. If you're not sure, say "surprise me."
Then invoke impeccable. If its prompts feel technical, act as translator — rephrase for the user and relay answers back.
Invoke impeccable directly. Developer users handle it fine.
Invoke {{command_prefix}}impeccable:frontend-design with the context
from Step 3. Impeccable generates:
app/layout.tsx, app/page.tsx, marketing pagesnext/font.impeccable.md capturing design decisionsTakes several minutes. Keep the user posted.
Building your site now. This is the slow part — making it look hand-built, not template-y. Grab a coffee, I'll ping you when it's ready.
Scaffolding via impeccable:frontend-design. ~10-20 min.
After impeccable finishes, start a local preview so the user can
actually see the site. Run npm run dev as a background process, wait
for the "Ready" line (usually 2–5 seconds), then show the URL. Kill
the process when the user is ready to move on.
Okay, I built you a first draft of the site. I'm starting a preview on your computer right now — give it a few seconds.
When it's ready, open this in your browser: http://localhost:3000
Take a look. Does it feel right? If not, just tell me what's off in your own words — "too minimal", "colors feel cold", "headings too big", "doesn't feel like me" — and I'll adjust. No design vocabulary needed.
Preview up on http://localhost:3000. Iterate with impeccable (polish, bolder, typeset, etc.) or move on to commerce?
If the user wants changes, route their free-text feedback to the right impeccable skill:
{{command_prefix}}impeccable:bolder{{command_prefix}}impeccable:quieter{{command_prefix}}impeccable:typeset{{command_prefix}}impeccable:arrange or {{command_prefix}}impeccable:polish{{command_prefix}}impeccable:critique then iterateLoop until happy (or "good enough").
.bodega.md and returnUpdate .bodega.md:
mode_current: adapt (project now exists; initial_mode stays greenfield)Design scaffolded by impeccable on [date].
Tokens captured in .impeccable.md.
Return control to {{command_prefix}}bodega:setup, which continues to
the Hosting step.
impeccable:audit or impeccable:harden automatically.development
Roll back a Bodega-provisioned project. Walks the user through removing the Vercel project, blob store, GitHub repo, Stripe webhook, and (optionally) `.bodega.md` itself. The merchant's Stripe account stays — that's their data.
business
Reports the current state of the store — what's set up, what's pending, what the URLs are, and what to do next.
testing
First-time Bodega setup. Detects whether the folder has an existing project (adapt) or is empty (greenfield), asks about voice and beneficiary, writes .bodega.md, and orchestrates the full flow through hosting, payments, deploy, and admin.
testing
Re-ask the voice and beneficiary questions and update .bodega.md. Useful when the user's preference changes or the store is being handed off to someone new.