A comment-structure linter for source trees. It scans source files and flags commented debris before it accumulates: TODOs/FIXMEs/HACKs, author plaques, suspicious one-liners, excessively long comments, and blocker-style remarks.
cmclean is a language-agnostic static-analysis helper for codebases. It flags problematic comment patterns across supported file types, including Python, JavaScript/TypeScript, Markdown, and JSON/YAML/TOML. It is not a full linter; its job is comment hygiene.
- Detect TODO-like debris:
TODO,FIXME,HACK,XXX - Detect author plaques:
@author,@created by,@written by - Detect suspicious debris: weird symbols, oddisms
- Detect blame/blocker-style remarks:
@blame,@debugger,@temp,@workaround - Detect excessively long comments above configurable length
- Multi-language file awareness across
.py,.js,.ts,.tsx,.md,.yaml,.yml,.json,.toml - JSON or human-friendly text output
- Module-style invocation via
python -m cmclean
python -m pip install cmcleancmclean /path/to/project
cmclean /path/to/project --jsonpython -m cmclean /path/to/project
python -m cmclean /path/to/project --json0No questionable comments found1Issues found or bad invocation
cmclean/
├── .github/workflows/tests.yml
├── src/cmclean/
│ ├── __init__.py
│ ├── __main__.py
│ ├── cli.py
│ ├── engine.py
│ └── models.py
├── tests/
│ └── test_cmclean.py
├── docs/
│ └── docs.md
├── examples/demo_clean.py
├── pyproject.toml
└── README.md
python -m pip install -e '.[dev]'
python -m pytestIssues and pull requests are welcome. Please keep changes focused on comment-hygiene behavior, supported file patterns, and documentation accuracy.
https://github.com/Axelgustavlindstrom/cmclean
This project is licensed under the MIT License. See LICENSE for details.