Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 26 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,32 @@ cargo test --workspace

- Branch from `main`, open PRs against `main`.
- Run `cargo fmt`, `cargo clippy`, and `cargo test --workspace` before pushing.
- Use issue prefixes: `[contracts]`, `[backend]`, `[documentation]`, `[infra]`.
- Label Drips Wave issues with `Drips Wave` and `complexity:*`.
- Keep PRs focused on one issue and include `Closes #<issue>` when the work fully satisfies the acceptance criteria.

## Issue prefixes and labels

Use bracketed prefixes in issue titles so contributors can quickly match work to the right crate, document, or operational surface:

| Prefix | Scope |
|--------|-------|
| `[contracts]` | Soroban escrow logic under `contracts/waveflow-escrow` |
| `[gateway]` | GitHub webhook ingestion, HMAC verification, and chain attestation in `crates/gateway` |
| `[api]` | REST read/admin routes, middleware, and API state in `crates/api` |
| `[shared]` | Shared config, error, and type definitions in `crates/shared` |
| `[documentation]` | README, PRD, roadmap, runbooks, and contributor docs |
| `[infra]` | Docker, Render, migrations, CI, and deployment support |

Wave-aligned issues should carry:

- `Drips Wave` for work intended to participate in Wave-style bounty accounting.
- `complexity:low`, `complexity:medium`, or `complexity:high` so maintainers can map the issue to the gateway point schedule.
- Any area label that helps routing, such as `contracts`, `gateway`, `api`, `documentation`, `security`, or `infra`.

When maintainers open or update the gateway point-mapping issue, link it from Wave bounty issues whose complexity label determines payout. If no mapping issue exists yet, document the expected point value directly in the issue body.

## Wave program alignment

WaveFlow is Stellar-native by design. It borrows the Wave contribution pattern of labelled issues, merged PRs, points, and payouts, but PRD non-goal NG6 keeps it independent from any Drips API dependency. Contributors should implement behavior against WaveFlow's Soroban escrow, gateway, API, and Postgres audit trail rather than assuming an external Wave service will calculate or submit payouts.

## Security

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ cargo run -p waveflow-api
- [Product Requirements](docs/PRD.md)
- [Implementation Roadmap](docs/ROADMAP.md)
- [Core loop walkthrough](docs/core-loop.md)
- [Contributing guide](CONTRIBUTING.md)

## License

Expand Down