Contributing
Development setup
- Fork and clone the repository
- Install dependencies:
npm install - Start local Supabase:
supabase start - Copy
.env.exampleto.env.local - Push schema:
cd packages/db && npx drizzle-kit push - Start dev server:
npx turbo dev --filter=@pushd/web
Project structure
pushd/ ├── apps/web/ # Next.js 15 dashboard ├── packages/db/ # Drizzle schema + migrations ├── packages/auth/ # Supabase Auth utilities ├── packages/fonto-client/ # Event emitter ├── packages/kapsel-client/ # Package registry └── infra/ # Docker Compose + install
Guidelines
- TypeScript only — zero JavaScript files
- All secrets via environment variables, never hardcoded
- All API routes must require authentication
- All data access must verify resource ownership
- Plexo features must follow the optional integration pattern
- Run
npx turbo buildbefore submitting
License
Pushd is licensed under AGPL-3.0. All contributions are subject to this license.