Metadata-Version: 2.4
Name: cliqa
Version: 0.1.2
Summary: Analyze CLI tools against clig.dev guidelines
Project-URL: Homepage, https://github.com/benomahony/cliqa
Project-URL: Repository, https://github.com/benomahony/cliqa
Project-URL: Issues, https://github.com/benomahony/cliqa/issues
Author-email: Ben O'Mahony <benomahony@users.noreply.github.com>
License: MIT
License-File: LICENSE
Keywords: analysis,cli,clig,command-line,guidelines,linter
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.12
Requires-Dist: pydantic-ai>=1.47.0
Requires-Dist: rich>=14.2.0
Requires-Dist: typer>=0.21.1
Provides-Extra: test
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'test'
Requires-Dist: pytest-cov>=4.1.0; extra == 'test'
Requires-Dist: pytest>=8.0.0; extra == 'test'
Description-Content-Type: text/markdown

# cliqa

Analyze CLI tools against [clig.dev](https://clig.dev) guidelines.

## Installation

```bash
uv tool install cliqa
# or
pip install cliqa
```

## Usage

Analyze any CLI command:

```bash
clint analyze ls
clint analyze git
clint analyze your-cli-tool
```

Run specific checks:

```bash
clint check ls help
clint check git version
```

List all available checks:

```bash
clint list-checks
```

## Features

- **No mocking**: Real integration tests with actual CLI commands
- **93% test coverage**: Comprehensive test suite
- **NASA05 compliance**: Defensive assertions throughout
- **clig.dev alignment**: Checks against modern CLI best practices

## Pre-commit Hook

Add to your `.pre-commit-config.yaml`:

```yaml
repos:
  - repo: https://github.com/benomahony/cliqa
    rev: v0.1.1
    hooks:
      - id: cliqa
        args: [your-cli-tool]
```

Analyze multiple commands:

```yaml
repos:
  - repo: https://github.com/benomahony/cliqa
    rev: v0.1.1
    hooks:
      - id: cliqa
        name: Check main CLI
        args: [my-tool]
      - id: cliqa
        name: Check admin CLI
        args: [my-admin-tool]
```

Enable AI-powered analysis:

```yaml
repos:
  - repo: https://github.com/benomahony/cliqa
    rev: v0.1.1
    hooks:
      - id: cliqa
        args: [your-cli-tool, --ai]
```

This will analyze your CLI tool before each commit and fail if any errors are found.

## Development

```bash
# Install dependencies
uv sync --extra test

# Run tests
uv run pytest

# Run pre-commit checks
pre-commit run --all-files
```

## License

MIT
