Skip to content

Conversation

@nsheaps
Copy link
Owner

@nsheaps nsheaps commented Jan 21, 2026

Summary

Added rubocop (Ruby linting) and cspell (spell checking) that were missed during the megalinter migration, integrating them into the existing format and lint mise tasks.

Changes

  • mise.toml: Added ruby, gem:rubocop, and npm:cspell tools
  • .mise/tasks/format: Added rubocop -A (auto-fix) and cspell
  • .mise/tasks/lint: Added rubocop and cspell (check only)
  • .cspell.json: Added project-specific words and ignore paths
  • .prettierignore: Added to ignore session-specific Claude files
  • CLAUDE.md: Added project rules documenting the linting architecture
  • Casks/nsheaps-base.rb: Fixed typo (generage→generate)
  • README.md: Fixed typos (referece→reference, depdendency→dependency)

Architecture Note

This project uses a unified linting approach - all linters run through mise run format (which the CI workflow calls). Security linters are the exception and use separate actions because they have different concerns.

Test plan

  • Run mise exec -- rubocop locally - passes (11 files, no offenses)
  • Run mise exec -- cspell "**/*" --no-progress locally - passes (12 files, 0 issues)
  • CI workflow runs successfully

🤖 Generated with Claude Code

nsheaps and others added 4 commits January 21, 2026 12:21
The migration from megalinter to mise-based linting missed rubocop
(Ruby linting) and cspell (spell checking). This adds:

- mise tasks for rubocop and cspell
- GitHub actions for lint-rubocop and lint-cspell
- New "lint" job in check.yaml workflow
- Updated cspell config with project-specific words
- Fixed typos discovered by cspell

Co-Authored-By: Claude Code (User Settings, in: ${CLAUDE_PROJECT_DIR}) <noreply@anthropic.com>
The initial implementation incorrectly created separate workflow jobs
and GitHub Actions for rubocop and cspell. This project uses a unified
linting approach where all linters belong in the format/lint mise tasks.

Changes:
- Remove separate lint job from check.yaml workflow
- Remove unnecessary lint-rubocop and lint-cspell actions
- Remove standalone rubocop and cspell mise tasks
- Add rubocop and cspell to the existing format task (with auto-fix)
- Add rubocop and cspell to the existing lint task (check only)
- Add CLAUDE.md documenting the linting architecture
- Add .prettierignore for session-specific files

Co-Authored-By: Claude Code (User Settings, in: ${CLAUDE_PROJECT_DIR}) <noreply@anthropic.com>
Move project-specific words from .cspell.json inline array to a
dedicated dictionary file at .config/cspell/project.txt for better
organization and maintainability.

- Add exception to .gitignore for .config/cspell/

Co-Authored-By: Claude Code (User Settings, in: ${CLAUDE_PROJECT_DIR}) <noreply@anthropic.com>
@nsheaps nsheaps marked this pull request as ready for review January 21, 2026 18:40
@nsheaps nsheaps merged commit b6d5c54 into main Jan 21, 2026
2 checks passed
@nsheaps nsheaps deleted the fix/add-rubocop-cspell-linters branch January 21, 2026 18:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants