7000pctAUTO fad69d3710
Some checks failed
CI / test (push) Has been cancelled
Initial upload with CI/CD workflow
2026-02-05 14:40:54 +00:00
2026-02-05 14:40:54 +00:00
2026-02-05 14:40:49 +00:00
2026-02-05 14:40:49 +00:00
2026-02-05 14:40:49 +00:00
2026-02-05 14:40:50 +00:00
2026-02-05 14:40:50 +00:00

TechDebt Tracker CLI

A Rust-based CLI tool that analyzes codebases to extract, categorize, and visualize TODO/FIXME/HACK comments using tree-sitter for multi-language parsing, providing an interactive TUI dashboard and export capabilities.

Features

  • Multi-language Support: Parse TODO/FIXME/HACK comments in JavaScript, TypeScript, Python, Rust, Go, Java, C/C++, Ruby, and more
  • Priority Categorization: Automatically categorize technical debt by priority (Critical, High, Medium, Low) based on keywords and context
  • Interactive TUI Dashboard: Visualize technical debt with an interactive terminal UI
  • Export Capabilities: Export reports to JSON and Markdown formats
  • Complexity Estimation: Estimate complexity of technical debt items based on comment content and context
  • Configurable Patterns: Define custom comment patterns via YAML configuration
  • Ignore Patterns: Exclude directories and files using .gitignore-style patterns

Installation

From Source

git clone https://7000pct.gitea.bloupla.net/7000pctAUTO/techdebt-tracker-cli.git
cd techdebt-tracker-cli
cargo build --release
cargo install --path .

Using Cargo

cargo install techdebt-tracker-cli

Quick Start

Initialize Configuration

techdebt-tracker init

Analyze a Directory

# Analyze current directory
techdebt-tracker analyze

# Analyze specific directory
techdebt-tracker analyze --path /path/to/project

# Output to file
techdebt-tracker analyze --output report.json

Open Interactive Dashboard

techdebt-tracker tui

Export Report

# Export to JSON
techdebt-tracker export --output report.json --format json

# Export to Markdown
techdebt-tracker export --output report.md --format markdown

Configuration

Create a techdebt.yaml file in your project root or in ~/.config/techdebt-tracker/:

patterns:
  - keyword: "FIXME"
    priority: critical
    regex: false
  - keyword: "TODO"
    priority: medium
    regex: false
  - keyword: "HACK"
    priority: low
    regex: false

languages:
  - javascript
  - typescript
  - python
  - rust

ignore:
  - "node_modules/**"
  - "target/**"
  - ".git/**"

CLI Commands

analyze

Analyze codebase and show summary of technical debt.

techdebt-tracker analyze [OPTIONS]

Options:
  -p, --path <PATH>     Directory to analyze (default: current directory)
  -o, --output <FILE>   Output file for results
  -v, --verbose         Show verbose output

tui

Open interactive TUI dashboard.

techdebt-tracker tui [OPTIONS]

Options:
  -p, --path <PATH>     Directory to analyze (default: current directory)

export

Export analysis to file.

techdebt-tracker export [OPTIONS]

Options:
  -p, --path <PATH>      Directory to analyze (default: current directory)
  -o, --output <FILE>    Output file (required)
  -f, --format <FORMAT>  Export format: json or markdown

init

Initialize default configuration file.

techdebt-tracker init [OPTIONS]

Options:
  -p, --path <PATH>    Directory to create config in (default: current directory)

TUI Navigation

Key Action
Tab Switch between Dashboard and List views
/ Navigate items
Enter View item details
/ or f Filter items
1-4 Filter by priority (1=Critical, 2=High, 3=Medium, 4=Low)
s Cycle sort order
c Clear filters
q Quit

Export Formats

JSON

{
  "summary": {
    "total_items": 42,
    "by_priority": {
      "critical": 5,
      "high": 10,
      "medium": 20,
      "low": 7
    }
  },
  "items": [...]
}

Markdown

Generates a formatted report with:

  • Summary statistics
  • Priority breakdown with visual bars
  • Language distribution
  • Detailed item list grouped by priority

Supported Languages

  • JavaScript (.js, .jsx)
  • TypeScript (.ts, .tsx)
  • Python (.py)
  • Rust (.rs)
  • Go (.go)
  • Java (.java)
  • C (.c)
  • C++ (.cpp, .cc, .cxx, .h, .hpp)
  • Ruby (.rb)

Building from Source

# Debug build
cargo build

# Release build
cargo build --release

# Run tests
cargo test --all-features

# Run linting
cargo clippy --all-targets

# Check formatting
cargo fmt --check

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Description
A Rust-based CLI tool to analyze and track technical debt in codebases with TUI dashboard
Readme MIT 97 KiB
v0.1.0 Latest
2026-02-05 14:41:54 +00:00
Languages
Rust 100%