Code Formatting Skill
This skill provides code formatting operations for the project codebase, which is a Rust workspace with TypeScript components.
When to Use This Skill
Use this skill when you need to:
- •Format code after editing Rust or TypeScript files
- •Check if code meets formatting standards
- •Ensure code formatting compliance before commits
Command Selection Rules
Choose the appropriate command based on the number of files edited:
| Files Edited | File Type | Command to Use | Rationale |
|---|---|---|---|
| 1-2 files | Rust | just fmt-file <file> (per file) | Faster, targeted formatting |
| 3+ files | Rust | just fmt-rs (global) | More efficient than multiple per-file calls |
| 1-2 files | TypeScript | just fmt-file <file> (per file) | Faster, targeted formatting |
| 3+ files | TypeScript | just fmt-ts (global) | More efficient than multiple per-file calls |
Decision process:
- •Count the number of files you edited (by type: Rust or TypeScript)
- •If 2 or fewer files of that type: run
just fmt-filefor each file - •If 3 or more files of that type: run the global command (
just fmt-rsorjust fmt-ts)
Available Commands
Format Rust Code
just fmt-rs
Formats all Rust code using cargo +nightly fmt --all. This is the primary formatting command.
Alias: just fmt (same as fmt-rs)
Check Rust Formatting
just fmt-rs-check
Checks Rust code formatting without making changes using cargo +nightly fmt --all -- --check.
Alias: just fmt-check (same as fmt-rs-check)
Format Specific File
just fmt-file <FILE>
Formats a specific file (Rust or TypeScript) based on extension. Automatically detects file type.
Examples:
- •
just fmt-file src/main.rs- formats a Rust file - •
just fmt-file typescript/client.ts- formats a TypeScript file
Format TypeScript Code
just fmt-ts
Formats all TypeScript code using pnpm format.
Check TypeScript Formatting
just fmt-ts-check
Checks TypeScript code formatting using pnpm lint.
Important Guidelines
MANDATORY: Format After Every Edit
You MUST format code immediately after editing Rust or TypeScript files.
This is a critical requirement from the project's development workflow:
- •Never skip formatting after file edits
- •Use the Command Selection Rules above to choose the right command
- •Run formatting before any check or test commands
Example Workflows
Single file edit:
- •Edit a Rust file:
src/common/utils.rs - •IMMEDIATELY run:
just fmt-file src/common/utils.rs - •Then run checks
Multiple files edit (3+):
- •Edit multiple Rust files across the codebase
- •IMMEDIATELY run:
just fmt-rs - •Then run checks
Common Mistakes to Avoid
❌ Anti-patterns
- •Never run
cargo fmtdirectly - Usejust fmt-fileorjust fmt-rs - •Never run
rustfmtdirectly - The justfile includes proper flags - •Never skip formatting - Even "minor" edits need formatting
- •Never use
just fmt-rsfor 1-2 files - Usejust fmt-file <file>for efficiency - •Never use
just fmt-filefor 3+ files - Usejust fmt-rsfor efficiency
✅ Best Practices
- •Format immediately after editing files
- •Use
just fmt-filefor 1-2 files (faster, targeted) - •Use
just fmt-rsfor 3+ files (more efficient) - •Run
just fmt-rs-checkto verify formatting before commits
Next Steps
After formatting your code:
- •Check compilation → See
.claude/skills/code-check/SKILL.md - •Run clippy → See
.claude/skills/code-check/SKILL.md - •Run tests → See
.claude/skills/code-test/SKILL.md