# Schlussel Rust Review

> Project-specific PR-review rules for the Schlussel Rust workspace. Focuses on formula-driven OAuth behavior, storage and locking semantics, docs sync, and toolchain alignment.

- Skill: `tuist/schlussel-rust-review` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tuist/schlussel-rust-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tuist/schlussel-rust-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: tuist (https://skillmd.com/u/tuist)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tuist/schlussel-rust-review

---


# Schlussel Rust Review

This skill is intentionally narrow. Generic Rust style and lint issues are already covered by formatting and CI. Focus on the repo-specific rules below.

For each finding, cite `path:line` and quote the relevant snippet.

## 1. Formula files remain the source of truth

The JSON files in `src/formulas/` are the product contract for providers, methods, and public clients.

### Flag

- A diff that hardcodes provider metadata in Rust while drifting from `src/formulas/*.json`. Severity: high.
- A schema or CLI behavior change that is not reflected in `website/src/skill.md` or `website/src/html.ts`. Severity: medium.

## 2. Token persistence and refresh keys stay compatible

The repo uses `{formula}:{method}:{identity}` storage keys and refresh locks derived from those keys.

### Flag

- A diff that changes key generation or parsing without migration handling and tests. Severity: high.
- A diff that changes refresh locking behavior without tests covering cross-process safety assumptions. Severity: medium.

## 3. Contributor commands stay on the Rust toolchain path

This repo should use `mise exec -- cargo ...` in contributor-facing docs and CI.

### Flag

- A toolchain bump in `mise.toml` without the matching `rust-version` change in `Cargo.toml`, or vice versa. Severity: medium.
- Docs or scripts that tell contributors to use Zig commands after the Rust migration. Severity: medium.

## 4. CLI contract changes need tests or docs updates

The CLI is a user-facing product surface for agents and humans.

### Flag

- A change in `crates/schlussel-cli/src/` that alters commands, JSON output, or error behavior without focused tests or matching docs updates. Severity: medium.

## 5. Keep crate roots small

`lib.rs` and `main.rs` should stay as tables of contents and light dispatch.

### Flag

- A new or expanded crate root that mixes unrelated implementation instead of splitting modules. Severity: low.

## 6. No em dashes in user-facing text

README copy, docs, help text, and review content should avoid em dashes.

### Flag

- New user-facing strings or documentation that introduce an em dash character. Severity: low.

