Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
Rails Linting Guide
Run linting tools and fix issues before pushing code.
Workflow
1. Check What Changed
git diff --name-only HEAD~1
# or for unstaged changes
git diff --name-only2. Run Linters
Ruby files:
# Check only
bundle exec rubocop
# Auto-fix
bundle exec rubocop -AERB templates:
# Check only
bundle exec erblint --lint-all
# Auto-fix
bundle exec erblint --lint-all --autocorrectSecurity scan:
bin/brakeman --no-pager3. Handle Results
If auto-fix worked:
git add -A && git commit -m "style: linting"If manual fixes needed:
- Report specific issues with file:line references
- Suggest fixes for common patterns
4. Common Issues
| Issue | Fix |
|---|---|
| Line too long | Break into multiple lines |
| Missing frozenstringliteral | Add # frozen_string_literal: true at top |
| Trailing whitespace | Remove trailing spaces |
| Missing newline at EOF | Add blank line at end |
Output
## Linting Summary
### Ruby (rubocop)
- Files checked: X
- Offenses: X (Y auto-corrected)
- Remaining issues: [list with file:line]
### ERB (erblint)
- Files checked: X
- Issues: X (Y auto-corrected)
### Security (brakeman)
- Warnings: X
- Critical: [list if any]
### Status
[PASSED - ready to push / NEEDS ATTENTION - manual fixes required]
