Scaffolding
This guide explains how to create a new monorepo from the private FRAME template using the @pablousx/create-frame CLI.
Prerequisites
Section titled “Prerequisites”- Node.js 24.18.0+
- pnpm 11+
- A token with access to the private
pablousx/framerepository
CLI installation
Section titled “CLI installation”npm login --scope=@pablousx --registry=https://npm.pkg.github.compnpm create @pablousx/frame@latestInteractive mode
Section titled “Interactive mode”The wizard asks for:
- Project name (npm scope)
- Apps (
next,nest,astro) - Packages and configs
- License and copyright
- Whether to install dependencies and run project setup
When setup is selected, scaffolding completes only after pnpm install and pnpm frame setup --yes succeed. If setup is skipped, the CLI prints those commands as the next steps.
Non-interactive mode
Section titled “Non-interactive mode”Useful for CI or automation:
pnpm create @pablousx/frame@latest -- \ --yes \ --name my-project \ --apps next,nest \ --packages core,auth,models \ --configs oxlint,tsconfig \ --license Proprietary \ --copyright "Acme Corp" \ --authorized-by "Platform Team" \ --setup \ --template mainAvailable flags
Section titled “Available flags”| Flag | Description |
|---|---|
--name | Project name (required with --yes) |
--apps | CSV list: next,nest,astro |
--packages | CSV list: core,auth,models,mail,events,cli |
--configs | CSV list: oxlint,tsconfig |
--license | Proprietary, MIT, Other |
--copyright | Copyright owner |
--authorized-by | Authorizing person |
--template | GitHub ref (main, tag, SHA) |
--setup | Install dependencies and run project setup |
--no-setup | Leave installation and setup as next steps |
--yes, -y | Non-interactive mode |
With --yes, setup runs only when --setup is supplied explicitly.
What the scaffold generates
Section titled “What the scaffold generates”- Selected apps / packages / configs
- Workspace dependencies required per app (including
@…/cli) pnpm-workspace.yamlwith thecatalogintact (docs/createremoved — FRAME-only)- Prod Dockerfiles with FRAME-only
create//docs/package.jsonCOPYlines removed .github/workflows/docker.yml(path-filtered prod image builds for selected apps + migrator).code-workspacewith filtered folders- Scope rename
@frame→@<projectName> FRAME_ORIGIN,LICENSE,AGENTS.md, and an initial README
Template cache
Section titled “Template cache”The CLI caches the tarball under ~/.cache/create-frame/ (24h by default).
Variables:
CREATE_FRAME_TEMPLATE— default refCREATE_FRAME_CACHE_DIR— cache directoryCREATE_FRAME_CACHE_TTL_MS— TTL in milliseconds
Troubleshooting
Section titled “Troubleshooting”| Error | Action |
|---|---|
Repository not found | Verify gh auth login or GITHUB_TOKEN |
No catalog entry | Report a bug: the workspace overlay is broken |
workspace pkg not found | A package required by a selected app is missing |
Next steps
Section titled “Next steps”When setup was skipped:
cd my-projectpnpm installpnpm frame setuppnpm -F apps/next dev