AI Agent Engineering Standards Layer
Project description
argus-standards
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
pip install argus-standards
Quick Start
1. Create .argus.yml in your project root:
packs:
- tdd
- atomic-commit
- solid
2. Generate platform files:
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
git clone https://github.com/pmurasky/argus.git
cd argus
pip install -e ".[dev]"
pytest
License
MIT © Peter Murasky Jr
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file argus_standards-0.1.1.tar.gz.
File metadata
- Download URL: argus_standards-0.1.1.tar.gz
- Upload date:
- Size: 126.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d790fda20902b730057580f1d014894d2864ebdfc062d2c050bb4780bd63bda
|
|
| MD5 |
d0c2a8bc4a0a33446f8694f224e4387e
|
|
| BLAKE2b-256 |
981e3b8aa7e467e207d926c270a622ae6d78f09845636db675ac2ee5e818ada8
|
Provenance
The following attestation bundles were made for argus_standards-0.1.1.tar.gz:
Publisher:
publish.yml on pmurasky/argus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
argus_standards-0.1.1.tar.gz -
Subject digest:
5d790fda20902b730057580f1d014894d2864ebdfc062d2c050bb4780bd63bda - Sigstore transparency entry: 1886103391
- Sigstore integration time:
-
Permalink:
pmurasky/argus@a24a730d917a4361ebb6cea85e863f4fd75598fb -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/pmurasky
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a24a730d917a4361ebb6cea85e863f4fd75598fb -
Trigger Event:
push
-
Statement type:
File details
Details for the file argus_standards-0.1.1-py3-none-any.whl.
File metadata
- Download URL: argus_standards-0.1.1-py3-none-any.whl
- Upload date:
- Size: 41.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91a695748e66335a6e8dd35ceb041f24fdc6c43f98f2377fd8ec91a35445a82b
|
|
| MD5 |
9cab94b7b1abcb7af8998953399905e8
|
|
| BLAKE2b-256 |
507ca83563f9b10890a2c8b50464c9804e27935c54e2fb42b18668fcf35b2ea9
|
Provenance
The following attestation bundles were made for argus_standards-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on pmurasky/argus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
argus_standards-0.1.1-py3-none-any.whl -
Subject digest:
91a695748e66335a6e8dd35ceb041f24fdc6c43f98f2377fd8ec91a35445a82b - Sigstore transparency entry: 1886103472
- Sigstore integration time:
-
Permalink:
pmurasky/argus@a24a730d917a4361ebb6cea85e863f4fd75598fb -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/pmurasky
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a24a730d917a4361ebb6cea85e863f4fd75598fb -
Trigger Event:
push
-
Statement type: