Skip to content

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.

Keeps your code consistently formatted without manual intervention.

  • 🔧 Automatic: Runs after every Write or Edit operation
  • 🌐 Multi-language: Supports C++, CMake, Shell, Markdown, JSON, YAML, and JS/TS
  • 🤫 Silent: Only warns when a formatter is missing

Use the plugin manager UI in Claude Code.

  1. Run /plugin in Claude Code Enter
  2. Go to Marketplaces Tab
  3. Select + Add Marketplace Enter
  4. Type tenzir/claude-plugins Enter
  5. Install formatter from the plugin list
TypeNameDescription
HookPostToolUseTriggers 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.cppclang-format
CMakeLists.txtcmake-format
deploy.shshfmt (uses .editorconfig if available)
README.mdmarkdownlint, then prettier
config.jsonprettier
pipeline.yamlyamllint (linting only)
app.tsxeslint

If a formatter is missing, you get a warning but the edit still completes:

cmake-format not found, skipping auto-formatting

Install the formatters you need and ignore the rest.