Skip to content

ci(lint): add ASCII character check using ripgrep#814

Draft
raballew wants to merge 10 commits into
jumpstarter-dev:mainfrom
raballew:lint/ascii-check
Draft

ci(lint): add ASCII character check using ripgrep#814
raballew wants to merge 10 commits into
jumpstarter-dev:mainfrom
raballew:lint/ascii-check

Conversation

@raballew

Copy link
Copy Markdown
Member

Summary

  • Adds an ascii-check job to the lint workflow that uses rg '[^\p{ASCII}]' to flag non-ASCII characters (em-dashes, en-dashes, curly quotes, emoji, etc.) that render poorly or break in terminals
  • Excludes .cast and .html files which legitimately contain non-ASCII content
  • Currently there are ~1,104 lines with non-ASCII characters across tracked files that need to be fixed before this check can be enforced

Test plan

  • Verify the ascii-check job runs in CI (it will fail on existing violations -- expected)
  • Incrementally fix non-ASCII findings across the codebase
  • Once clean, the job gates future PRs from introducing new non-ASCII characters

🤖 Generated with Claude Code

Adds a lint job that flags non-ASCII characters (em-dashes, en-dashes,
curly quotes, emoji, etc.) which render poorly in terminals.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 06fb8df7-f564-49e1-8865-1e3a07ebc417

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

raballew and others added 9 commits June 19, 2026 19:52
rg was not installed on ubuntu-latest runners, and the if-guard
silently swallowed the command-not-found error. Capture the exit
code explicitly: 0 means matches found (fail), 1 means clean (pass),
anything else (including 127 command-not-found) propagates as a failure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
GitHub Actions defaults to bash -e which kills the script before
capturing the exit code. Use bash {0} (no -e) so rg prints its
findings before the step fails.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace em-dashes, en-dashes, arrows, curly quotes, emoji, box-drawing
characters, and other non-ASCII content with terminal-safe ASCII across
60 files. Also exclude vendored .min.js from the ascii-check CI job.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Also remove the *.html exclusion from the ascii-check CI glob since
all HTML files are now clean.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace prompt symbols and strip replacement characters from device
serial output. Remove the *.cast exclusion from the CI glob.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant