dprintlisted
Install: claude install-skill fmind/dotfiles
# dprint Formatting Standard
Canonical setup for **dprint**, the primary formatter for configuration and markup languages (JSON, Markdown, TOML, YAML). dprint formats only — linting lives in the language stacks ([go-stack](../go-stack/SKILL.md), [python-stack](../python-stack/SKILL.md)).
## 1. Configuration Strategy
dprint resolves config by searching the current directory upward through ancestors; only when that search finds nothing does it fall back to the global config (if one is set up, e.g. via `DPRINT_CONFIG_DIR`). So every project still needs its own resolvable `dprint.json`/`dprint.jsonc` — otherwise it silently inherits whatever the global fallback happens to contain. In this dotfiles repository, root `dprint.json` is the single canonical config and `dot_config/dprint/symlink_dprint.jsonc.tmpl` deploys `~/.config/dprint/dprint.jsonc` as a symlink to it (the global fallback); do not maintain a second config copy.
1. **Copy (default)**: Copy root `dprint.json` into the project root. This is self-contained, version-pinned, and offline; bump plugin versions per repo.
1. **Extends (DRY)**: Set `"extends"` to a single source of truth — a local path or a commit-pinned URL, e.g. `"extends": "https://raw.githubusercontent.com/fmind/dotfiles/<commit>/dprint.json"`. Projects inherit and can still override rules or add plugins.
## 2. Usage
- `dprint fmt` — format in place; the pre-commit hook calls the `format:dprint` task with `{staged_files}`.
- `dprint check` — verify f