agentleFS
axisvelaaxisvela/ea-harness/AGENTS.md

ea-harness

AGENTS.md15 starsChanged 51 days agoMITView on GitHub

This file is the multi-tool rules file (AGENTS.md), read by OpenCode, Codex, GitHub Copilot, and Cursor. Claude Code reads the equivalent CLAUDE.md. Both files carry the same shared body — the block delimited by archharness-shared markers below — and CI fails when the two drift (tests/test_rules_files_in_sync.py). ArchHarness is a multi-tool architecture skill pack for enterprise architecture work. It runs natively in Claude Code and OpenCode and is discovered by Codex, GitHub Copilot, and Cursor. It turns the AI into a…

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this AGENTS.md into the rules it gives an agent

6 rules. About 0 are common, 2 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    All company-specific values (DC names, platform names, classification labels) live in config.yaml at the repository root.

    line 39
  2. Very specific:

    If the cwd is inside projects/<id>/, that project is the active project.

    line 54
  3. Very specific:

    Use --project <id> to select a project from anywhere in the workspace.

    line 55
  4. Very specific:

    All skills load company-specific values from config.yaml at runtime.

    line 64
  5. Distinctive:

    Never fabricate predecessor outputs and never skip a stage.

    line 122
  6. Distinctive:

    After the enforce gate, continue only on PASS or WARN.

    line 123

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

ArchHarness — Enterprise Architecture Design & Validation

This file is the multi-tool rules file (AGENTS.md), read by OpenCode, Codex, GitHub Copilot, and Cursor. Claude Code reads the equivalent CLAUDE.md. Both files carry the same shared body — the block delimited by archharness-shared markers below — and CI fails when the two drift (tests/test_rules_files_in_sync.py).

<!-- archharness-shared:start -->

What this is

ArchHarness is a multi-tool architecture skill pack for enterprise architecture work. It runs natively in Claude Code and OpenCode and is discovered by Codex, GitHub Copilot, and Cursor. It turns the AI into a team of architecture specialists you summon on demand, backed by a real CLI (python -m archharness), versioned contracts, and a deterministic gate.

Available agents and skills

AgentClaude CodeOpenCodeRole
arch-workflow/arch-workflow@arch-workflowPipeline gatekeeper — enforces stage order and the PASS/WARN/BLOCK gate; blocks skipping
arch-requirements/arch-requirements@arch-requirementsOrchestrator — interview + multi-source intake → REQ.md + req.yaml
arch-req-from-diagram/arch-req-from-diagram@arch-req-from-diagramReader — draw.io / D2 / arch YAML / PNG (vision) → partial req.yaml
arch-req-from-doc/arch-req-from-doc@arch-req-from-docReader — PDF / DOCX / MD / TXT via LLM → partial req.yaml
arch-req-from-api/arch-req-from-api@arch-req-from-apiReader — CMDB / ServiceNow / CSV → partial req.yaml
arch-req-merge/arch-req-merge@arch-req-mergeMerger — combine partials, conflict detection, gap report
arch-design/arch-design@arch-designSenior architect — requirements → architecture YAML blueprint
arch-diagram/arch-diagram@arch-diagramDiagram generator — Architecture YAML → draw.io / D2 / PNG / PlantUML
arch-validate/arch-validate@arch-validateParanoid security architect — diagram → scored JSON (6 dimensions)
arch-enforce/arch-enforce@arch-enforceCI enforcement gate — gate policy → PASS/WARN/BLOCK + exit code
arch-security/arch-security@arch-securitySecurity auditor — auth / credentials / network boundary deep-dive
arch-review/arch-review@arch-reviewReview board — APPROVED / APPROVED WITH CONDITIONS / REJECTED
arch-optimize/arch-optimize@arch-optimizeStaff architect — prioritized fix backlog (P0–P3)
arch-report/arch-report@arch-reportTechnical writer — Confluence pages, executive summaries, risk briefs

Configuration

All company-specific values (DC names, platform names, classification labels) live in config.yaml at the repository root. Edit it before first use — it is the only file you need to change. Skills and rules load these values at runtime: company.name, datacenters (names, locations, zones), and platforms (API gateway, message bus, K8s platform).

Multi-project workspace

One checkout supports many isolated projects. Create projects with the CLI (python -m archharness): init-workspace, init-project, list-projects, doctor. Each project lives under projects/<id>/ with its own input/, working/, output/, and a project.yaml describing id, name, platform, and data_classification.

