Quick Start
Download the source, start a local app, and sign in with your development accounts.
By the end of this guide, you will have a local MuseMVP app and be able to sign in to its workspace. Real payments, OAuth, and storage can wait until you need them.
Before You Start
- Git and access to the source repository using the GitHub account granted access after purchase.
- Node.js 22 or newer and pnpm 10.26.2, the version pinned by the template.
- Docker Desktop running, or an existing development Postgres database.
The app runs on port 3000. If that port is taken, Next.js moves to the next free port, and sign-in works on any localhost port in development.
1. Get the Source
Clone using the GitHub account with repository access:
git clone https://github.com/musemvp/musemvp.git
cd musemvp
pnpm installIf SSH is configured, you can use [email protected]:musemvp/musemvp.git. Run the remaining commands from the repository root, where pnpm-workspace.yaml lives.
2. Initialize Your App
Local Development
With Docker Desktop running:
pnpm muse:init --app node --docker
pnpm devInit starts the included local Postgres service and waits until it is ready, writes apps/web/.env.local, generates signing secrets, applies migrations, and creates your development login accounts. Running it again keeps your values and custom variables.
Already have a development Postgres database? Replace the init command with this one, using your connection string:
pnpm muse:init --app node --database-url "postgres://USER:PASSWORD@HOST:5432/DATABASE"Then run pnpm dev. Use a fresh development database, not an existing production database.
3. Open the App and Sign In
When the server is ready, open http://localhost:3000. Visit /auth/login, select password sign-in, and use either account:
| Account | Password | Explore |
|---|---|---|
[email protected] | musemvp | Workspace and account settings |
[email protected] | musemvp | Workspace and admin user management |
These assume unchanged seed defaults. If you edited MUSE_SEED_EMAIL or MUSE_SEED_PASSWORD, use your configured domain and password. These accounts are for development only.
Init sets MAIL_PROVIDER=console: mail prints in the server terminal rather than being delivered. Registration and sign-in codes work locally; search the terminal for [mail:console]. Set up Email before you test real delivery.
Check Your Result
- The public homepage opens without a server error.
- The user account can open
/appand/app/settings/general. - The admin account can open
/app/admin/users. - Signing out returns to the public site; revisiting
/appasks you to sign in.
Common Problems
| What you see | What to try |
|---|---|
| GitHub reports repository not found | Check that your GitHub account has accepted access, then check HTTPS/SSH credentials |
pnpm is not found | Run npm install -g [email protected], then reopen the terminal |
| Docker init fails | Start Docker Desktop; check for another Postgres using port 5432 |
| Database connection refused | Check the development database host, port, user, and password in apps/web/.env.local |
| Password sign-in fails | Re-run pnpm muse:init with the same --app (it recreates missing seed accounts), check the seed password, and use the password form |
| Port 3000 is occupied | Use the port Next.js picked; sign-in works on any localhost port in development. Set NEXT_PUBLIC_SITE_URL to that port only when testing mail links or OAuth |
| Missing generated content types | Start pnpm dev or run pnpm build to generate Fumadocs sources |
Run pnpm muse:doctor to see which features are ready, running on a local stand-in, disabled, or missing; AI agents can use pnpm muse:doctor --json. Avoid --force on an existing environment: it can replace configured values and signing secrets.
Next: Make It Yours
Continue with Brand and App Settings. Add Email, Payments, and Storage as needed.
Working with an AI coding agent? Your repository includes docs/getting-started.en.md: the whole path from a fresh clone to production, a table of every step that needs you in person (API keys, OAuth apps, wrangler login), and the MCP servers that save the most manual work. Ask your agent to read it with AGENTS.md first.
Your own private repository and future upstream merges are covered separately in Updating Your Project.