Unified linting scripts for all services in the monorepo. Use when the user wants to lint code, check formatting, or run type checks.
Unified linting scripts for all services in the Saturn's Oracle monorepo.
# TypeScript
.claude/skills/lint-service/lint-typescript.sh apollos-ui
.claude/skills/lint-service/lint-typescript.sh apollos-ui --staged-only
# Python
.claude/skills/lint-service/lint-python.sh mercury-clustering
.claude/skills/lint-service/lint-python.sh terra-local-gpu --staged-only
# Rust
.claude/skills/lint-service/lint-rust.sh flora-clustering-rust
.claude/skills/lint-service/lint-rust.sh hercules-local-algo --staged-only
lint-typescript.sh:
lint-python.sh:
lint-rust.sh:
These scripts are called by:
for service in mercury-clustering terra-local-gpu apollo-video-distillation; do
.claude/skills/lint-service/lint-python.sh $service
done
# If working in apollos-ui
.claude/skills/lint-service/lint-typescript.sh apollos-ui --staged-only
# TypeScript
.claude/skills/lint-service/lint-typescript.sh apollos-ui --staged-only
# Python
.claude/skills/lint-service/lint-python.sh mercury-clustering --staged-only
# Rust
.claude/skills/lint-service/lint-rust.sh flora-clustering-rust --staged-only
All services extend root configs:
/pyproject.toml (ruff + mypy)/rustfmt.toml + /.clippy.toml/.eslintrc.monorepo.jsServices can override with local configs if needed.
If linting fails, use these commands to auto-fix:
TypeScript:
cd apollos-ui
pnpm lint:fix
Python:
cd mercury-clustering
uv run ruff check --fix .
uv run ruff format .
Rust:
cd flora-clustering-rust
cargo fmt --all
cargo clippy --all-targets --all-features --fix