Metadata-Version: 2.4
Name: argus-standards
Version: 0.1.1
Summary: AI Agent Engineering Standards Layer
Project-URL: Homepage, https://github.com/pmurasky/argus
Project-URL: Repository, https://github.com/pmurasky/argus
Project-URL: Issues, https://github.com/pmurasky/argus/issues
Author-email: Peter Murasky Jr <peter.murasky@gmail.com>
License: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.11
Requires-Dist: click>=8.1
Requires-Dist: pyyaml>=6.0
Provides-Extra: dev
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0; extra == 'dev'
Description-Content-Type: text/markdown

# argus-standards

[![PyPI version](https://img.shields.io/pypi/v/argus-standards)](https://pypi.org/project/argus-standards/)
[![Python 3.11+](https://img.shields.io/pypi/pyversions/argus-standards)](https://pypi.org/project/argus-standards/)
[![License: MIT](https://img.shields.io/github/license/pmurasky/argus)](LICENSE)

Argus injects engineering discipline into AI coding agents via platform-specific instruction files generated from composable standards packs.

AI coding agents skip TDD, produce commit blobs, and violate SOLID by default. Argus fixes this by generating the right system prompt files for your platform — one command, any combination of standards.

## Install

```bash
pip install argus-standards
```

## Quick Start

**1. Create `.argus.yml` in your project root:**

```yaml
packs:
  - tdd
  - atomic-commit
  - solid
```

**2. Generate platform files:**

```bash
argus generate
```

Argus writes instruction files for every supported platform it detects in your project. For example, with Claude Code and Cursor present:

```
✓ AGENTS.md
✓ CLAUDE.md
✓ .claude/rules/tdd.md
✓ .claude/rules/atomic-commit.md
✓ .claude/rules/solid.md
✓ .claude/skills/tdd/SKILL.md
✓ .claude/skills/atomic-commit/SKILL.md
✓ .claude/skills/solid/SKILL.md
✓ .cursor/rules/tdd.md
✓ .cursor/rules/atomic-commit.md
✓ .cursor/rules/solid.md
```

## Commands

| Command | Description |
|---|---|
| `argus init` | Create a starter `.argus.yml` in the current directory |
| `argus generate` | Generate platform files from `.argus.yml` |
| `argus generate --dry-run` | Preview files that would be written without writing them |
| `argus generate --check` | Exit non-zero if generated output differs from disk (for CI) |
| `argus packs list` | List all available packs |
| `argus packs show <name>` | Show the full content of a pack |
| `argus platforms list` | List all supported platforms |
| `argus validate` | Validate `.argus.yml` without generating files |

## Packs

Packs are composable engineering standards. Include only the ones your project needs.

| Pack | Description |
|---|---|
| `tdd` | Test-driven development — RED → GREEN → COMMIT → REFACTOR cycle |
| `atomic-commit` | One logical change per commit, conventional commit format |
| `solid` | SOLID principles with mechanically detectable violation checklist |
| `code-quality` | Cyclomatic complexity ≤ 10, method ≤ 20 lines, class ≤ 300 lines |
| `pre-commit` | Non-negotiable pre-commit gate combining all active standards |
| `error-handling` | Exception hierarchy, raise vs return rules, catching at boundaries |
| `type-safety` | Full annotation coverage, mypy-clean, no Any in signatures |
| `documentation-standards` | Docstrings on public API, imperative mood, no what-comments |
| `dependency-injection` | Constructor injection, depend on abstractions, single composition root |
| `design-patterns` | Strategy/Factory/Observer patterns to eliminate type-dispatch |
| `refactoring` | Safe refactoring cycles, code smell catalog, preparatory refactoring |
| `testing-strategy` | Test pyramid, test doubles guide, right layer for each test type |

## Platforms

| Platform | Files Generated |
|---|---|
| Claude Code (`claude`) | `CLAUDE.md`, `.claude/rules/{pack}.md`, `.claude/skills/{pack}/SKILL.md` |
| Cursor (`cursor`) | `.cursor/rules/{pack}.md` |
| GitHub Copilot (`copilot`) | `.github/copilot-instructions.md` |
| OpenCode (`opencode`) | `opencode.json`, `.opencode/skills/{pack}/SKILL.md`, `.opencode/commands/{pack}.md` |

All platforms also receive `AGENTS.md` (OpenAI Codex / general agents).

## Development Setup

```bash
git clone https://github.com/pmurasky/argus.git
cd argus
pip install -e ".[dev]"
pytest
```

## License

MIT © Peter Murasky Jr
