Skip to main content

argus-standards

PyPI version Python 3.11+ License: MIT

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).

OpenCode config ownership

argus generate deep-merges opencode.json instead of replacing it. Argus claims only two keys:

  • $schema — refreshed to the current schema URL
  • instructions — "AGENTS.md" is unioned into the list; your existing entries are preserved

All other keys (mcp servers, plugin, model, default_agent, …) — including entries managed by other tools — are left untouched, and argus generate --check stays drift-free in mixed-tool repos. If the existing opencode.json is not valid JSON (e.g. JSONC with comments), argus skips it with a warning rather than risk data loss.

AGENTS.md marked-block ownership

argus generate preserves foreign marked blocks in AGENTS.md. Any balanced HTML-comment marker pair of the form <!-- <tool>:<section>:start --> ... <!-- <tool>:<section>:end --> (e.g. gortex's <!-- gortex:communities:start/end -->) is carried across regeneration untouched and appended at the end of the file, so other tools' sections are never dropped and argus generate --check stays drift-free.

Content outside recognized markers is argus-owned and regenerated as usual. Unbalanced markers (a start without a matching end) are treated as ordinary content.

Development Setup

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

License

MIT © Peter Murasky Jr

Metadata

Release files for argus-standards 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for argus-standards 0.1.3
File Size Uploaded Provenance
argus_standards-0.1.3.tar.gz 616.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for argus-standards 0.1.3
File Interpreter ABI Platform
argus_standards-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 693.7 kB

Release files / argus_standards-0.1.3.tar.gz

Download URL argus_standards-0.1.3.tar.gz
Size 616.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0b6e79fb62853edf4a802ac67726e000c6131df78ac2b9ba9ec1f62512011432
BLAKE2b-256 checksum
How to use checksums
649a9639cf6cc7330799e1a2def33848d75c2215ca24f97f9fcd476d9b73e0b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / argus_standards-0.1.3-py3-none-any.whl

Download URL argus_standards-0.1.3-py3-none-any.whl
Size 76.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4441e22509b352cc2b166d497d8bc0c42a816eb3bbaac34c6e5a8999ecaffd15
BLAKE2b-256 checksum
How to use checksums
00a7afa19c2d0e70119cf15f39c618c586917250d8f3772d7cbd1557f2066ec6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Security for argus-standards 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for argus_standards-0.1.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page