Typos — A fast, low-false-positive spell checker for source code, ideal for monorepos and PRs.
Analyzed by Sai Pavan Gopularam · Developer Tools · Code Quality · View on GitHub
- Stars: 4164
- Forks: 187
- Commits last 30 days: 28
- Health: Active (28 commits this month)
- Language: Rust
- License: Apache-2.0
What It Is
Typos is a command-line tool that acts like a spell checker specifically designed for source code. Instead of checking a document, it scans your programming files for common spelling mistakes in variable names, comments, and strings, much like a grammar checker for your English essays, but for code.
This matters because typos in code can lead to subtle bugs, confusion among developers, and a less professional image for a software project. Typos aims to catch these errors early and efficiently, even in large codebases (monorepos) or during pull request reviews, reducing the manual effort developers spend on proofreading.
License Verdict
MIT/Apache 2.0 License — Build and Sell Freely — Commercial Use Approved • No Copyleft Restrictions
The dual MIT and Apache 2.0 licenses are highly permissive. You can use, modify, and distribute this software for any purpose, including commercial applications, without needing to open-source your own code. There are no copyleft restrictions.
How to Use It
Install the `typos` command-line tool using your preferred package manager (Rust's Cargo, Homebrew, Conda, or Pacman). Once installed, navigate to your project directory and run `typos` to find spelling mistakes or `typos --write-changes` to automatically fix them.
Prerequisites:
- Rust (for cargo install)
- Homebrew (macOS/Linux)
- Conda
- Pacman (Arch Linux)
Estimated setup time: 5 minutes.
cargo install typos-cli --locked
cd your_project_repo
typos --write-changes
What I'd Build With This
Automated Code Spellcheck Bot (micro-saas)
Build a hosted service that integrates with GitHub, GitLab, or Bitbucket. Users connect their repositories, and the bot automatically runs `typos` on every pull request, commenting on detected spelling errors or even creating fix commits. This targets indie developers and small teams who want to maintain high code quality without manual checks.
Effort: 1 Week Build Time · Target: Indie Developers, Small Dev Teams · Pricing: $9/month per repository
Full-Stack Code Quality Platform (saas)
Develop a comprehensive SaaS platform that incorporates `typos` alongside other static analysis tools (linters, security scanners). Offer a dashboard for code quality metrics, trend analysis, and customizable rulesets for different projects. Target mid-size to large development teams and engineering managers looking for a unified view of their codebase health.
Effort: 3 Months Build Time · Target: Mid-size Dev Teams, Engineering Managers · Pricing: $99-$499/month based on team size and features
On-Premise Code Integrity Gateway (enterprise)
For large enterprises with strict security and compliance requirements, offer an on-premise or private cloud deployment of a code integrity gateway. This solution would integrate `typos` into their existing CI/CD pipelines, enforce custom dictionaries for industry-specific terminology, and provide detailed audit trails. This targets regulated industries like finance, healthcare, or defense contractors.
Effort: 6 Months Build Time · Target: Large Enterprises, Regulated Industries · Pricing: $10,000 - $50,000+ annually, custom pricing
Sai Pavan Gopularam's Take
This is a fantastic foundational tool for any developer obsessed with code quality. I see a clear path to building a hosted service that catches typos in PRs automatically, easily generating $5k/month by charging small teams a fixed monthly fee.
Watch Out For
- False Positives Require Configuration: While `typos` aims for low false positives, some legitimate words (like names or specific technical terms) might be flagged. You'll need to configure a `_typos.toml` file to extend the dictionary or ignore specific identifiers, which adds a setup step.
- Limited Correction Ambiguity: If `typos` finds multiple possible corrections for a word, it will report the issue but won't automatically fix it. This design choice prevents incorrect auto-corrections but means some issues will still require manual review and intervention.
- File Exclusion Complexity: Excluding specific files or directories can be tricky, especially with interactions between `.gitignore` and `typos`'s own exclusion rules. Debugging why a file isn't being checked might require using `typos --dump-config -` and `typos --files`.
I break down trending repos like Typos every week — join the newsletter.