# Scaffold Project

> Scaffold a new app, API, backend, fullstack project, mobile app, polyglot service, monorepo, or starter with Better Fullstack. Use when the user wants to create, start, bootstrap, initialize, or generate a project from a stack description. Prefer the bundled Better Fullstack MCP server: guidance, schema, compatibility, plan, then create.

- Skill: `marve10s/scaffold-project` (Agent Skill)
- Install (CLI): `npx skillmds@latest add marve10s/scaffold-project`
- Raw SKILL.md: https://api.skillmd.com/api/skills/marve10s/scaffold-project/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: marve10s (https://skillmd.com/u/marve10s)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/marve10s/scaffold-project

---


# Scaffold a Better Fullstack Project

Use the Better Fullstack MCP server as the source of truth. Do not hand-write package files,
framework folders, auth wiring, database wiring, or generated project structure.

## Workflow

1. Resolve intent. If major choices are unclear, ask briefly or pick conservative defaults and state
   them.
2. Call `bfs_get_guidance`.
3. Call `bfs_get_schema` for the current allowed values. Do not rely on a stale option list.
4. Build a full explicit config. Use `"none"`, empty arrays, and booleans rather than omitting
   important fields.
5. Call `bfs_check_compatibility`.
6. Call `bfs_plan_project`. Review the dry-run output and compatibility adjustments.
7. Call `bfs_create_project` only after the plan matches the user request.
8. Report the selected stack, project directory, and exact install/test/dev commands.

## Rules

- Set `install: false` for agent scaffolding unless the user explicitly asks to install
  dependencies.
- Use `packageManager: "bun"` when the user or current repo expects Bun.
- Use `aiDocs: ["agents-md"]` for reusable projects and `aiDocs: ["none"]` for benchmarks or
  throwaway scaffolds.
- Prefer stack graph parts for explicit multi-ecosystem stacks, but use MCP schema fields when they
  communicate the request more clearly.
- Treat compatibility adjustments as user-visible decisions.
- Do not start a dev server.

## Common Stack Hints

- React + Vite: `frontend: ["react-vite"]`
- Next.js fullstack: `frontend: ["next"]`, `backend: "self"`
- Hono API: `backend: "hono"`, `runtime: "bun"` or `"node"`
- SQLite + Drizzle: `database: "sqlite"`, `orm: "drizzle"`
- Python API: `ecosystem: "python"`, then choose `pythonWebFramework` and related Python fields
- Rust API: `ecosystem: "rust"`, then choose `rustWebFramework` and related Rust fields

## CLI-only fallback

If the Better Fullstack MCP tools are unavailable, inspect the current flags with
`npx -y create-better-fullstack@latest create --help`, then run the explicit scaffold command with
`--dry-run --no-install --no-git`. Review that preview before rerunning without `--dry-run`. Do not
guess option names or hand-write the scaffold.

## Final Response

Say what command/tool path was used, what compatibility adjustments were made, where the project was
created, and what the next commands are. Never claim dependencies were installed when `install:
false` was used.

