Thanks for your interest in contributing! Here's how to get started.
- Go 1.25+
- Bun 1.2+
- PostgreSQL 16+
git clone https://github.com/waitless/waitless
cd waitless
# Configure
cp .env.example .env
# Edit .env with your local database credentials
# Backend
cd backend && go mod download
# Frontend
cd ../frontend && bun install
# Run both dev servers
make dev-backend # Terminal 1
make dev-frontend # Terminal 2waitless/
├── backend/ # Go API server
│ ├── cmd/server/ # Main entrypoint
│ └── internal/ # Business logic
│ ├── api/ # HTTP handlers
│ ├── database/ # Database connection
│ ├── middleware/ # Auth, security, rate limiting
│ ├── models/ # GORM data models
│ └── services/ # Email, crypto, validation
├── frontend/ # TanStack Start + React
│ └── src/
│ ├── routes/ # File-based routing
│ └── lib/ # API client, utilities
└── docker/ # Dockerfile + compose
- Fork the repo and create a branch from
main - Write your code — follow existing patterns
- Test your changes —
make test - Submit a PR — describe what you changed and why
- Go:
gofmt+go vet - TypeScript: Standard TypeScript, no semicolons in JSX
- CSS: Vanilla CSS with design tokens
- 🐛 Bug fixes
- 📖 Documentation improvements
- 🌐 Translations
- 🧩 New integrations
- ✅ Tests
- 🎨 UI improvements
Use GitHub Issues. Include:
- Steps to reproduce
- Expected vs actual behavior
- Environment details (Go version, OS, browser)
By contributing, you agree your contributions will be licensed under the MIT License.