UNPKG

aiwg

Version:

Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo

155 lines (113 loc) 4.61 kB
# Artifact Discovery Rules **Enforcement Level**: HIGH **Scope**: All SDLC agents that work with project artifacts **Tier**: sdlc ## Overview These rules define when and how agents should use the `aiwg index` CLI commands as self-service tools for artifact discovery. Agents can query, navigate, and understand project artifacts without relying on manual file searching. ## Problem Statement Agents frequently spend excessive context window on blind `Glob` and `Grep` searches across `.aiwg/` directories. The artifact index provides structured, pre-computed metadata that agents should use instead. ## Mandatory Rules ### Rule 1: Use Index Before Starting Phase Work **REQUIRED**: Before beginning work on any SDLC phase, query the index for existing artifacts. ```bash # Find all requirements artifacts aiwg index query --phase requirements --json # Find artifacts related to a topic aiwg index query "authentication" --json # Find specific artifact types aiwg index query --type use-case --json ``` **WHY**: Prevents duplicate work and ensures agents build on existing artifacts. ### Rule 2: Check Dependencies Before Modifying Artifacts **REQUIRED**: Before modifying any artifact, check what depends on it. ```bash # What depends on this requirement? aiwg index deps .aiwg/requirements/UC-001.md --json # What does this ADR depend on? aiwg index deps .aiwg/architecture/adr-001.md --direction upstream --json ``` **WHY**: Prevents breaking downstream artifacts. If 5 test plans reference a use case, changing that use case requires updating those test plans. ### Rule 3: Always Use --json Flag **REQUIRED**: Agents MUST use `--json` flag when invoking index commands. ```bash # CORRECT - structured output for programmatic parsing aiwg index query "auth" --json aiwg index deps .aiwg/requirements/UC-001.md --json aiwg index stats --json # INCORRECT - human-readable output wastes tokens aiwg index query "auth" ``` **WHY**: JSON output is compact and parseable. Human-readable table output wastes context window tokens. ### Rule 4: Rebuild Index After Creating Artifacts **REQUIRED**: After creating or modifying `.aiwg/` artifacts, trigger an index rebuild. ```bash aiwg index build ``` **WHEN**: After any of these operations: - Creating new artifacts in `.aiwg/` - Modifying artifact frontmatter (tags, type, phase) - Adding/removing @-mention references - Deleting artifacts ### Rule 5: Use Stats for Project Health Assessment **REQUIRED**: When assessing project state, use `aiwg index stats --json` instead of manual file counting. ```bash aiwg index stats --json ``` This provides: artifact counts by phase and type, tag distribution, dependency graph metrics, and index coverage — all in a single command. ## JSON Output Schemas ### Query Result ```json { "query": { "text": "auth", "filters": {} }, "results": [ { "path": ".aiwg/requirements/UC-001.md", "type": "use-case", "phase": "requirements", "title": "User Authentication", "score": 0.9, "summary": "Users can authenticate via email/password or SSO." } ], "total": 1, "query_time_ms": 5 } ``` ### Dependencies Result ```json { "artifact": ".aiwg/requirements/UC-001.md", "direction": "both", "depth": 3, "upstream": [], "downstream": [".aiwg/architecture/adr-001.md", ".aiwg/testing/tp-001.md"], "upstreamCount": 0, "downstreamCount": 2 } ``` ### Stats Result ```json { "totalArtifacts": 25, "byPhase": { "requirements": 8, "architecture": 5, "testing": 7 }, "byType": { "use-case": 8, "adr": 5, "test-plan": 7 }, "graphMetrics": { "totalEdges": 42, "orphanedArtifacts": 3 }, "coverage": { "indexed": 25, "totalFiles": 28, "percentage": 89 } } ``` ## When to Use Which Command | Situation | Command | |-----------|---------| | Starting work on a phase | `aiwg index query --phase <phase> --json` | | Looking for related artifacts | `aiwg index query "<topic>" --json` | | Before modifying an artifact | `aiwg index deps <path> --json` | | After creating/modifying artifacts | `aiwg index build` | | Assessing project health | `aiwg index stats --json` | | Finding artifacts by tag | `aiwg index query --tags <tag1>,<tag2> --json` | | Finding artifacts by type | `aiwg index query --type <type> --json` | ## References - @$AIWG_ROOT/src/artifacts/cli.ts — CLI router - @$AIWG_ROOT/src/artifacts/query-engine.ts — Query implementation - @$AIWG_ROOT/src/artifacts/dep-graph.ts — Dependency graph - @$AIWG_ROOT/src/artifacts/stats.ts — Statistics - @$AIWG_ROOT/src/artifacts/index-builder.ts — Index builder