Metadata-Version: 2.4
Name: todo-audit
Version: 1.0.0
Summary: Recursively scan source files for TODO/FIXME/HACK/TEMP/XXX/BUG/NOTE comments, grouped by file.
Author: Major126
License: MIT
Project-URL: Homepage, https://github.com/nousresearch/todo-audit
Project-URL: Repository, https://github.com/nousresearch/todo-audit.git
Project-URL: Bug Tracker, https://github.com/nousresearch/todo-audit/issues
Keywords: todo,audit,scanner,cli,code-quality
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# todo-audit

A **zero-dependency** Python CLI tool that recursively scans a directory tree
for source files containing **TODO**, **FIXME**, **HACK**, **TEMP**, **XXX**,
**BUG**, or **NOTE** comments, then prints a grouped report by file.

Supported file extensions:

`.py` `.js` `.ts` `.jsx` `.tsx` `.java` `.go` `.rs`
`.c` `.cpp` `.h` `.hpp` `.rb` `.php`

## Install

```bash
pip install todo-audit
```

## Usage

```
todo-audit [options]
```

| Option          | Description                                          | Default       |
|-----------------|------------------------------------------------------|---------------|
| `--dir <path>`  | Root directory to scan                               | Current dir   |
| `--ignore <pat>`| Comma-separated sub-string patterns to skip          | *(none)*      |
| `--json`        | Output results as JSON                               | false         |
| `--help`        | Show help                                            |               |

### Examples

```bash
# Scan the current directory
todo-audit

# Scan a specific project, ignoring node_modules and vendor
todo-audit --dir /path/to/project --ignore node_modules,vendor,.git

# Get JSON output for programmatic consumption
todo-audit --dir ./src --ignore __pycache__ --json
```

### Example output

```
/home/user/project/src/main.py
-------------------------------
  12: PORT = 3000  # TODO: make configurable
  45: def legacy():  # FIXME: remove in v3

/home/user/project/src/utils.ts
--------------------------------
  8: // HACK: workaround for Chrome bug #1234
```

With `--json`:

```json
{
  "/home/user/project/src/main.py": [
    { "line": 12, "content": "PORT = 3000  # TODO: make configurable" },
    { "line": 45, "content": "def legacy():  # FIXME: remove in v3" }
  ]
}
```

## License

MIT
