Thanks for your interest in contributing!
The full contributor setup guide is at docs/CONTRIBUTING.md.
It covers:
- Minimum local setup (backend + frontend)
- Optional services: PostgreSQL, Redis, SMTP
- Database migrations (PostgreSQL and SQLite paths)
- Running backend and frontend tests
- OpenAPI maintenance (
cd backend && npm run openapi:exportandnpm run api:validate— see backend/docs/openapi.md) - Queue worker setup and expectations
- Frontend E2E tests with Playwright
- Contract build and deploy steps
- Key repo terms and glossary definitions
- Common setup failures and fixes
- Commit message and changelog automation
For a quick overview of the API contract see API.md. Background services and troubleshooting are covered in docs/OPERATIONS.md. Feature flags are summarized in docs/FEATURE_FLAGS.md, and Soroban event shapes for the indexer are in docs/CONTRACT_EVENTS.md.
For Maintainers: See docs/TRIAGE.md for issue and PR triage procedures.
- Check existing issues or create a new one using our issue templates
- Fork the repository and create a feature branch:
git checkout -b feature/your-feature - Review the key project terms in docs/GLOSSARY.md
- Follow the setup guide in docs/CONTRIBUTING.md
- Make your changes and ensure all tests pass:
cd backend && npm test && cd ../frontend && npm test - Open a pull request targeting
main(reference the issue with "Closes #123")
Read docs/GLOSSARY.md early in your onboarding process. It explains the language used by the backend, frontend, and Soroban contract interface, including:
Portfolio/portfolio_idTarget allocation,Rebalance threshold,Slippage toleranceReflector oracleEmergency stopandCooldown period
This helps contributors complete the workflow without needing to read source code first.
Before you open a PR, review the Branch Protection & Required Checks guide to understand which CI checks must pass before your PR can be merged.
We provide templates for common contribution types:
- Bug Report - Report unexpected behavior or errors
- Feature Request - Suggest new features or enhancements
- Rebalancing Strategy - Propose new rebalancing strategies
- Documentation - Report or fix documentation issues
- Operations - Infrastructure or deployment concerns
- Security - Report security vulnerabilities (use private disclosure for critical issues)
If you're a maintainer, see the Maintainer Triage Guide for how to label, prioritize, and respond to issues and pull requests.
feat(api): add new endpoint-> Featuresfix(auth): resolve token issue-> Bug Fixesperf(worker): reduce rebalance polling load-> Performancefeat(api)!: require signed export requestsor aBREAKING CHANGE:footer -> Breaking Changes
Release workflow: See CHANGELOG.md for the complete release notes process and maintainer responsibilities.