How formatting works
Formatting runs as part of every edit. After 100xprompt writes a change to disk, it formats the file in place, then re-reads it to check for problems. Type errors, lint issues, and unresolved imports come back into the conversation so 100xprompt can fix them in the same turn.Formatting only runs for file types that have a matching, available formatter. If nothing
matches the file’s extension, the change is left exactly as written.
Use a built-in formatter
100xprompt ships with support for a wide range of formatters out of the box. Each one activates automatically when 100xprompt detects that it applies to your project - either because the tool is installed and on yourPATH, or because your project carries the
relevant dependency or config file (for example a biome.json, a .clang-format, or
prettier in your package.json).
| Formatter | Languages / files |
|---|---|
prettier | JS/TS, JSX/TSX, HTML, CSS/SCSS/Sass/Less, Vue, Svelte, JSON/JSONC, YAML, TOML, XML, Markdown/MDX, GraphQL |
biome | JS/TS, JSX/TSX, HTML, CSS, JSON, YAML, Markdown, GraphQL and more |
gofmt | Go |
rustfmt / cargofmt | Rust |
ruff / uv format | Python |
clang-format | C, C++, and Arduino (.ino) sources and headers |
zig | Zig |
ktlint | Kotlin |
rubocop / standardrb | Ruby |
htmlbeautifier | ERB templates |
dart | Dart |
mix | Elixir |
ocamlformat | OCaml |
terraform | Terraform (.tf, .tfvars) |
gleam | Gleam |
shfmt | Shell scripts |
nixfmt | Nix |
latexindent | LaTeX |
air | R |
Configure the formatter option
Use the formatter key in your 100xprompt.json to customize which formatters run, to
register a formatter of your own, or to turn formatting off entirely.
Disable a single formatter
Suppose a built-in formatter conflicts with a step in your own toolchain. Setdisabled: true
on it to stop 100xprompt from ever running it:
100xprompt.json
Disable all formatting
Setformatter to false to skip formatting after edits across the board:
100xprompt.json
Add or override a formatter
Define your own entry to register a new formatter or replace the command of a built-in one. Each entry accepts these fields:| Field | Type | Description |
|---|---|---|
command | string[] | The command to run. Use the $FILE placeholder for the path of the file being formatted. |
extensions | string[] | File extensions this formatter applies to (for example [".py"]). |
environment | object | Extra environment variables to set when the command runs. |
disabled | boolean | Set to true to turn this formatter off. |
100xprompt.json
When you define your own entry,
100xprompt runs it whenever it edits a matching file -
it does not check for a config file or dependency first, so make sure the command is
available in your environment.Related
- Code Editing: how 100xprompt reads, edits, and verifies changes across your codebase.
- Settings: the full set of
100xprompt.jsonoptions and how configuration is resolved.
Code Editing
How 100xprompt reads, edits, and verifies changes across your codebase.
Settings
The full set of
100xprompt.json options and how configuration is resolved.