This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
- Languages: Rust.
- Frameworks: none detected from the supported starter markers.
- Run verification from the repo root through the Bazel wrappers:
bazel run //:fmt,bazel test //:fmt_check,bazel test //:lint,bazel test //:test. The Rust wrappers invoke Cargo; the aggregate suites also cover SDK and launcher targets.
crates/contains the Rust workspace crates and active CLI/runtime implementation.tools/contains the repo-level developer tooling suite (doctor, coverage, benchmark, cache, codegen, fuzz, generators, remote, telemetry, templates, version, workspace). Each tool is a Cargo workspace member;scripts/are thin delegators and Bazel exposes runnable tools as//tools/<tool>:<tool>targets (templatesis a library only). Seedocs/TOOLS.mdfor the full reference.docs/and top-level Markdown files track behavior, parity, and operational guidance.
- Run a tool with
bazel run //tools/<tool>:<tool>(e.g.bazel run //tools/doctor:doctor) which delegates tocargo run -p tools-<tool>internally. - Adding a new Rust tool: create
tools/<name>/with aCargo.toml(name = "tools-<name>"),src/main.rs, and aBUILD.bazelsh_binarywrapping//tools:cargo_run.sh(seetools/BUILD.bazel). Register it in rootCargo.tomlmembers and in.frontal-code/settings.jsondevtools.
- Prefer small, reviewable changes and keep generated bootstrap files aligned with actual repo workflows.
- Keep shared defaults in
.frontal-code/settings.json; reserve.frontal-code/settings.local.jsonfor machine-local overrides. - Do not overwrite existing
FCODE.mdcontent automatically; update it intentionally when repo workflows change.