Thank you for your interest in contributing. This document covers everything you need to get started.
- Read the Code of Conduct. All contributors are expected to follow it.
- For significant changes, open an issue first to discuss the approach before writing code.
- For bug fixes and small improvements, a pull request is sufficient.
git clone https://github.com/your-org/stellar-intel.git
cd stellar-intel
npm install
cp .env.example .env.local
npm run devSee README.md for full setup instructions and environment variable reference.
- Fork the repository and create a branch from
main. - Name branches descriptively:
feat/sep24-fee-fetching,fix/anchor-rate-display,docs/readme-update. - Make your changes. Keep commits focused — one logical change per commit.
- Run checks before pushing:
npm run typecheck npm run lint npm run build
- Open a pull request against
main. Fill in the PR description template.
- Strict mode is enabled. All code must pass
npm run typecheckwith zero errors. - Prefer explicit types over
any. Useunknownwhen the type is genuinely unknown. - Export types from
types/— do not inline complex types in component files.
- One component per file.
- Components live in
components/. UI primitives live incomponents/ui/. - Keep components focused. If a component exceeds ~150 lines, consider splitting it.
- Use SWR hooks from
hooks/for client-side data fetching. - Network calls belong in
lib/— not inside components or hooks. - No mock data in production code. If real data is unavailable, surface an error state.
- Tailwind CSS v4 only. No inline
styleprops unless absolutely necessary. - Follow the existing class ordering convention (layout → spacing → typography → colour).
Follow the Conventional Commits format:
feat: add SEP-24 fee fetching for Cowrie anchor
fix: correct exchange rate computation for NGN corridor
docs: update environment variable reference
refactor: extract anchor TOML resolution into lib/sep1.ts
Types: feat, fix, docs, refactor, test, chore, ci.
Anchors are defined in constants/index.ts. To add a new anchor:
- Add an entry to
KNOWN_ANCHORSwith the anchor'sid,name,domain,supportedCountries,supportedCurrencies, anddepositMethods. - The anchor must have a publicly resolvable
stellar.tomlathttps://{domain}/.well-known/stellar.toml. - The
stellar.tomlmust containTRANSFER_SERVER_SEP0024for off-ramp/on-ramp support. - Verify the anchor's
/feeendpoint returns live data before submitting the PR.
-
npm run typecheckpasses -
npm run lintpasses -
npm run buildpasses - No
isMock,// MOCK, or hardcoded rate values added - New anchor entries include a verified
stellar.tomldomain - PR description explains what changed and why
Open an issue with the question label.