Metadata-Version: 2.4
Name: dryclean
Version: 1
Summary: Multi-language code quality toolkit
Project-URL: Homepage, https://github.com/arup-kumar-maiti/dryclean
Project-URL: Repository, https://github.com/arup-kumar-maiti/dryclean
Author-email: Arup Kumar Maiti <arup@arupkumarmaiti.com>
License-Expression: MIT
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.11
Requires-Dist: commitizen>=4.13.10
Requires-Dist: pre-commit>=4.5.1
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=15.0
Description-Content-Type: text/markdown

# dryclean

Multi-language code quality toolkit. One install. Every JavaScript, Python, and Shell file — checked.

## Quick Start

```bash
pip install dryclean
dryclean init
```

`dryclean init` sets up everything: `CLAUDE.md`, CI workflow, git hooks, GitHub branch protection, and OAuth token.

## Commands

```bash
# Set up quality checks in the current repo
dryclean init
# Run all checks with auto-fix
dryclean run
# Run all checks in report-only mode
dryclean run --ci
```

## What Gets Checked

| Language   | Formatter | Linter     | Type Checker |
|------------|-----------|------------|--------------|
| JavaScript | prettier  | eslint     | —            |
| Python     | ruff      | ruff       | mypy         |
| Shell      | —         | shellcheck | —            |

Plus: commit message format, trailing whitespace, EOF newlines, JSON/YAML/TOML syntax, merge conflicts, and 25 custom quality scripts.

## GitHub Actions

```yaml
- uses: arup-kumar-maiti/dryclean/ci@v1

- uses: arup-kumar-maiti/dryclean/review@v1
  with:
    claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}

- uses: arup-kumar-maiti/dryclean/describe@v1
  with:
    claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
```

## Supported Languages

- JavaScript (.js)
- Python (.py)
- Shell (.sh)
