Skip to content

Latest commit

 

History

History
48 lines (32 loc) · 1.38 KB

File metadata and controls

48 lines (32 loc) · 1.38 KB

Contributing to Lodestar

Prerequisites

  • Node.js ≥ 22
  • Rust (stable) with wasm32-unknown-unknown target: rustup target add wasm32-unknown-unknown
  • Stellar CLI: cargo install --locked stellar-cli --features opt

Running tests locally

Each component has its own test command. Run them from the repo root:

# Soroban contracts
cd contract && cargo test
cd contract/agents && cargo test

# Backend (vitest)
cd backend && npm ci && npm test

# Frontend (jest + tsc)
cd frontend && npm ci && npx tsc --noEmit && npm test

# Agent (vitest)
cd agent && npm ci && npm test

Building the contracts

cd contract && stellar contract build
cd contract/agents && stellar contract build

CI

All of the above run automatically on every PR and push to main via GitHub Actions (.github/workflows/ci.yml). Branch protection requiring all jobs to pass before merge is a planned follow-up.

Code style

  • Rust: run cargo fmt before committing; cargo fmt --all --check runs in CI under the contract-build job
  • JS/TS: follow the existing ESLint and TypeScript configuration in each package (JS lint CI steps are a planned follow-up)

Submitting a pull request

  1. Fork the repo and create a branch: git checkout -b feat/your-feature
  2. Make your changes and ensure all tests pass locally
  3. Open a PR against main with a clear description of what changed and why