name: code-format description: Format Rust and TypeScript code automatically. Use immediately after editing .rs/.ts files, when user mentions formatting, code style, or before commits/PRs. Ensures consistent code style following project conventions.
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
chat Comments (0)
Sign in to join the discussion and leave a comment.
Skill Details
Related Skills
Build your own?
Join 12,000+ developers contributing to the Claude ecosystem.
No comments yet. Be the first to share your thoughts!