A static code analyzer that validates TODO comments by linking them to open issues in supported issue trackers.
todocheck is a static code analyzer for annotated TODO comments that validates them against open issues in issue trackers like GitHub, GitLab, and Jira. It ensures every TODO in the codebase is linked to a valid, open issue, preventing undocumented technical debt and stale TODOs.
Development teams and individual developers working on multi-language codebases who use issue trackers and want to enforce traceability between code comments and open issues.
Developers choose todocheck for its extensive issue tracker integration, support for over 20 programming languages, and seamless CI/CD integration, offering a robust solution to maintain code quality by eliminating orphaned TODO comments.
A static code analyser for annotated TODO comments
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports seven major trackers including GitHub, GitLab, Jira, and Azure Boards, with both public and private repository authentication options, as detailed in the README's configuration sections.
Parses TODO comments in over 20 programming languages like Go, JavaScript, Python, and Rust, based on standard comment formats, making it suitable for polyglot projects.
Provides JSON output for pipeline integration and supports authentication via environment variables (e.g., TODOCHECK_AUTH_TOKEN), facilitating seamless automation in development workflows.
Allows custom TODO formats, case-insensitive matching, and ignore patterns via a YAML config file, enabling tailored usage without rigid constraints.
Requires setting up API tokens or offline tokens for private repositories, with secure caching, adding initial configuration complexity and security management burden.
Only integrates with listed issue trackers; projects using unsupported systems like Bitbucket or custom tools cannot use it without development effort or forks.
Relies on live API calls to validate issues, so it fails in offline environments or if trackers change APIs, affecting reliability and requiring network access.