Working session rules:

  • If the cwd is inside projects/<id>/, that project is the active project.
  • Use --project <id> to select a project from anywhere in the workspace.
  • Inputs resolve against the active project input/; generated files land in the active project output/ (subfolders requirements/, designs/, diagrams/, validation/, reports/).
  • Project data dirs are git-ignored. Do not scatter generated files in the repository root when a workspace project is active — target the project output/.

Standards in scope

All skills load company-specific values from config.yaml at runtime. The standards/ directory holds the platform-agnostic rules and topology requirements. Six deployment targets are supported, each with a standard, a placement-rule family (E-*), a design template, and a worked example:

  • private-cloud-standard.yaml — F5 ingress model, east-west isolation, PAW, DC zone models
  • aws-standard.yaml — Hub-Spoke, ALB/WAF, API Gateway in Spoke VPC, IAM + Secrets Manager
  • azure-standard.yaml — Hub-Spoke, App Gateway WAF v2, APIM in Spoke VNET, Key Vault
  • gcp-standard.yaml — Shared VPC host + service projects, global HTTPS LB + Cloud Armor, Cloud NAT, CMEK (E-GCP-*)
  • aliyun-standard.yaml — resource directory + central VPC, Anti-DDoS → WAF → SLB, CEN, RAM roles + STS (E-ALI-*)
  • microsoft-saas-standard.yaml — black-box tenant/environment containers, one boundary component, Entra ID + DLP; Microsoft 365 / Power Platform / Dynamics 365 (E-MS-*)

Diagram shape spec

standards/diagram-style.yaml — full shape, color, arrow, and metadata rules from:

  • Private Cloud Architecture Diagram Shape Specification v1.0
  • Technical Architecture Diagram Specification v1.0

Validation rules

Skills load rules from .claude/skills/arch-validate/rules/:

  • diagram-rules.yaml — V- series: shape, color, arrow, legend
  • interaction-rules.yaml — W- series: arrow direction, protocol, integration platform
  • security-rules.yaml — S- series: auth, user auth, credential protection
  • accuracy-rules.yaml — E- series: DC location, network segments, component completeness
  • platform-rules.yaml — platform-specific rules for private cloud, AWS, Azure, GCP, Alibaba Cloud, Microsoft SaaS
  • compliance/terminology.yaml — cloud terminology and ISO27001/TOGAF mapping

Scoring

Six dimensions, 10 points total:

  • Cloud_Network_Completeness (2.0), Connectivity (1.0), Technical_Component_Completeness (2.0)
  • Interaction_Integration (2.0), Security_Compliance (2.0), Terminology_Expression (1.0)

Usage pattern

  1. Design → run the design skill to generate architecture YAML from requirements
  2. Validate → run the validation skill on the diagram image for a scored JSON report
  3. Enforce → run the enforce skill to apply the CI gate policy (or skip for human review)
  4. Deep-dive security → run the security skill for an auth/credential/network boundary audit
  5. Standards check → run the review skill for committee-style compliance scoring
  6. Fix it → run the optimize skill for prioritized improvement suggestions
  7. Document it → run the report skill for an executive summary or Confluence page

Pipeline discipline (mandatory order)

Architecture stages run in the order defined by standards/workflow.yaml:

Requirements → design → draw (export PNG) → validate → enforce gate
                                                    │ PASS / WARN → security + review
                                                    │ BLOCK       → pipeline stops
security + review → optimize → report

Gate rules (fail-closed, enforced by the arch-workflow gatekeeper):

  • A stage starts only when every artifact in its requires list exists in the active project output//working/.
  • Never fabricate predecessor outputs and never skip a stage.
  • After the enforce gate, continue only on PASS or WARN. BLOCK requires fixing the findings and re-running validate → enforce.
  • Invoke arch-workflow status / arch-workflow can <stage> (@arch-workflow in OpenCode) before starting a stage when in doubt.
<!-- archharness-shared:end -->

Host specifics

Discovery. OpenCode reads this file and the agents under .opencode/agents/, invoked as @arch-*. Codex reads this file and discovers skills under .agents/skills/. GitHub Copilot discovers the @arch-* custom agents under .github/agents/. Cursor reads this file and, in supported builds, the skills under .claude/skills/.

Mirrors. .agents/skills/ is a generated mirror of .claude/skills/; update it with python scripts/sync_agents_skills.py after editing a skill. CI fails when the mirror drifts.

If skills aren't loading, confirm the working directory is the repository root (or a project directory) so .opencode/agents/, .agents/skills/, standards/, tools/, and config.yaml are all found.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.