TL;DR
DebtBomb scans source-code comments for tagged, time-limited "debt bombs" and can fail CI when those expiry dates pass. It is a cross-language CLI tool distributed via Go that surfaces, lists and reports expiring technical debt; using a ticket field lets teams reference issue trackers such as JIRA, but automatic ticket creation is not confirmed in the source.
What happened
A new open-source tool called DebtBomb provides a way to put expirations on temporary code comments so they do not linger indefinitely. The tool looks for comments containing the @debtbomb marker and required metadata — notably an expire date in YYYY-MM-DD format — and can fail CI jobs (exit code 1) when any debt bombs are past due. DebtBomb is language-agnostic because it only reads comments, and it supports common single-line and multi-line comment syntaxes. It ships as a Go CLI (installable via go install or build-from-source), and offers commands to check, warn, list (including JSON output), and generate aggregated reports by owner, folder, reason and urgency. The project includes a .debtbombignore option and a set of automatic exclusions to skip generated, binary, and large files to keep scans fast. The repository is MIT-licensed.
Why it matters
- Adds enforceable expiration dates to temporary code, reducing the chance of technical debt silently persisting.
- Integrates with CI pipelines to block builds when debt items are overdue, converting passive comments into action signals.
- Cross-language approach works across repositories because it scans comments rather than parsing language-specific ASTs.
- Reporting and ownership metadata make it easier to track and prioritize outstanding temporary work across teams.
Key facts
- DebtBomb scans comments for the @debtbomb marker and expects an expire field in YYYY-MM-DD format.
- Other optional fields include owner, ticket (issue tracker reference), and reason.
- Installable via Go: go install github.com/jobin-404/debtbomb/cmd/debtbomb@latest or built from source in the repo.
- Core commands include debtbomb check (fails with exit code 1 on expired bombs), debtbomb list, and debtbomb report.
- A warning mode (–warn-in-days N) lets CI surface soon-to-expire debt without blocking releases.
- Supports common comment styles (//, #, –, /* */) and both single-line and multi-line debt declarations.
- Create a .debtbombignore file to exclude paths; the tool also auto-skips many generated directories, binary/media files, minified files, locks, and files over 1MB.
- Project is hosted on GitHub, MIT-licensed, written in Go; repository shows 49 stars and two contributors at the time of publication.
- The repo includes a GitHub Actions workflow for building and releasing the project.
What to watch next
- Whether DebtBomb will add native integrations to create or update issue tracker tickets automatically — not confirmed in the source.
- Expansion of supported metadata or integration plugins (GitHub/GitLab/Jira) beyond the current ticket reference field — not confirmed in the source.
- Broader adoption or examples of enterprise-scale usage and best-practice workflows for maintaining debt bombs — not confirmed in the source.
Quick glossary
- Technical debt: Accumulated shortcuts or temporary solutions in code that require future work to fix or replace.
- CI (Continuous Integration): A development practice where code changes are automatically built and tested, often blocking merges on failures.
- CLI (Command-line interface): A text-based interface used to run programs and scripts from a terminal or shell.
- Comment marker: A string or syntax used inside source code comments; DebtBomb looks for @debtbomb to identify debt items.
Reader FAQ
Does DebtBomb automatically create JIRA tickets when a bomb expires?
Not confirmed in the source; the tool supports a ticket field for referencing issue IDs but automatic ticket creation is not described.
How do I install DebtBomb?
Install with Go: go install github.com/jobin-404/debtbomb/cmd/debtbomb@latest, or clone the repo and go build the cmd/debtbomb/main.go file.
Which comment formats does it support?
It supports common comment syntaxes (//, #, –, /* */) and both single-line and multi-line debt declarations.
Is the expire field required in a debt bomb?
Yes. The expire field is required and must use the YYYY-MM-DD format.
🧨 DebtBomb DebtBomb is a cross-language technical-debt enforcement tool that scans source code comments for time-limited “debt bombs” and fails CI when they expire. It lets teams ship temporary hacks…
Sources
- Show HN: DebtBomb – Make TODOs expire and automatically create Jira tickets
- README.md – jobin-404/debtbomb
- continuous integration – TODO comments with deadlines?
- Always use //todo: comments to remind yourself and others …
Related posts
- Tulip Creative Computer: Portable, programmable device for music, graphics and code
- Apple Creator Studio subscription bundles pro creative apps — launches Jan 28
- Command K Bars: Keyboard-Triggered Command Palettes Reshaping GUIs