Thank you for your interest in building decentralized payroll infrastructure on Stellar! This guide will help you contribute effectively.
- Smart Contracts: Soroban (Rust)
- Frontend: Next.js, TypeScript, Tailwind CSS, Freighter Wallet
- Backend: FastAPI/Express, PostgreSQL, Redis
- SDK: TypeScript
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>
Types:
featβ A new featurefixβ A bug fixdocsβ Documentation changestestβ Adding or updating testsrefactorβ Code change that neither fixes a bug nor adds a featurestyleβ Formatting, missing semicolons, etc.choreβ Updating build tasks, package manager configs, etc.
Scopes: treasury, payroll, vesting, governance, frontend, backend, sdk, ci
feat(treasury): implement multi-sig approval logicfix(payroll): correct claimable amount roundingtest(vesting): add cliff boundary testsdocs(frontend): update integration guide with examplesfeat(sdk): add treasury client wrapper
-
Pick an issue from one of the issue trackers in
docs/:ISSUES-SMARTCONTRACT.md(SC-1 to SC-25)ISSUES-FRONTEND.md(FE-1 to FE-25)ISSUES-BACKEND.md(BK-1 to BK-10)ISSUES-SDK-TOOLING.md(TL-1 to TL-10)
-
When you start, comment on the GitHub issue or mark it as "In Progress".
-
When Completed: You MUST update the issue tracker doc with:
- Check the box
[x] - Append your GitHub username and Date/Time.
- Example:
- [x] Implement deposit logic (@yourname - 2026-02-18 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/SC-4-token-transfer
- Develop: Write code following the Style Guide (
STYLE.md). - Test: Run tests for your area:
# Smart Contracts cd contracts && cargo test --all # Frontend cd frontend && npm run lint
- Commit: Follow the commit guidelines above.
- Pull Request: Submit a PR with:
- Reference the issue number (e.g., "Closes SC-4")
- Description of changes
- Testing notes
Before submitting, ensure:
- Code compiles without warnings
- All existing tests pass
- New tests added for new functionality
- Documentation updated if needed
- Issue tracker doc updated
- Commit messages follow conventions
- Read the guides in
docs/for detailed setup instructions - Open an issue with the
questionlabel for help - Be respectful and constructive in all interactions