Generated project
What Stackiln creates and where product code lives.
Workspace map
The generated workspace uses pnpm. Root scripts delegate to the relevant application and package workspaces.
my-product/ ├─ apps/web/ Next.js application ├─ packages/db/ Drizzle schema and migrations ├─ packages/ui/ Shared product UI ├─ tests/e2e/ Playwright journeys ├─ .stackiln/state.json Ownership and checksums ├─ stackiln.config.json Resolved product configuration ├─ docker-compose.yml Local PostgreSQL ├─ Dockerfile Production container └─ STACKILN-LICENSE.md Source attribution notice
Common commands
Use pnpm verify before merging product changes. Browser tests expect the local services and environment described by the generated repository.
pnpm dev pnpm build pnpm typecheck pnpm lint pnpm test pnpm test:e2e pnpm verify pnpm db:migrate pnpm db:generate pnpm db:studio
Product-owned files
Everything in the generated repository belongs to the product. The ownership state records where a file came from, but Stackiln is not a package dependency and does not control edits.
Keep stackiln.config.json and .stackiln/state.json in version control. Do not commit .env.local or secrets.
Database files
Database modules include checked-in SQL migrations, snapshots, journal entries, and schema exports. A fresh product should be able to run pnpm db:migrate without first generating a migration.