Format Markdown, JSON, TOML, and YAML with dprint.
Scanned 10/6/2026
npx -y skills add fmind/dot --skill dprint --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Dprint?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/fmind-dprint)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: dprint
description: "Format Markdown, JSON, TOML, and YAML with dprint."
license: MIT
metadata:
kind: task
author: Médéric HURIER (Fmind)
source: github.com/fmind/dot/tree/main/skills/dprint
created: "2026-06-29"
updated: "2026-10-05"
---
# dprint
The formatter for configuration and markup files (JSON, Markdown, TOML, YAML); dprint formats only, while Python formatting and linting live in [ruff](../python-stack/references/ruff.md).
## Configuration
dprint searches the current directory upward for `dprint.json(c)` or `.dprint.json(c)` and falls back to the global config (`DPRINT_CONFIG_DIR`) only when nothing is found. Global fallback can prompt before `fmt`; use a local, version-pinned configuration for non-interactive project gates.
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
Repository tasks own the two gate commands; add and pin a plugin with `dprint add <plugin>`.
```toml
[tasks."format:dprint"]
description = "Format JSON, Markdown, TOML, YAML (dprint)"
run = "dprint fmt --allow-no-files" # mise appends the hook's {staged_files}; the flag keeps an empty list from exiting 14
[tasks."check:format"]
description = "Check config and markup formatting (dprint)"
run = "dprint check" # non-zero exit on drift
```
## Gotchas
- **Prefer `npm:` plugin references**: `npm:@dprint/markdown@<version>` over `https://plugins.dprint.dev/...wasm` URLs; both resolve, and the npm form makes the current version one `npm view <plugin> version` away.
- **Plugin order is precedence**: the `plugins` array order decides which plugin claims a file; keep specialized plugins before generic ones.
- **Load plugins for embedded code**: the Markdown plugin formats fenced JSON, TOML, and YAML only when those plugins are loaded too.
- **Format staged, check the whole tree**: `format:dprint` takes `{staged_files}` from the hook, which restages fixes; `check:format` always runs on the whole tree. Outside a hook, `dprint fmt --staged` or `--dirty` selects the staged or uncommitted files itself.
## Documentation
- [dprint](https://dprint.dev) · [Configuration](https://dprint.dev/config/) · [CLI](https://dprint.dev/cli/)
- Releases: [dprint](https://github.com/dprint/dprint/releases)
- Companion skills: [mise](../mise/SKILL.md) (task vocabulary), [lefthook](../github-actions/references/lefthook.md) (the pre-commit hook that calls `format:dprint`).
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!