| name | format-cc |
| description | Formats Claude Code files with markdownlint, prettier, and shellcheck. Use when user asks to "format my files", "fix markdown formatting", "clean up CLAUDE.md", or "check shell scripts". Auto-fixes markdown, JSON, YAML formatting and analyzes shell script quality. |
| version | 1.0.0 |
| argument-hint | [flags] |
| allowed-tools | ["Bash(claudelint:*)"] |
Format Claude Code Files
Runs claudelint format to format Claude Code project files using industry-standard tools:
- markdownlint - Markdown structure and formatting
- prettier - Code formatting for markdown, JSON, YAML
- shellcheck - Shell script analysis
Usage
claudelint format --fix $ARGUMENTS
Modes
Fix Mode (default)
Auto-fix formatting issues:
claudelint format --fix
Or simply:
claudelint format
Check Mode
Check formatting without making changes:
claudelint format --check
Useful for CI/CD to verify formatting.
Options
--check - Check formatting without making changes
--fix - Fix formatting issues (default)
--verbose - Show detailed command output
What Gets Formatted
Markdown Files
CLAUDE.md
.claude/**/*.md
Tools:
- markdownlint - MD041, MD031, MD032, MD040, MD022
- prettier - Line wrapping, indentation
JSON Files
.claude/**/*.json
.mcp.json
.claude-plugin/**/*.json
Tool: prettier
YAML Files
Tool: prettier
Shell Scripts
.claude/**/*.sh
.claude/hooks/*
Tool: shellcheck (analysis only, no auto-fix)
Examples
Format all Claude files:
claudelint format --fix
Check formatting in CI:
claudelint format --check
Verbose output:
claudelint format --fix --verbose
Required Tools
Install formatting tools globally or in your project:
markdownlint
npm install -g markdownlint-cli
npm install --save-dev markdownlint-cli
prettier
npm install -g prettier
npm install --save-dev prettier
shellcheck
brew install shellcheck
npm install -g shellcheck
Configuration
The format command automatically scopes to Claude files only, so it won't conflict with your project's existing formatters.
Customizing Markdownlint
Create .markdownlint.json in your project root:
{
"default": true,
"MD013": false,
"MD033": {
"allowed_elements": ["kbd", "br"]
},
"MD041": true,
"MD031": true,
"MD032": true,
"MD040": true,
"MD022": true
}
claudelint format will automatically use this configuration.
Customizing Prettier
Create .prettierrc.json in your project root:
{
"semi": true,
"singleQuote": true,
"printWidth": 100,
"tabWidth": 2,
"useTabs": false,
"arrowParens": "always",
"endOfLine": "lf",
"proseWrap": "preserve"
}
claudelint format will automatically use this configuration.
Integration
Add to package.json scripts:
{
"scripts": {
"format:claude": "claudelint format --fix",
"format:claude:check": "claudelint format --check",
"lint:claude": "claudelint check-all"
}
}
Add to pre-commit hooks:
#!/bin/sh
claudelint format --check
claudelint check-all
Exit Codes
0 - All formatting checks passed
1 - Formatting issues found
See Also