dprintlisted
Install: claude install-skill fmind/dot
# dprint
The formatter for configuration and markup files (JSON, Markdown, TOML, YAML); dprint formats only, while Python formatting and linting live in [ruff](../ruff/SKILL.md).
## Configuration
dprint searches the current directory upward for `dprint.json` or `dprint.jsonc` and falls back to the global config (`DPRINT_CONFIG_DIR`) only when nothing is found, so every project needs its own resolvable config or it silently inherits whatever the global one contains.
1. **Copy (default)**: copy a known-good `dprint.json` into the project root; it is self-contained and version-pinned. The first run downloads uncached plugins; later runs use dprint's local cache. Bump plugin versions per repository.
1. **Extends (DRY)**: set `"extends"` to a single source of truth, a local path or a commit-pinned URL such as `"https://raw.githubusercontent.com/fmind/dot/<commit>/dprint.json"`; override rules or add plugins locally.
## Commands
```bash
dprint fmt --allow-no-files # format:dprint — the hook appends {staged_files}; the flag keeps an empty list from exiting 14
dprint check # check:format — non-zero exit on drift
dprint add <plugin> # add and pin a plugin version
```
## Mise Tasks
```toml
[tasks."format:dprint"]
description = "Format JSON, Markdown, TOML, YAML (dprint)"
run = "dprint fmt --allow-no-files" # mise appends the hook's {staged_files}
[tasks."check:format"]
description = "Check config and markup formatting (dprint)"
run = "dprint check"