base44 scaffold
Scaffolds a local project for an existing Base44 app. Use this when you already have a Base44 app (you know its app ID) and want to set up the local project files to work with it. Runs fully non-interactively, so it is safe for agents and CI.Critical: When to Use Scaffold vs Create vs Link
| Scenario | Command |
|---|---|
| Starting fresh, want a NEW Base44 app + project from a template | npx base44 create |
| You already have a Base44 app (by ID) and want local files for it | npx base44 scaffold |
Have a local base44/config.jsonc but no .app.jsonc | npx base44 link |
Syntax
Arguments & Options
| Argument/Option | Description | Required |
|---|---|---|
name | Project name (positional). Defaults to the current directory name. | No |
--app-id <id> | Existing Base44 app ID. Falls back to the BASE44_APP_ID environment variable. | Yes* |
--no-skills | Skip AI agent skills installation (skills are installed by default) | No |
--app-id or the BASE44_APP_ID environment variable. If neither is set, the command fails.
Examples
What It Does
- Resolves the app ID from
--app-idor theBASE44_APP_IDenvironment variable - Applies the
backend-onlytemplate to the current directory - Registers the project files against the existing app and writes
base44/.app.jsoncwith the app ID - Installs AI agent skills (unless
--no-skillsis passed)
Provisioning Handoff (Stripe Projects / projects.dev)
scaffold is the command to run after a Base44 app is provisioned through a Stripe Projects / projects.dev flow. Use scaffold, not create — the app already exists, so create would create a duplicate.
When Base44 is provisioned that way, the credentials are injected into the environment under a BASE44_PROJECTS_ prefix (e.g. BASE44_PROJECTS_BASE44_APP_ID, BASE44_PROJECTS_BASE44_ACCESS_TOKEN, BASE44_PROJECTS_BASE44_REFRESH_TOKEN). The CLI automatically normalizes these to the bare names it uses (BASE44_APP_ID, BASE44_ACCESS_TOKEN, …). As a result:
- App ID is resolved from
BASE44_APP_IDautomatically — no--app-idflag needed. - Authentication is seeded from
BASE44_ACCESS_TOKEN/BASE44_REFRESH_TOKEN— no interactivenpx base44 loginneeded.
npx base44 deploy.
Notes
- Template: Always uses the
backend-onlytemplate (Base44 configuration only — no frontend is generated). - Non-interactive: Never prompts. It does not push entities or deploy the site. Use
npx base44 deployafterward to push resources. - Existing app only: Unlike
create, this does not create a new Base44 app — it links local files to the app ID you supply. - Authentication: Requires you to be authenticated (run
npx base44 loginfirst). - The
.app.jsoncfile should be git-ignored (it contains your app ID).

