1
Check prerequisites
Install these first:
Skip the PostgreSQL install if you plan to use Docker Compose. That path brings its own database.
2
Clone and install
Clone the monorepo and install every workspace dependency:You now have the Store app in
apps/store/, all 101 first-party Modules in modules/, and the CLI in packages/cli/.3
Initialize the Store
One command sets up your environment, database, and demo data:
init copies .env.example to .env, replaces the BETTER_AUTH_SECRET placeholder with a random 32-byte value, installs dependencies, runs code generation, then asks whether to migrate and seed. If it cannot reach the database at DATABASE_URL, it skips both steps and tells you what to run afterward.Seeding asks for a Store Admin email and password. Press Enter twice to accept admin@example.com and password123.4
Start the dev server
- Storefront: http://localhost:3000
- Store Admin: http://localhost:3000/admin
5
Turn on a Module
A Module is off until you list it in your active Template’s Every Module in the catalog is currently Experimental, so The Module’s components are now usable in your MDX Templates with no import statement, and any Store Admin pages it registers appear in the sidebar.To start your own Module instead:That scaffolds
config.json. Add the package name to the modules array:templates/brisa/config.json
allowExperimentalModules has to stay true for anything to load.Regenerate the imports and the API router:modules/my-feature/ with an entry point, schema, Store and admin endpoints, and component stubs. Build a custom Module walks through the rest.Start everything with Docker Compose
Docker Compose runs PostgreSQL, MinIO object storage, and the Store app together, so you install none of them yourself. Copy the environment template and generate an auth secret:BETTER_AUTH_SECRET placeholder in .env. Compose sets NODE_ENV=production, and the runtime refuses to boot on a placeholder secret, a low-entropy secret, or anything under 32 characters. Paste the output, not the command.
Compose serves uploads from your own origin at
/uploads/... rather than the raw bucket URL, so you never have to make the MinIO bucket public to show a Product image.When something goes wrong
Run86d doctor. It checks your environment file, database reachability, generated files, and Module wiring, and it prints a suggested fix for each failure. Troubleshooting covers the failures that need more than one command.
Where to go next
Put it on a server
Railway, Vercel with Neon, or your own Docker host.
Browse the catalog
101 Modules, what each does, and where its source lives.