Metadata-Version: 2.4
Name: t-run
Version: 0.0.4
Summary: Config dir aware CLI wrapper and pre-commit hook dispatcher
Project-URL: Homepage, https://github.com/rsb-23/trun
Project-URL: Issues, https://github.com/rsb-23/trun/issues
Author: Rishabh B
License-Expression: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# T-run (Tool Run)

Config-dir-aware CLI wrapper and pre-commit hook dispatcher.

Reads a `config-dir` setting from `pyproject.toml` and routes tools
(ruff, black, isort, mypy, flake8, pylint) to look for their config
files there, instead of the project root.

## pyproject.toml

```toml
[tool]
config-dir = "config"   # default: "1_config"
```

## Quickstart

```bash
pipx install t-run # global
trun init
trun black .
```

## Usage

### To run individual commands

```bash
trun black .
trun pre-commit run
trun pylint *
trun ruff check .
```

### To run command groups

Add groups of command in `trun.toml` and run using `trun run`

```toml
lint = ["pre-commit run --all-files"]
fix = ["ruff check --fix", "ruff format"]
```

```commandline
trun run lint
trun run fix
```

## pre-commit

```yaml
repos:
  - repo: https://github.com/rsb-23/trun
    rev: v0.0.4
    hooks:
      - id: black
      - id: isort
      - id: flake8
      - id: ...
```

Only the hooks you list are installed — each pulls its own pinned
dependency via `additional_dependencies` in `.pre-commit-hooks.yaml`.

## Build

```bash
pip install --group build
python -m build
```

## License

MIT
