Pyth Crosschain is a monorepo for the components that make up the Pyth protocols. The primary languages are Rust (Hermes, Fortuna, Argus, on-chain SDKs, and other services) and TypeScript (SDKs, web apps, tooling).
Read standards/AGENTS.md before writing code — it is the
primary entry point for how we write code here. It indexes the cross-cutting style,
testing, services, and review standards, plus the Rust and TypeScript clusters.
- Tool versions are pinned in
.tool-versions(Node, pnpm, Rust, Python) andrust-toolchain.toml. If you usemise, it will pick these up automatically. - TypeScript:
pnpm install, then Turborepo tasks such aspnpm turbo build/pnpm turbo test.pnpm turbo fixformats and lints (Biome). - Rust:
cargo build,cargo test,cargo fmt,cargo clippy --all-targets -- --deny warnings. - pre-commit: hooks are enforced in CI. Run them locally with
pre-commit run --from-ref origin/main --to-ref HEAD.
Use Conventional Commits for commit messages and PR titles, and bump package versions per SemVer when changing a published package.