Auto-formats files after Claude edits using language-specific formatters and linters. Runs silently after every Write or Edit operation, supporting C++, CMake, Shell, Markdown, JSON, YAML, and JavaScript/TypeScript.
Features
Section titled “Features”Keeps your code consistently formatted without manual intervention.
- 🔧 Automatic: Runs after every
WriteorEditoperation - 🌐 Multi-language: Supports C++, CMake, Shell, Markdown, JSON, YAML, and JS/TS
- 🤫 Silent: Only warns when a formatter is missing
Installation
Section titled “Installation”Use the plugin manager UI in Claude Code.
- Run
/pluginin Claude Code Enter - Go to Marketplaces Tab
- Select + Add Marketplace Enter
- Type
tenzir/claude-pluginsEnter - Install formatter from the plugin list
Run the CLI command with your preferred scope.
# Install to user scope (default)claude plugin install formatter@tenzir
# Install to project scope (shared with team)claude plugin install formatter@tenzir --scope project
# Install to local scope (gitignored)claude plugin install formatter@tenzir --scope localAdd the marketplace and plugin to your settings file.
{ "extraKnownMarketplaces": { "tenzir": { "source": { "source": "github", "repo": "tenzir/claude-plugins" } } }, "enabledPlugins": { "formatter@tenzir": true }}Capabilities
Section titled “Capabilities”| Type | Name | Description |
|---|---|---|
| Hook | PostToolUse | Triggers on Write, Edit |
The plugin runs automatically after every Write or Edit operation. No
commands to remember.
When you ask Claude to edit a C++ file:
You: Add a debug log statement to process_data()Claude: [Edit tool runs]Formatter: [clang-format runs silently in background]The file ends up formatted according to your .clang-format config, even if
Claude’s edit had inconsistent spacing.
Different file types trigger their respective formatters:
| You edit… | Formatter runs |
|---|---|
parser.cpp | clang-format |
CMakeLists.txt | cmake-format |
deploy.sh | shfmt (uses .editorconfig if available) |
README.md | markdownlint, then prettier |
config.json | prettier |
pipeline.yaml | yamllint (linting only) |
app.tsx | eslint |
If a formatter is missing, you get a warning but the edit still completes:
cmake-format not found, skipping auto-formattingInstall the formatters you need and ignore the rest.