Development Setup
Development Setup
Section titled “Development Setup”Development setup must be reproducible and explicit
Section titled “Development setup must be reproducible and explicit”Leci contribution flow depends on reproducible environment setup because database and migration behavior are central to product correctness.
Toolchain requirements
Section titled “Toolchain requirements”Required baseline:
- Node.js
>=20 - npm
>=10 - PostgreSQL connection URL via
DATABASE_URL
Recommended command checks:
node -vnpm -vFirst-time setup workflow
Section titled “First-time setup workflow”npm installcp .env.example .env# set DATABASE_URLnpx tsx scripts/migrate.tsnpm run lintnpm testnpm run devDaily developer loop
Section titled “Daily developer loop”A standard daily loop should include:
- pull latest changes;
- reinstall only if lockfile changed;
- apply migrations;
- run lint/test;
- run app in dev mode.
Database-sensitive workflow guidance
Section titled “Database-sensitive workflow guidance”When changing schema-related code:
- update Drizzle schema and/or SQL migrations intentionally;
- verify migration rerun behavior;
- document any non-idempotent assumptions.
Documentation update rule
Section titled “Documentation update rule”Any change affecting commands, config, or feature behavior must update corresponding docs pages in the same branch.