fast-format-x

$ ffx

The only formatter your AI needs to know.
One command. Every file type. In parallel.

<20ms
Startup
CPU Cores
2MB
Binary
~/project
$ ffx
Running formatters:
[standard] 12 files
[ruff] 8 files
[prettier] 5 files
 
Formatted 25 files in 0.14s
🤖
Built for AI Agents
Replace multiple formatter instructions in your AGENTS.md with one: Run ffx. No wasted tokens.
🎯
One Command, All Files
JS, TypeScript, Python, Kotlin, Go, Rust, Ruby—each file runs through the right formatter automatically.
Parallel Execution
All formatters run simultaneously. No more waiting for sequential pre-commit hooks.
🔧
Simple Config
One .fast-format-x.yaml file defines all your formatters with glob patterns.
🦀
Rust Powered
Single binary, instant startup, no runtime dependencies.

Install

curl -LsSf https://fast-format-x.briansigafoos.com/install.sh | bash

Or with Rust: cargo install --git https://github.com/briansigafoos/fast-format-x
View on GitHub

.fast-format-x.yaml

# Config file in your project root. Remove tools you don't need.
version: 1

tools:
  # Go
  - name: gofmt
    include: ["**/*.go"]
    cmd: gofmt
    args: [-w]

  # JavaScript / TypeScript / React
  - name: standard
    include: ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"]
    cmd: npx
    args: [standard, --fix]

  # Kotlin
  - name: ktlint
    include: ["**/*.kt", "**/*.kts"]
    cmd: ktlint
    args: [-F]

  # Python (Ruff - linter + formatter)
  - name: ruff
    include: ["**/*.py"]
    cmd: uv
    args: [run, ruff, check, --fix, .]

  # Ruby
  - name: rubocop
    include: ["**/*.rb"]
    cmd: bundle
    args: [exec, rubocop, -A]

  # Rust
  - name: rustfmt
    include: ["**/*.rs"]
    cmd: cargo
    args: [fmt, --]

  # Swift
  - name: swiftformat
    include: ["**/*.swift"]
    cmd: swiftformat
    args: [.]

  # Web: CSS, Markdown, JSON, YAML, HTML
  - name: prettier
    include: ["**/*.css", "**/*.md", "**/*.json", "**/*.yaml", "**/*.html"]
    cmd: npx
    args: [prettier, --write]

Download full config with Java, Terraform, Rails ERB, i18n, and more.