Claude-skill-registry dprint
Use when working with dprint formatter - configuration, plugins, CLI commands, editor integration, or global setup.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/dprint" ~/.claude/skills/majiayu000-claude-skill-registry-dprint && rm -rf "$T"
manifest:
skills/data/dprint/SKILL.mdsource content
dprint
Fast pluggable code formatter.
Config Resolution
CC Misconception: "dprint is project-local only." Wrong. dprint supports:
- Ancestor lookup - walks UP directory tree for
dprint.json - Global fallback -
(or~/.config/dprint/dprint.json
)DPRINT_CONFIG_DIR - Explicit path -
dprint fmt -c /path/to/config.json
| Discovery Mode | Behavior |
|---|---|
| Default: ancestor + global |
| Global only |
| Require explicit |
No config found anywhere → dprint errors.
Plugins
Plugins are WASM files loaded via URL in
dprint.json:
{ "plugins": [ "https://plugins.dprint.dev/typescript-0.95.13.wasm", "https://plugins.dprint.dev/json-0.21.1.wasm", "https://plugins.dprint.dev/markdown-0.20.0.wasm" ] }
Common plugins:
- TS/JS/JSX/TSXtypescript
- JSON/JSONCjson
- Markdownmarkdown
- TOMLtoml
- YAMLg-plane/pretty_yaml
- CSS/SCSS/Lessg-plane/malva
- GraphQLg-plane/pretty_graphql
Plugin config - top-level keys match plugin name:
{ "typescript": { "quoteStyle": "preferSingle", "semiColons": "asi" }, "markdown": { "lineWidth": 100, "textWrap": "maintain" } }
Update plugins: Check https://plugins.dprint.dev for latest versions.
CLI Commands
dprint fmt # Format files, write to disk dprint check # Check if files need formatting (CI) dprint fmt --diff # Show diff without writing dprint fmt --staged # Format only git staged files dprint fmt --stdin ts # Format stdin as TypeScript dprint fmt "src/**/*.ts" # Format specific patterns dprint init # Create dprint.json dprint config update # Update plugin versions dprint clear-cache # Clear plugin cache dprint lsp # Start language server
Editor Integration
Zed
{ "formatter": { "external": { "command": "dprint", "arguments": ["fmt", "--stdin", "{buffer_path}"] } } }
VS Code
Install "dprint" extension. It uses dprint LSP automatically.
Neovim
Use
null-ls or conform.nvim with dprint as formatter.
Dotfiles Pattern
For consistent formatting across all projects:
# 1. Create config in dotfiles ~/<dotfiles>/dprint/dprint.json # 2. Set global config location (in shell rc) export DPRINT_CONFIG_DIR="$HOME/<dotfiles>/dprint" # Alternative: symlink to default location mkdir -p ~/.config/dprint ln -s ~/<dotfiles>/dprint/dprint.json ~/.config/dprint/dprint.json
Projects with local
dprint.json override global. Projects without use global.
Excludes
{ "excludes": [ "**/node_modules", "**/*-lock.json", "**/dist", "**/build" ] }
Reference
dprint help # All commands dprint help fmt # Format command options dprint output-resolved-config # Debug: show effective config