Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 25 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,17 @@ A GitHub Action that scans your codebase for inline TODOs, FIXMEs, and BUG comme

- ✅ Detects `TODO`, `FIXME`, `BUG`, and `HACK` comments
- ✅ Supports multiple languages: `.ts`, `.js`, `.py`, `.go`, `.html`, etc.
- ✅ Skips common directories like `node_modules`, `dist`, and `coverage`
- ✅ Extracts metadata like `priority`, `due`, etc.
- ✅ Parses structured tags (`@assignee`, `#module`, `key=value`)
- ✅ Warns about overdue TODOs
- ✅ Automatically labels issues based on type and metadata
- ✅ Creates labels on the fly if they don't exist
- ✅ Supports custom label colors and descriptions via JSON config
- ✅ Custom templates for issue titles and bodies
- ✅ LLM-powered issue title and body generation
- ✅ Command-line interface for local usage
- ✅ Optional Jira synchronization

---

Expand Down Expand Up @@ -50,6 +57,20 @@ jobs:
limit: 5
```
### 2. Run the CLI locally
Use the bundled command-line interface to scan a directory on your machine and
optionally generate a markdown report:
```bash
npx todo-action --dir src --report
```

Flags:

- `--dir`, `-d` – Directory to scan (defaults to the current directory)
- `--report`, `-r` – Write a `TODO_REPORT.md` file with all results

## 📝 Example TODOs

```ts
Expand All @@ -75,16 +96,15 @@ If a label like `priority:high` or `due:2025-06-01` doesn't exist, it will be au

## 📌 Notes

- Max **5 issues** are created per run to avoid rate limiting (configurable via the `limit` input)
- **Duplicate detection** is not yet implemented _(coming soon)_
- All labels are **auto-created with default colors** if missing
- Provide a JSON file via `label-config` to override colors and descriptions
- Max **5 issues** are created per run to avoid rate limiting (configurable via the `limit` input)
- **Duplicate detection** prevents reopening the same TODO multiple times
- All labels are **auto-created with default colors** if missing
- Provide a JSON file via `label-config` to override colors and descriptions

---

## 📤 Coming Soon

- ✅ Issue deduplication
- ✅ Custom templates for issue bodies
- ✅ CLI usage outside GitHub
- ✅ LLM-powered summarization and classification
Expand Down