Thanks for your interest in contributing! This document covers everything you need to get started.
- Check open issues to avoid duplicating work
- For significant changes, open an issue first to discuss the approach
- Issues tagged
good first issueare a great starting point
git clone https://github.com/stellarlearn/stellarlearn.git
cd stellarlearn
cp .env.example .env # fill in your values
npm install
docker-compose up --build # starts all services + databasesSee the Getting Started section in the README for full prerequisites.
- Fork the repo and clone your fork
- Branch from
developusing the naming convention below - Make your changes and write tests
- Ensure CI passes locally before pushing:
npm run lint
npm run typecheck
npm run test
# For contract changes:
cd contracts && cargo test
# For Python service changes:
cd apps/<service> && pytest- Open a PR targeting
developand fill in the PR template
| Type | Pattern | Example |
|---|---|---|
| Feature | feature/<short-description> |
feature/ai-tutor-escalation |
| Bug fix | fix/<short-description> |
fix/reward-contract-overflow |
| Maintenance | chore/<short-description> |
chore/update-soroban-sdk |
| Release prep | release/<version> |
release/v1.0.0 |
main is protected — all changes go through develop first.
- Tests added or updated
-
npm run lintpasses -
npm run typecheckpasses (TypeScript changes) - Relevant docs updated (new endpoint → update
docs/api/) - No secrets or credentials committed
| Area | Location | Language |
|---|---|---|
| Learner frontend | apps/app-learner |
TypeScript / Next.js |
| Auth service | apps/service-auth |
TypeScript / Node.js |
| Courses service | apps/service-courses |
TypeScript / Node.js |
| Adaptive engine | apps/ai-adaptive |
Python / FastAPI |
| AI tutor | apps/ai-tutor |
Python / FastAPI |
| Soroban contracts | contracts/ |
Rust |
| Shared UI | packages/ui-kit |
TypeScript / React |
| Stellar SDK utils | packages/stellar-sdk-utils |
TypeScript |
Use Conventional Commits:
feat(ai-tutor): add confidence-score escalation
fix(reward-contract): prevent double disbursement on retry
chore(deps): bump soroban-sdk to 21.0.0
docs(api): document /recommend endpoint params
Do not open a public issue for security vulnerabilities. Email security@stellarlearn.io instead.
This project follows the Contributor Covenant Code of Conduct. By participating you agree to uphold it.