Contributing
RevvFi is open source across four repositories, all under github.com/RevvFi:
| Repository | Contents |
|---|---|
| revvfi-contracts | Solidity smart contracts (Foundry) |
| revvfi-backend | Go indexer and API |
| revvfi-app | Next.js frontend |
| revvfi-docs | This documentation site |
How to Submit a Change
- Fork the relevant repository and branch off
main. - Keep pull requests focused on one change — smaller PRs get reviewed faster.
- Run the test suite before opening a PR:
- Contracts:
forge test - Backend:
go build ./... && go vet ./... && go test ./... - Frontend:
npx tsc --noEmit - Docs:
npm run build
- Contracts:
- Open a PR against
maindescribing what changed and why.
Code Standards
- Match the existing style and conventions of the file/repo you’re editing.
- No hardcoded addresses, private keys, or magic numbers where an existing config/env pattern already exists.
- Contract changes should come with tests covering the new behavior.
- Comments should explain non-obvious “why,” not restate what the code already does.
Reporting Bugs
Open an issue on the relevant repository with steps to reproduce, expected behavior, and actual behavior. For contract bugs, a minimal Foundry test reproducing the issue is the fastest way to get it fixed.
Documentation
Found something in these docs that’s outdated or wrong? PRs against revvfi-docs are especially welcome — this documentation only stays useful if it’s kept in sync with the actual contracts.
Security Issues
Please don’t open a public issue for a security vulnerability — see the RevvFi app’s Contact page and reach out directly instead.