Thank you for your interest in building trustless treasury management on Stellar! This guide will help you contribute effectively.
- Smart Contracts: Soroban (Rust,
soroban-sdk) - Frontend: Next.js, TypeScript, Tailwind CSS, Freighter Wallet
- Backend: FastAPI or NestJS
- Indexing: Custom Soroban-RPC event listener
We follow a strict Modular Commit philosophy to ensure history is readable and revertible.
The Golden Rule:
"Commit after every meaningful change, not every line."
- Meaningful Change: Completing a function, finishing a fix, adding a feature block, creating a file, or making a significant modification.
- Avoid: Micro-commits for single-line edits unless they are standalone fixes.
- Frequency: Commit often, but only when you finish a logical piece of work.
<type>(<scope>): <description>
feat(treasury): implement multi-sig deposit logicfeat(governance): add proposal voting functionfix(ui): resolve wallet connect state bugtest(treasury): add withdrawal approval testsdocs: update testnet deployment guide
| Type | Description |
|---|---|
feat |
A new feature |
fix |
A bug fix |
test |
Adding or updating tests |
docs |
Documentation changes |
refactor |
Code refactoring (no feature/fix) |
style |
Formatting, semicolons, etc. |
chore |
Build process, dependencies |
- Pick an issue from the relevant
docs/ISSUES-*.mdfile. - When you start, comment on the GitHub issue or mark it as "In Progress".
- When Completed: You MUST update the corresponding
ISSUES-*.mdwith:- Check the box
[x] - Append your GitHub username and Date/Time.
- Example:
- [x] Implement deposit function (@yourname - 2026-02-20 14:00 UTC)
- Check the box
- Fork & Clone: Fork this repo and clone it locally.
- Branch: Create a feature branch from
main.git checkout -b feat/treasury-deposit
- Develop: Write code following the Style Guide.
- Test:
- Contracts:
cd smartcontract && cargo test - Frontend:
cd frontend && npm run test
- Contracts:
- Build Check:
- Contracts:
cargo build --all - Frontend:
npm run build
- Contracts:
- Commit: Follow the commit guidelines above.
- Pull Request: Submit a PR with a clear description of your changes.
| Label | Meaning |
|---|---|
critical |
Must be done first, blocks other work |
high |
Important, should be prioritized |
medium |
Standard priority |
low |
Nice to have, can wait |
good first issue |
Great for newcomers |
smart-contract |
Soroban/Rust work |
frontend |
Next.js/UI work |
backend |
API/indexer work |
devops |
CI/CD and infrastructure |
- Read the Integration Guides in
docs/ - Open a Discussion for questions
- Tag maintainers for urgent issues