Metadata-Version: 2.4
Name: cli-enforcement
Version: 0.2.1
Summary: Model-agnostic, hook-level behavioral enforcement engine for AI coding agents. Deploys onto any model using cli-wikia's per-model knowledge.
Project-URL: Homepage, https://github.com/Alexander-Sorrell-IT/CLI-Enforcement
Author-email: Alexander Sorrell <codehunterextreme@gmail.com>
License: MIT License
        
        Copyright (c) 2026 Alexander Sorrell
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Keywords: agent,ai,claude,copilot,deepseek,enforcement,gemini,hooks
Requires-Python: >=3.8
Requires-Dist: cli-wikia>=0.10.0
Requires-Dist: pyyaml>=5.1
Provides-Extra: test
Requires-Dist: flake8; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Description-Content-Type: text/markdown

# CLI Enforcement

Model-agnostic, **hook-level behavioral enforcement** for AI coding agents. The
enforcement engine (state manager, points/tiers, anti-hallucination, sandbox,
cascade) is platform-neutral; *where and how* it installs onto a given model is
supplied dynamically by **[cli-wikia](https://pypi.org/project/cli-wikia/)** —
so one engine deploys onto Claude, Gemini, Copilot, DeepSeek, Antigravity, …
with no per-platform template.

## How it works

```
cli-enforcement deploy <model>
        │
        ├─ asks cli-wikia:  config_root?  hook_events?  instruction_file?
        │
        ├─ maps enforcement STAGES (pre-tool, post-tool, stop, …)
        │      to that model's REAL event names (PreToolUse / BeforeTool / …)
        │
        └─ copies the engine into <config_root>/mcp/ and writes the hook registry
```

## Install

```bash
pip install cli-enforcement      # pulls in cli-wikia
```

## Usage

```bash
cli-enforcement deploy claude          # dry-run: show the plan
cli-enforcement deploy claude --write  # actually install into ./.claude/
cli-enforcement deploy gemini --write  # same engine, wired to Gemini's events
cli-enforcement status                 # what's deployed here
cli-enforcement remove claude --write  # remove the engine
```

Dry-run by default — nothing is written without `--write`.

## License

MIT — see [LICENSE](LICENSE).
