ai-project-bootstrap
Docs / Choosing a stack / Describing your idea (Pro)

Describing your idea (Pro)

Say what you are building in one sentence and get a stack proposal back. This is the one paid flag: it needs a Pro licence key, and nothing is written until you approve the proposal.

--idea takes a plain-English description, sends it to ai-project-bootstrap's hosted service, and gets back a stack drawn from the same catalogue the wizard uses. The proposal then lands in the wizard's confirmation screen — the identical review step a --preset gets.

export AI_PROJECT_BOOTSTRAP_LICENSE_KEY=aipb_live_...
npx ai-project-bootstrap --idea "a habit tracker with sign-in and paid reminders"
Pro only — $15/month, no trial

You bring no OpenAI key: the model call runs on our budget, which is exactly why this flag is subscription-only rather than metered or free-tiered. Subscribing emails you a licence key. Every other command — the wizard, presets, the archetype, add, upgrade, implement, review, analyze, doctor — is free, MIT and needs no key at all.

Where the key goes is not final

This page shows AI_PROJECT_BOOTSTRAP_LICENSE_KEY as an environment variable. Whether the CLI also accepts a login command or a config file has not been decided.

What comes back

A selection object in exactly the shape a preset uses: category ids mapped to module ids, resolved against requires and conflicts before it is shown to you. Anything the model proposes that the catalogue cannot build is rejected rather than approximated.

Proposed stack
  mobile      Expo
  backend     Supabase
  auth        Supabase Auth
  payments    RevenueCat
  analytics   PostHog

  Est. $25/mo · 2 usage-based

? Generate with this stack? (Y/n)

Approving, editing or declining

Y accepts the proposal and generates, exactly as a preset would.
n drops you into the normal wizard with the proposal's answers pre-filled, so you can change any one of them.
Ctrl-C at the prompt writes nothing at all — the proposal is not persisted anywhere.

When it fails

Three failure paths are distinct on purpose, because the right next move differs for each.

Failure
What you see
What to do
No licence key
AI_PROJECT_BOOTSTRAP_LICENSE_KEY not set — the request is never made
Nothing was sent and nothing was charged. Subscribe, or use --preset and the wizard, which are free.
Subscription lapsed
402 subscription_inactive — the key is real, the subscription is not
Renew. Everything local keeps working meanwhile; only --idea stops.
Service unreachable
ECONNREFUSED on POST /propose — the request never landed
Nothing was sent. Use --preset or the plain wizard; both work with no network.
Upstream model error
502 upstream_error after the retry budget is spent
Retry. The call is not billed against you when it fails.
Rejected proposal
422 invalid_proposal naming an unknown or conflicting module
The stack could not be built, so it was refused. Add a detail about platform or billing, or start from a preset.
A failed --idea never half-generates

Validation runs before the confirmation screen, so a rejected proposal costs you a prompt, not a repository. The exit code is 1 and no file is touched.

Pointing it elsewhere

AI_PROJECT_BOOTSTRAP_API_URL overrides the endpoint --idea calls. Set it to a backend you run yourself, or to a staging instance.

AI_PROJECT_BOOTSTRAP_API_URL=http://localhost:8787 \
  npx ai-project-bootstrap --idea "an internal admin tool"
Sign in to see your own key and usage

Signed in, this page shows the licence key for your subscription, how many proposals you have used this period, and how to rotate it. Signed out it is the generic reference only.