Metadata-Version: 2.4
Name: dryclean
Version: 1.1.0
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 CSS, JavaScript, Python, and Shell file — checked.

## Quick Start

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

`dryclean init` — Write `CLAUDE.md`, the CI workflow, and git hooks. In an interactive shell, also prompt to configure GitHub branch protection and store a Claude Code 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 |
|------------|-----------|------------|--------------|
| CSS        | prettier  | stylelint  | —            |
| JavaScript | prettier  | eslint     | —            |
| Python     | ruff      | ruff       | mypy         |
| Shell      | —         | shellcheck | —            |

Plus: trailing whitespace, EOF newlines, JSON/YAML/TOML syntax, merge conflicts, no direct commits to main, commit message format, and 30 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

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