ACE - Lint
Ruby-native linting for markdown, YAML, and Ruby with no Node.js or Python runtime required.
Works with: Claude Code, Codex CLI, OpenCode, Gemini CLI, pi-agent, and more.
Getting Started | Usage Guide | Handbook - Skills, Agents, Templates

ace-lint gives developers and coding agents a single Ruby-first lint command that validates docs and code, applies safe auto-fixes, and keeps behavior predictable through config cascade defaults. It covers markdown, YAML, Ruby, and frontmatter without requiring Node.js or Python tooling.
How It Works
- Run lint checks across markdown, YAML, Ruby, and frontmatter validators in one pass.
- Apply safe auto-fixes with
--fixfor markdown and Ruby style issues. For markdown-family files,--fixis surgical (line-level) and does not reserialize structure. Use--formatwhen you explicitly want a guarded kramdown rewrite. - Report results with colorized pass/fail output, using configuration cascade from CLI flags through project and user defaults.
Use Cases
Validate markdown, YAML, and Ruby in one pass - run ace-lint for doc and code lint checks without mixing Node/Python tooling into Ruby projects. Use /as-lint-run for the full agent-driven lint workflow.
Apply low-risk formatting fixes before review - use --fix to automatically clean markdown and Ruby style issues prior to manual review. For markdown, fixes are surgical to preserve frontmatter/code blocks/tables/HTML. Run /as-lint-fix-issue-from to fix specific issues identified in lint reports.
Standardize lint behavior across teams and repos - rely on user/project/default cascade settings from ace-support-config for consistent validator sets and output modes.
Process and act on lint reports - use /as-lint-process-report to analyze lint output and coordinate fixes, pairing with ace-docs for documentation maintenance workflows that complement lint validation.
For public verification paths around grouped validator routing, doctor troubleshooting, and retained test commands, see the Usage Guide, doctor troubleshooting, and test commands.
Testing Model
ace-lint follows the restarted testing contract:
ace-test ace-lintruns deterministic fast tests (test/fast).ace-test ace-lint featis reserved for explicit deterministic feature tests (test/feat) when present.ace-test ace-lint allruns all deterministic package tests.ace-test-e2e ace-lintruns retained workflow-value scenarios fromtest/e2e.
Getting Started | Usage Guide | Handbook - Skills, Agents, Templates | Part of ACE