Thank you for your interest in building the future of inflation protection on Stellar! This guide will help you contribute effectively.
- Smart Contracts: Soroban asset management logic (Rust)
- Frontend: Next.js, TypeScript, Tailwind CSS, Freighter Wallet
- AI Engine: Time-series FX forecasting (Python/FastAPI)
- Data: Central Bank APIs, Market Feeds
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.
feat(contract): implement yield allocation logicfix(ui): correct risk visualization chartdocs: update fx data source list
- Pick an issue from the
docs/folder. - When you start, comment on the issue or mark it as "In Progress".
- When Completed: You MUST update the issue file with:
- Check the box
[x] - Append your GitHub username and Date/Time.
- Example:
- [x] Integrate FX Feed (@bbkenny - 2023-10-27 14:00)
- Check the box
- Clone: Clone the repo locally.
- Branch: Create a feature branch (
feat/my-feature). - Develop: Write code following the Style Guide (
STYLE.md). - Test: Run
cargo test(contracts) ornpm run test(frontend). - Commit: Follow the commit guidelines above.
When opening a PR, follow these steps:
-
Link the Issue: In your PR description, use:
Closes #26— when your PR resolves the issueFixes #26— when your PR fixes a bugResolves #26— when your PR fully resolves it Example:
## Summary - Added detailed event logging for AI analysis Closes #26 -
Tag Both Issue & PR:
- On the issue: Comment tagging the author (
@username) to let them know you're working on it - On the PR: Tag
@bbkennyto notify maintainer(s) review is ready Example on issue:
Hey @bbkenny, I've got a PR ready for this. Want to check it out when you get a chance? Example on PR comment: @bbkenny, PR is ready for review!
- On the issue: Comment tagging the author (
-
Keep PRs Small: Only fix what's needed. Don't rewrite entire files or change hundreds of lines when the issue only needs a few lines fixed. Real devs fix the specific problem, not everything.
upstream/main
Read the Integration Guides located in the docs/ directory for detailed setup instructions.
When running smart contract tests, snapshot files may be generated in the test_snapshots/ directory. Please ensure this directory is not committed to version control. It has been added to .gitignore.