Thanks for your interest in contributing! This guide covers the essentials to get you started quickly.
New contributors follow this workflow:
- Create or pick an issue describing your fix/feature
- Branch from
dev:git checkout -b issue-123-feature-name - Code with tests and documentation
- Run
make cito validate locally - Push and create PR to
dev - Address review feedback (1-2 days)
- Merge → Auto-deploys to dev environment
TL;DR: Issue → Branch → Code → Test → PR → Review → Merge
Prerequisites: Node.js 24+, Python 3.14+, Docker, GNU Make
Install dependencies and start coding:
make install # Install all dependencies
make ci # Run all checks before pushingRun services for local development:
cd backend && make dev # Backend on :8000
cd frontend && make dev # Frontend on :9000See detailed setup in backend and frontend README files.
Use conventional commits for automated changelog generation:
feat: add user authentication
fix: resolve database connection timeout
docs: update API documentation
test: add integration tests for payments
Types: feat, fix, docs, test, refactor, style, chore
Before requesting review, ensure:
- Code follows our standards (linter passes)
- Codecov tests added/updated with 60% coverage minimum
- Documentation updated for new features
-
make cipasses locally - Commit messages follow convention
- PR describes what/why of changes
- No secrets or hardcoded credentials
See PR template for full checklist.
- Never commit secrets - Use environment variables
- Test coverage: 60% minimum (following Codecov reports)
- Naming: snake_case (Python), camelCase (JS/TS), kebab-case (files)
- Accessibility: WCAG Level AA for UI components
- Dependencies: Pin exact versions, security updates only
Full standards in code standards
- 💬 GitHub Discussions for questions
- 📋 Create an issue to report bugs
- 📖 Code of Conduct
- 📧 Email enacit4research@epfl.ch
- Development Workflow - Branch strategy, PR process, issue management
- Release Management - Versioning, deployments, hotfixes
- Code Standards - Language guidelines, testing, dependencies
- CI/CD Pipeline - Automated checks and deployment
Thank you for contributing to sustainability research at EPFL!