Metadata-Version: 2.4
Name: dblt-tui
Version: 0.1.0
Summary: A modern terminal UI tool to analyze and debloat developer repositories
Author: Nikita Contreras
License: MIT
Project-URL: Repository, https://github.com/nikitacontreras/dblt
Project-URL: Bug Tracker, https://github.com/nikitacontreras/dblt/issues
Keywords: tui,cli,debloat,cleanup,disk,repos
Classifier: Environment :: Console
Classifier: Environment :: Console :: Curses
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
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: Programming Language :: Python :: 3.13
Classifier: Topic :: System :: Filesystems
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: windows-curses; sys_platform == "win32"
Dynamic: license-file

# dblt

A modern terminal UI tool to analyze and debloat developer repositories.

`dblt` scans a directory, detects projects and their technologies, shows you
exactly how much disk space each one is consuming, and lets you safely clean up
heavy build/dependency folders (`node_modules`, `venv`, `target`, `vendor`,
`bin`, `obj`, `Pods`, ...) from a single interactive screen.

## Features

- **Scan any directory** and list every detected project sorted by disk usage.
- **Live size bars** with physical vs logical size (semáforo: green < 500 MB, yellow < 1 GB, red > 1 GB).
- **Git integration**: current branch, sync status (↑ ahead / ↓ behind), dirty marker, last commit time.
- **Git operations**: view status/diffs, commit & push with Conventional Commit suggestions, switch branches.
- **Debloat**: identify and delete `node_modules`, `venv`, `.venv`, `target`, `vendor`, `bin`, `obj`, `Pods`, `.gradle`, `.bundle`, `vendor/bundle` with confirmation.
- **Large files**: find the top 5 largest files (excluding dependencies) and delete them.
- **Reinstall dependencies**: regenerate `node_modules`, `venv`, etc. after cleaning.
- **Open projects** in VS Code, Cursor, VSCodium, Sublime, Notepad++ or your file manager.
- **Search & filter** projects by name or technology.
- Integrated terminal per project.

## Requirements

- Python 3.9+
- Linux, macOS or Windows (Windows uses `windows-curses` automatically)
- `git` available in PATH for git features

## Installation

```bash
pip install dblt
```

Or install from source:

```bash
git clone https://github.com/nikitacontreras/dblt.git
cd dblt
pip install .
```

## Usage

```bash
dblt                     # scan the current directory
dblt /path/to/projects   # scan a specific directory
```

### Keys

| Key | Action |
|-----|--------|
| `↑`/`↓` | Navigate projects |
| `/` | Search / filter |
| `r` | Rescan |
| `d` | Debloat selected project (deletes targets, requires `y` confirm) |
| `l` | List top 5 large files |
| `i` | Reinstall dependencies |
| `g` | Git status / diff / commit & push |
| `b` | Switch branch |
| `o` | Open in editor |
| `t` | Integrated terminal |
| `H` | Cycle logo |
| `q`/`Esc` | Quit |

## What gets deleted when debloating

| Technology | Targets |
|------------|---------|
| Node.js | `node_modules` |
| Python | `venv`, `.venv` |
| Rust | `target` |
| PHP | `vendor` |
| Java | `target`, `build`, `.gradle` |
| C# | `bin`, `obj` |
| Ruby | `.bundle`, `vendor/bundle` |
| iOS | `Pods` |

> **Warning:** debloat and file deletion are permanent. `dblt` always asks for
> confirmation, but there is no trash/undo — use at your own risk.

## Development

```bash
# run tests
python -m unittest discover -s tests

# build the distribution
pip install build setuptools-scm
python -m build
```

## License

[MIT](./LICENSE)
