Contributing

Development setup

  1. Fork and clone the repository
  2. Install dependencies: npm install
  3. Start local Supabase: supabase start
  4. Copy .env.example to .env.local
  5. Push schema: cd packages/db && npx drizzle-kit push
  6. 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 build before submitting

License

Pushd is licensed under AGPL-3.0. All contributions are subject to this license.