Thanks for contributing to Stellarcade.
- Find an issue to work on.
- Fork and clone the repository.
- Create a focused branch for your work.
- Implement the change and add or update tests.
- Run the local checks.
- Open a pull request against
main.
- Install Rust.
- Install Soroban CLI:
cargo install --locked soroban-cli - Run tests in the touched crate with
cargo test.
- Install Node.js.
- Install dependencies with
cd backend && npm install. - Start the dev server with
npm run dev.
- Install Node.js.
- Install dependencies with
cd frontend && npm install. - Start the dev server with
npm run dev.
- Install Docker and Docker Compose.
- Start local services with
docker-compose up -d.
- Enable the shared repo hooks right after cloning.
- macOS/Linux:
bash scripts/setup-hooks.sh - Windows PowerShell:
powershell -ExecutionPolicy Bypass -File scripts/setup-hooks.ps1 - Verify the setup with
git config --get core.hooksPath - The hooks catch common contract, backend, and frontend failures before push.
- JavaScript and TypeScript: follow the ESLint configuration.
- Rust: use
snake_caseand runcargo fmt. - SQL: use
snake_casefor table and column names.
- Keep each PR focused on one change area.
- Update docs when behavior changes.
- Run the repo hooks before pushing so CI failures are caught locally.
- Ensure CI checks pass before requesting review.
- Use the issue templates in
.github/ISSUE_TEMPLATE/. - Include reproduction steps for bugs and exact scope for features.