@sallmarta/eye-hate-agent 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -310
- package/bin/eha.js +203 -118
- package/docs/templates/project-docs-template/foundation/architecture.md +79 -0
- package/docs/templates/project-docs-template/foundation/changelog.md +53 -0
- package/docs/templates/project-docs-template/foundation/feature-inventory.md +46 -0
- package/docs/templates/project-docs-template/foundation/phases.md +60 -0
- package/docs/templates/project-docs-template/foundation/prd.md +69 -0
- package/docs/templates/project-docs-template/foundation/status.md +57 -0
- package/docs/templates/project-docs-template/foundation/workflow.md +59 -0
- package/docs/templates/project-docs-template/getting-started.md +52 -0
- package/docs/{vibes → templates}/project-docs-template/index.md +12 -12
- package/docs/templates/project-docs-template/operations/ci-cd.md +56 -0
- package/docs/templates/project-docs-template/operations/compliance.md +46 -0
- package/docs/templates/project-docs-template/operations/governance.md +46 -0
- package/docs/templates/project-docs-template/operations/observability.md +53 -0
- package/docs/templates/project-docs-template/operations/production-runbook.md +62 -0
- package/docs/templates/project-docs-template/operations/security.md +49 -0
- package/docs/templates/project-docs-template/technical/api-contract.md +49 -0
- package/docs/templates/project-docs-template/technical/database.md +59 -0
- package/docs/templates/project-docs-template/technical/error-handling.md +54 -0
- package/docs/templates/project-docs-template/technical/internationalization.md +46 -0
- package/docs/templates/project-docs-template/technical/testing.md +57 -0
- package/docs/templates/project-docs-template/technical/ui-ux.md +68 -0
- package/docs/{vibes → templates}/project-docs-template/technical-guidelines/index.md +3 -3
- package/docs/{vibes → templates}/reusable-prompts/00-project-docs-bootstrap.md +2 -4
- package/docs/{vibes → templates}/reusable-prompts/00-project-docs-parity.md +3 -5
- package/docs/{vibes → templates}/reusable-prompts/00-project-docs-refresh.md +2 -4
- package/docs/{vibes → templates}/reusable-prompts/02-sdd-discuss.md +2 -2
- package/{.agents/rules/agent.md → docs/templates/rules/agent-rules.md} +6 -11
- package/docs/templates/skills/architecture/db-schema-design/SKILL.md +14 -0
- package/docs/{vibes/skills → templates/skills/auditing}/full-verification/SKILL.md +1 -1
- package/docs/{vibes/skills → templates/skills/auditing}/parity/SKILL.md +2 -2
- package/docs/templates/skills/engineering/refactor-specialist/SKILL.md +13 -0
- package/docs/{vibes/skills → templates/skills/engineering}/test-authoring/SKILL.md +177 -1
- package/docs/templates/skills/engineering/ui-ux-implementation/SKILL.md +13 -0
- package/docs/templates/skills/operations/ci-cd-authoring/SKILL.md +13 -0
- package/docs/templates/skills/operations/observability-setup/SKILL.md +13 -0
- package/package.json +4 -6
- package/src/engine/index.js +7 -12
- package/src/engine/install.js +67 -163
- package/src/engine/runtime-adapters.js +263 -50
- package/src/engine/skill-registry.js +67 -0
- package/src/engine/state.js +29 -7
- package/src/engine/workflow-registry.js +14 -23
- package/.claude/commands/eha/README.md +0 -3
- package/.claude/commands/eha/eha-bootstrap.md +0 -9
- package/.claude/commands/eha/eha-discuss.md +0 -9
- package/.claude/commands/eha/eha-execute.md +0 -9
- package/.claude/commands/eha/eha-parity.md +0 -9
- package/.claude/commands/eha/eha-refresh.md +0 -9
- package/.claude/commands/eha/eha-verify.md +0 -9
- package/.claude/rules/agent-rules.md +0 -64
- package/.github/instructions/agent-rules.instructions.md +0 -63
- package/.github/instructions/eha-workflows.instructions.md +0 -21
- package/docs/eyehateagent-contract.md +0 -475
- package/docs/eyehateagent-maintenance.md +0 -103
- package/docs/project-docs/changelog.md +0 -299
- package/docs/project-docs/foundation/architecture.md +0 -117
- package/docs/project-docs/foundation/status.md +0 -32
- package/docs/project-docs/foundation/workflow.md +0 -63
- package/docs/project-docs/index.md +0 -20
- package/docs/project-docs/testing.md +0 -73
- package/docs/vibes/project-docs-template/foundation/architecture.md +0 -79
- package/docs/vibes/project-docs-template/foundation/changelog.md +0 -53
- package/docs/vibes/project-docs-template/foundation/feature-inventory.md +0 -46
- package/docs/vibes/project-docs-template/foundation/phases.md +0 -60
- package/docs/vibes/project-docs-template/foundation/prd.md +0 -69
- package/docs/vibes/project-docs-template/foundation/status.md +0 -57
- package/docs/vibes/project-docs-template/foundation/workflow.md +0 -59
- package/docs/vibes/project-docs-template/getting-started.md +0 -52
- package/docs/vibes/project-docs-template/operations/ci-cd.md +0 -56
- package/docs/vibes/project-docs-template/operations/compliance.md +0 -46
- package/docs/vibes/project-docs-template/operations/governance.md +0 -46
- package/docs/vibes/project-docs-template/operations/observability.md +0 -53
- package/docs/vibes/project-docs-template/operations/production-runbook.md +0 -62
- package/docs/vibes/project-docs-template/operations/security.md +0 -49
- package/docs/vibes/project-docs-template/technical/api-contract.md +0 -49
- package/docs/vibes/project-docs-template/technical/database.md +0 -59
- package/docs/vibes/project-docs-template/technical/error-handling.md +0 -54
- package/docs/vibes/project-docs-template/technical/internationalization.md +0 -46
- package/docs/vibes/project-docs-template/technical/testing.md +0 -57
- package/docs/vibes/project-docs-template/technical/ui-ux.md +0 -68
- package/docs/vibes/skills/project-elevation/SKILL.md +0 -157
- package/docs/vibes/skills/test-authoring/references/patterns.md +0 -116
- package/docs/vibes/skills/test-authoring/references/test-types.md +0 -52
- /package/docs/{vibes → templates}/reusable-prompts/01-sdd-execute.md +0 -0
- /package/docs/{vibes/skills → templates/skills/architecture}/api-design/SKILL.md +0 -0
- /package/docs/{vibes/skills/analysis → templates/skills/architecture/system-analysis}/SKILL.md +0 -0
- /package/docs/{vibes/skills/code-audit → templates/skills/auditing/security-audit}/SKILL.md +0 -0
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Lean always-on rules for guardrails, context, intake, verification, and doc sync."
|
|
3
|
-
applyTo: "**"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Agent Rules
|
|
7
|
-
|
|
8
|
-
## 1. Guardrails & Approach
|
|
9
|
-
|
|
10
|
-
Prevent unilateral changes that could surprise the user and balance proactive execution with alignment.
|
|
11
|
-
|
|
12
|
-
- **1.1** Ask before making material architecture, naming, or tool changes. Skip this for micro-decisions.
|
|
13
|
-
- **1.2** Balance proactive execution with user alignment so initiative never outpaces agreement.
|
|
14
|
-
- **1.3** If a better approach exists, compare the user's apparent expectation with the recommended path clearly and briefly. Use a short table when that sharpens the tradeoff. Phrasing to use: *"I have an alternative approach that may be better - want me to use it instead?"*
|
|
15
|
-
|
|
16
|
-
## 2. Context & Cache Integrity
|
|
17
|
-
|
|
18
|
-
Protect the prompt prefix cache and manage context-window capacity to preserve the 90% cached-token discount.
|
|
19
|
-
|
|
20
|
-
- **2.1** Keep always-on context small. Keep rules generic and leave project-specific facts in project docs under `docs/project-docs/`.
|
|
21
|
-
- **2.2** Read the smallest owning doc that resolves the decision rather than scanning the entire repository.
|
|
22
|
-
- **2.3** **Prefix & Lookback Integrity (Claude):** Cache reads cost 90% less but require a byte-identical prefix in tools -> system -> messages order. Never reorder, add, or remove tool definitions mid-session. Never inject dynamic content (timestamps, per-request IDs) into the system prompt — move it to a late user message instead.
|
|
23
|
-
- **2.4** **Claude Cache Breakpoints:** In heavy agentic loops, be aware of the ~20-block lookback window. If a single turn produces more than ~15 tool-use/tool-result pairs, explicitly request the user to perform a minor conversational interaction or place a cache breakpoint block to prevent silent cache misses on subsequent turns.
|
|
24
|
-
- **2.5** **Session Continuity (No Dynamic Compaction):** Never modify, compact, or delete prior chat turns mid-session—this destroys the hardware prefix cache. If context reaches ~65% capacity, compile a comprehensive session-handoff.md to `active-repo/memories/session/session-handoff.md` (overwriting any previous handoff, and ensure `active-repo/memories/session/` is added to `.gitignore` if created). The handoff must contain a full, detailed summary of the active conversation's progress, decisions, and open threads, strictly redact all sensitive information (such as API keys, passwords, credentials, or PII), and incorporate any user-provided compaction arguments as next-session focus areas. Prompt the user to run `/clear` or open a new session with this file loaded, providing a copy-pasteable short prompt (e.g., "Resume session from memories/session/session-handoff.md") to load the handoff instantly.
|
|
25
|
-
|
|
26
|
-
## 3. Intake & Scope Alignment
|
|
27
|
-
|
|
28
|
-
Structure incoming requests before acting to reduce rework and catch ambiguity early.
|
|
29
|
-
|
|
30
|
-
- **3.1** For non-trivial tasks, follow this 7-step checklist before coding:
|
|
31
|
-
1. Summarize the request in 1–3 sentences.
|
|
32
|
-
2. Analyze before implementing. Brainstorm when the task benefits from options, tradeoffs, or sequencing.
|
|
33
|
-
3. Ask clarifying questions when the request is ambiguous, under-specified, expectations are misplaced, or confidence is below 95%. **Clarify scope or output format before execution, not at completion.**
|
|
34
|
-
4. Make a short ordered plan or todo list.
|
|
35
|
-
5. Treat a user-provided list as full scope unless the user changes it.
|
|
36
|
-
6. Confirm if the plan could materially change scope, output, or direction.
|
|
37
|
-
7. Then proceed.
|
|
38
|
-
- **3.2** Skip the intake checklist only for trivial single-step edits.
|
|
39
|
-
|
|
40
|
-
## 4. Docs, Verification, and Completion
|
|
41
|
-
|
|
42
|
-
Ensure every task ends with verified output, synchronized documentation, and clear follow-ups.
|
|
43
|
-
|
|
44
|
-
- **4.1** State a point once, in its strongest owning section.
|
|
45
|
-
- **4.2** Default live response shape when no stronger format applies: Summary -> What I'll Do -> Result or Next Action -> Validation or Limitation -> Optional Follow-Up.
|
|
46
|
-
- **4.3** Stronger formats win: user formatting requests > mode-specific files > skill or prompt `Output Contract`.
|
|
47
|
-
- **4.4** **Knowledge & Memory Preservation:** Preserve unique information when writing to memory. If valuable legacy or codebase knowledge does not fit standard headings, decide: new section, new file, or ask the user if the best location is ambiguous.
|
|
48
|
-
- **4.5** **Documentation Sync:** After code or rule changes, sync affected docs under `docs/project-docs/` to ensure they remain the canonical source of truth.
|
|
49
|
-
- **4.6** **Follow-Up Suggestions:** After completing a task, you may suggest 1–3 high-value, optional next actions. Never apply them silently. Phrasing: *"Task complete. Noticed X could be improved - want me to handle that too? or I can explain it if you want to review first."*
|
|
50
|
-
|
|
51
|
-
## 5. Contract Essentials
|
|
52
|
-
|
|
53
|
-
Embed the critical behavioral rules from the contract so agents follow them without opening the full contract on every task.
|
|
54
|
-
|
|
55
|
-
- **5.1 Skills & Relevance:** Treat attached or mentioned skills as relevance hints, not automatic requirements. If a skill is clearly unnecessary, say so briefly and proceed directly unless the user insists. Prefer the single most relevant skill over chaining multiple.
|
|
56
|
-
- **5.2 Decision Precedence:** Resolve routing, conflict, and behavior decisions in this strict order:
|
|
57
|
-
1. User's requested goal and output.
|
|
58
|
-
2. User's explicit constraints or preferences.
|
|
59
|
-
3. The active contract (`docs/eyehateagent-contract.md`) and the owning project docs under `docs/project-docs/`.
|
|
60
|
-
4. Attached context (skills, notes, or examples) treated as relevance hints unless made mandatory.
|
|
61
|
-
5. Automatic agent judgment.
|
|
62
|
-
- **5.3 Failure & Fallback:** If a required project doc is missing, note the gap and create the smallest owning doc that unblocks the task. If code, tests, configs, or runtime-facing artifacts conflict with active docs and authority is unclear, do not guess: surface the conflict, cite the evidence, and ask the user before choosing the fix path.
|
|
63
|
-
- **5.4 Codebase & Comment Integrity:** Maintain absolute documentation and codebase integrity when making modifications. Preserve all existing comments, docstrings, formatting, and structures that are unrelated to your changes unless explicitly instructed otherwise. Never delete unrelated comments or placeholder code silently.
|
|
64
|
-
- **5.5 Completion & Verification:** End each task with the requested output and the narrowest applicable validation from `docs/project-docs/testing.md` (or a structural review with an explicit limitation if no executable check exists). Re-read output for correctness, edge cases, and unexpected side effects before finishing. Include a doc-sync check when ownership changed.
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Lean always-on rules for guardrails, context, intake, verification, and doc sync."
|
|
3
|
-
applyTo: "**"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Agent Rules
|
|
7
|
-
|
|
8
|
-
## 1. Guardrails & Approach
|
|
9
|
-
|
|
10
|
-
Prevent unilateral changes that could surprise the user and balance proactive execution with alignment.
|
|
11
|
-
|
|
12
|
-
- **1.1** Ask before making material architecture, naming, or tool changes. Skip this for micro-decisions.
|
|
13
|
-
- **1.2** Balance proactive execution with user alignment so initiative never outpaces agreement.
|
|
14
|
-
- **1.3** If a better approach exists, compare the user's apparent expectation with the recommended path clearly and briefly. Use a short table when that sharpens the tradeoff. Phrasing to use: *"I have an alternative approach that may be better - want me to use it instead?"*
|
|
15
|
-
|
|
16
|
-
## 2. Context & Cache Integrity
|
|
17
|
-
|
|
18
|
-
Protect the prompt prefix cache and manage context-window capacity to preserve the 90% cached-token discount.
|
|
19
|
-
|
|
20
|
-
- **2.1** Keep always-on context small. Keep rules generic and leave project-specific facts in project docs under `docs/project-docs/`.
|
|
21
|
-
- **2.2** Read the smallest owning doc that resolves the decision rather than scanning the entire repository.
|
|
22
|
-
- **2.3** **Context Efficiency (Copilot):** Under usage-based billing, cached tokens still cost AI Credits — keep instruction files and session context lean rather than exhaustive. Prefer explicit context (`#file`, `#selection`) over broad implicit context. Start a fresh session or use `/clear` when switching to an unrelated task to prevent context clutter from degrading cache-hit quality. Do not accumulate stale file references or conversation history that is no longer relevant to the active task.
|
|
23
|
-
- **2.4** **Session Continuity (No Dynamic Compaction):** Never modify, compact, or delete prior chat turns mid-session—this destroys the hardware prefix cache. If context reaches ~65% capacity, compile a comprehensive session-handoff.md to `active-repo/memories/session/session-handoff.md` (overwriting any previous handoff, and ensure `active-repo/memories/session/` is added to `.gitignore` if created). The handoff must contain a full, detailed summary of the active conversation's progress, decisions, and open threads, strictly redact all sensitive information (such as API keys, passwords, credentials, or PII), and incorporate any user-provided compaction arguments as next-session focus areas. Prompt the user to run `/clear` or open a new session with this file loaded, providing a copy-pasteable short prompt (e.g., "Resume session from memories/session/session-handoff.md") to load the handoff instantly.
|
|
24
|
-
|
|
25
|
-
## 3. Intake & Scope Alignment
|
|
26
|
-
|
|
27
|
-
Structure incoming requests before acting to reduce rework and catch ambiguity early.
|
|
28
|
-
|
|
29
|
-
- **3.1** For non-trivial tasks, follow this 7-step checklist before coding:
|
|
30
|
-
1. Summarize the request in 1–3 sentences.
|
|
31
|
-
2. Analyze before implementing. Brainstorm when the task benefits from options, tradeoffs, or sequencing.
|
|
32
|
-
3. Ask clarifying questions when the request is ambiguous, under-specified, expectations are misplaced, or confidence is below 95%. **Clarify scope or output format before execution, not at completion.**
|
|
33
|
-
4. Make a short ordered plan or todo list.
|
|
34
|
-
5. Treat a user-provided list as full scope unless the user changes it.
|
|
35
|
-
6. Confirm if the plan could materially change scope, output, or direction.
|
|
36
|
-
7. Then proceed.
|
|
37
|
-
- **3.2** Skip the intake checklist only for trivial single-step edits.
|
|
38
|
-
|
|
39
|
-
## 4. Docs, Verification, and Completion
|
|
40
|
-
|
|
41
|
-
Ensure every task ends with verified output, synchronized documentation, and clear follow-ups.
|
|
42
|
-
|
|
43
|
-
- **4.1** State a point once, in its strongest owning section.
|
|
44
|
-
- **4.2** Default live response shape when no stronger format applies: Summary -> What I'll Do -> Result or Next Action -> Validation or Limitation -> Optional Follow-Up.
|
|
45
|
-
- **4.3** Stronger formats win: user formatting requests > mode-specific files > skill or prompt `Output Contract`.
|
|
46
|
-
- **4.4** **Knowledge & Memory Preservation:** Preserve unique information when writing to memory. If valuable legacy or codebase knowledge does not fit standard headings, decide: new section, new file, or ask the user if the best location is ambiguous.
|
|
47
|
-
- **4.5** **Documentation Sync:** After code or rule changes, sync affected docs under `docs/project-docs/` to ensure they remain the canonical source of truth.
|
|
48
|
-
- **4.6** **Follow-Up Suggestions:** After completing a task, you may suggest 1–3 high-value, optional next actions. Never apply them silently. Phrasing: *"Task complete. Noticed X could be improved - want me to handle that too? or I can explain it if you want to review first."*
|
|
49
|
-
|
|
50
|
-
## 5. Contract Essentials
|
|
51
|
-
|
|
52
|
-
Embed the critical behavioral rules from the contract so agents follow them without opening the full contract on every task.
|
|
53
|
-
|
|
54
|
-
- **5.1 Skills & Relevance:** Treat attached or mentioned skills as relevance hints, not automatic requirements. If a skill is clearly unnecessary, say so briefly and proceed directly unless the user insists. Prefer the single most relevant skill over chaining multiple.
|
|
55
|
-
- **5.2 Decision Precedence:** Resolve routing, conflict, and behavior decisions in this strict order:
|
|
56
|
-
1. User's requested goal and output.
|
|
57
|
-
2. User's explicit constraints or preferences.
|
|
58
|
-
3. The active contract (`docs/eyehateagent-contract.md`) and the owning project docs under `docs/project-docs/`.
|
|
59
|
-
4. Attached context (skills, notes, or examples) treated as relevance hints unless made mandatory.
|
|
60
|
-
5. Automatic agent judgment.
|
|
61
|
-
- **5.3 Failure & Fallback:** If a required project doc is missing, note the gap and create the smallest owning doc that unblocks the task. If code, tests, configs, or runtime-facing artifacts conflict with active docs and authority is unclear, do not guess: surface the conflict, cite the evidence, and ask the user before choosing the fix path.
|
|
62
|
-
- **5.4 Codebase & Comment Integrity:** Maintain absolute documentation and codebase integrity when making modifications. Preserve all existing comments, docstrings, formatting, and structures that are unrelated to your changes unless explicitly instructed otherwise. Never delete unrelated comments or placeholder code silently.
|
|
63
|
-
- **5.5 Completion & Verification:** End each task with the requested output and the narrowest applicable validation from `docs/project-docs/testing.md` (or a structural review with an explicit limitation if no executable check exists). Re-read output for correctness, edge cases, and unexpected side effects before finishing. Include a doc-sync check when ownership changed.
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Generated EHA workflow routing for GitHub Copilot"
|
|
3
|
-
applyTo: "**"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# EHA Engine Workflows
|
|
7
|
-
|
|
8
|
-
When a user asks to run an EHA workflow, prefer the canonical reusable prompt file listed below and preserve its output contract.
|
|
9
|
-
|
|
10
|
-
- `bootstrap` -> `docs/vibes/reusable-prompts/00-project-docs-bootstrap.md`
|
|
11
|
-
- `refresh` -> `docs/vibes/reusable-prompts/00-project-docs-refresh.md`
|
|
12
|
-
- `parity` -> `docs/vibes/reusable-prompts/00-project-docs-parity.md`
|
|
13
|
-
- `discuss` -> `docs/vibes/reusable-prompts/02-sdd-discuss.md`
|
|
14
|
-
- `execute` -> `docs/vibes/reusable-prompts/01-sdd-execute.md`
|
|
15
|
-
- `verify` -> `docs/vibes/reusable-prompts/00-project-docs-parity.md` (A dedicated verify workflow does not exist yet; verify currently routes to the parity workflow.)
|
|
16
|
-
|
|
17
|
-
## Runtime support
|
|
18
|
-
|
|
19
|
-
- GitHub Copilot support tier is **guided**
|
|
20
|
-
- this install generates repo-local instructions, not slash commands
|
|
21
|
-
- generated outputs stay inside the repository for transparency
|
|
@@ -1,475 +0,0 @@
|
|
|
1
|
-
# Project Documentation Contract
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
This document defines the **canonical project-doc contract** for repositories that use this template.
|
|
6
|
-
|
|
7
|
-
Its job is to keep three layers aligned:
|
|
8
|
-
|
|
9
|
-
1. **Instructions / rules** stay generic and reusable.
|
|
10
|
-
2. **Skills** stay procedural and reusable.
|
|
11
|
-
3. **Project docs** hold the project-specific truth about stack, commands, architecture, testing, workflow, and scope.
|
|
12
|
-
|
|
13
|
-
If a repository changes stacks, runtime models, or framework choices, the required adjustment should happen primarily in the owning project docs under `docs/project-docs/` rather than by rewriting the core rules or skills.
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Operating Model
|
|
18
|
-
|
|
19
|
-
### Rules and instructions
|
|
20
|
-
|
|
21
|
-
- Rules enforce behavior, guardrails, and quality expectations.
|
|
22
|
-
- Rules must **not** hardcode stack-specific commands or framework assumptions when that information belongs in project docs.
|
|
23
|
-
- This repository intentionally keeps the context-compaction trigger of roughly 65% in the platform instruction surfaces (mirrored rule files) as an agent-operating threshold. Treat it as a deliberate exception to the general preference for principle-based reusable rules.
|
|
24
|
-
- Rules should read the relevant files in `docs/project-docs/` directly.
|
|
25
|
-
|
|
26
|
-
### Skills
|
|
27
|
-
|
|
28
|
-
- Skills define reusable expert-role procedures such as testing, analysis, API design, auditing, or documentation refresh.
|
|
29
|
-
- Skills should begin by reading the relevant project docs before applying their reusable expert procedure.
|
|
30
|
-
- Skills may include examples, but examples must not become hidden project-specific requirements.
|
|
31
|
-
|
|
32
|
-
### Reusable prompts
|
|
33
|
-
|
|
34
|
-
- In this repository, `prompt` means the user's live request.
|
|
35
|
-
- `Reusable prompt` means a reusable workflow file under `docs/vibes/reusable-prompts/`.
|
|
36
|
-
- Reusable prompts create and refresh the project docs.
|
|
37
|
-
- Reusable prompts should follow the file responsibilities and stable headings defined in this contract.
|
|
38
|
-
- Reusable prompts may be split into bootstrap, refresh, and parity families.
|
|
39
|
-
|
|
40
|
-
### Runtime Modes
|
|
41
|
-
|
|
42
|
-
Use two operating modes.
|
|
43
|
-
|
|
44
|
-
| Mode | Typical request | Default path | Reusable prompts |
|
|
45
|
-
| --- | --- | --- | --- |
|
|
46
|
-
| Normal work | build, create, fix, test, review, or analyze a feature, bug, or code path | user prompt -> instructions -> relevant project docs -> optional skill -> output | No |
|
|
47
|
-
| Template or doc maintenance | bootstrap docs, refresh docs after a material change, run parity, or update template structure | maintenance request -> reusable prompt or maintenance workflow -> contract or docs update | Yes, when bootstrap, refresh, or parity is the task |
|
|
48
|
-
|
|
49
|
-
### Request Routing Examples
|
|
50
|
-
|
|
51
|
-
| User request | Mode | Read first | Skill | Expected output |
|
|
52
|
-
| --- | --- | --- | --- | --- |
|
|
53
|
-
| "create evaluation feature api" | Normal work | `foundation/architecture.md`, `foundation/prd.md`, `foundation/status.md`, and any relevant API docs | Optional, usually `api-design` only if the boundary is non-trivial | Implemented API change or design-ready boundary update |
|
|
54
|
-
| "test evaluation feature api" | Normal work | `technical/testing.md`, `foundation/architecture.md`, and relevant feature docs | Usually `test-authoring` | Verification strategy, recommended checks, and tests when needed |
|
|
55
|
-
| "verify this feature against the docs, contract, and code" | Normal work | `technical/testing.md`, `foundation/architecture.md`, `foundation/prd.md`, `foundation/status.md`, and relevant technical-guidelines or feature docs | Usually `full-verification` | Routed verification path, selected specialist skill, and checks or findings |
|
|
56
|
-
| "analyze why evaluation api is flaky" | Normal work | `foundation/architecture.md`, `technical/testing.md`, `foundation/status.md`, and runtime evidence | Usually `analysis` or `code-audit` | Findings, likely cause, and next action |
|
|
57
|
-
| "what should we improve before this workflow is production-ready" | Normal work | `foundation/prd.md`, `foundation/status.md`, `foundation/architecture.md`, `technical/testing.md`, and relevant workflow docs | Usually `project-elevation` | Prioritized improvement roadmap grounded in current scope and maturity |
|
|
58
|
-
| "refresh docs after architecture change" | Template or doc maintenance | `docs/eyehateagent-contract.md`, `foundation/architecture.md`, and the owning docs | Optional | Updated docs only, usually through the refresh reusable prompt workflow |
|
|
59
|
-
| "audit reusable prompt and skill drift" | Template or doc maintenance | `docs/eyehateagent-contract.md`, platform instruction surfaces, reusable prompt files, skill files, and summary docs | Usually `parity` | Drift report and ownership-level fixes |
|
|
60
|
-
|
|
61
|
-
### Skill Invocation Rule
|
|
62
|
-
|
|
63
|
-
- Read the relevant project docs first.
|
|
64
|
-
- Act directly when the task is local, obvious after reading the docs, and primarily implementation, editing, or straightforward verification.
|
|
65
|
-
- Use a skill when the task benefits from a reusable expert-role method, deeper reasoning, boundary-specific design, expert auditing, or expert verification planning.
|
|
66
|
-
- If the user explicitly requests a skill, treat that as a stronger signal than automatic judgment and use the skill unless it is clearly irrelevant or unnecessary for the task.
|
|
67
|
-
- Treat attached skill context as a relevance hint, not an automatic requirement.
|
|
68
|
-
- If a requested or attached skill is clearly unnecessary, say so briefly and proceed directly unless the user insists.
|
|
69
|
-
- Use `full-verification` when the user asks for broad verification against project docs, contract, guidelines, code, or repository state and the dominant specialist check is not obvious up front.
|
|
70
|
-
- Prefer the single most relevant skill instead of chaining multiple skills by default.
|
|
71
|
-
- Skills support execution; they do not replace project docs as the source of truth.
|
|
72
|
-
|
|
73
|
-
### Skill Selection Matrix
|
|
74
|
-
|
|
75
|
-
Use this matrix when multiple skills sound plausible.
|
|
76
|
-
|
|
77
|
-
| If the user mainly wants... | Usually choose | Choose this over... | Expected outcome |
|
|
78
|
-
| --- | --- | --- | --- |
|
|
79
|
-
| Broad verification against project docs, contract, code, guidelines, or repository state | `full-verification` | a specialist skill when the user wants one broad entry point and the best verification mode is not yet clear | Routed specialist skill, verification plan, and checks or findings |
|
|
80
|
-
| Root-cause explanation, trade-off judgment, or architecture reasoning | `analysis` | `project-elevation` when the question is about current behavior or decision quality rather than future improvements | Findings, reasoning, recommendation, and confidence |
|
|
81
|
-
| Correctness review of existing code, logic, or boundary safety | `code-audit` | `analysis` when the task is inspecting an implemented artifact for bugs, dead paths, or boundary violations | Severity-ranked findings and corrective direction |
|
|
82
|
-
| Contract or boundary shape for an API, service, repository, adapter, or event | `api-design` | `analysis` when the primary deliverable is a contract or interface shape rather than a broad judgment memo | Proposed boundary design, validation rules, and verification strategy |
|
|
83
|
-
| Verification boundary, check type, commands, and whether tests should be added | `test-authoring` | `code-audit` when the question is how to verify a change, not whether the implementation is correct | Verification strategy and tests when needed |
|
|
84
|
-
| Forward-looking improvements, missing capabilities, or what to do next | `project-elevation` | `analysis` when the task is prioritizing realistic next improvements rather than explaining existing behavior | Prioritized improvement roadmap |
|
|
85
|
-
| Drift, contradiction, or ownership mismatches across docs, platform instruction surfaces, skills, and prompts | `parity` | `analysis` when the problem is repository-wide disagreement rather than local technical reasoning | Classified drift findings with ownership-level fixes |
|
|
86
|
-
|
|
87
|
-
### Decision Precedence
|
|
88
|
-
|
|
89
|
-
Resolve routing and behavior decisions in this order:
|
|
90
|
-
|
|
91
|
-
1. the user's requested goal and output
|
|
92
|
-
2. the user's explicit constraints or preferences, including an explicit request to use a specific skill
|
|
93
|
-
3. the active contract and the owning project docs
|
|
94
|
-
4. attached context such as skill files, notes, or examples, treated as relevance hints unless the user made them mandatory
|
|
95
|
-
5. automatic agent judgment
|
|
96
|
-
|
|
97
|
-
If a higher-precedence signal conflicts with a lower one, follow the higher signal unless it is impossible, unsafe, or clearly irrelevant; explain the conflict briefly when that affects the outcome.
|
|
98
|
-
|
|
99
|
-
### Failure And Fallback Rules
|
|
100
|
-
|
|
101
|
-
- If a required project doc is missing, note the gap explicitly, create or update the smallest owning doc that unblocks the task, and limit confidence until the gap is resolved.
|
|
102
|
-
- If project docs conflict, treat the contract and the owning doc as the source of truth, classify the mismatch as drift, and update the owner or ask the user when ownership is still unclear.
|
|
103
|
-
- If code, tests, configs, or runtime-facing artifacts conflict with active docs and the repository does not explicitly define which side is authoritative for that fact, do not guess; surface the conflict, cite the evidence, and ask the user before choosing the fix path.
|
|
104
|
-
- If the repository clearly establishes authority for that fact, state the governing evidence explicitly and proceed using the owning surface.
|
|
105
|
-
- When mapping legacy or reference docs into the active owner-doc set, classify them by the durable concern they govern rather than by the legacy folder or filename; legacy names are hints, not the source-of-truth ownership model.
|
|
106
|
-
- If legacy or reference docs show that a still-valid optional doc, guideline set, or phased-planning surface should be active under `docs/project-docs/`, promote it into the active owner-doc set and update the relevant registries instead of leaving it only in reference folders.
|
|
107
|
-
- If legacy or reference docs contain valuable project-specific information (such as 'Decision Rationale') that does not fit into standard template headings, do not discard it. Evaluate its value and decide whether it should become a new custom section in an existing document or if it warrants a new separate file. If ambiguous, ask the user before discarding the knowledge.
|
|
108
|
-
- When no project docs or legacy docs exist and the codebase is the only source of truth, inspect code, comments, commit messages, configs, tests, and repository structure for valuable domain knowledge that goes beyond standard template headings. Surface these findings and decide whether each should become a new custom section in an existing document, a new separate file, or should be confirmed with the user first. Mark codebase-derived facts with lower confidence than doc-derived facts until the user confirms them.
|
|
109
|
-
- If the user requests a skill that is clearly unnecessary or mismatched, say so briefly and proceed directly unless the user insists.
|
|
110
|
-
- If attached context is outdated or conflicts with active docs, prefer the active docs and treat the attachment as reference only.
|
|
111
|
-
- If no suitable skill exists, continue through the direct path using the contract, project docs, and the strongest applicable non-skill method.
|
|
112
|
-
- If no stronger validation exists, follow the fallback rules in `testing.md` and state the limitation explicitly.
|
|
113
|
-
|
|
114
|
-
### Output By Mode
|
|
115
|
-
|
|
116
|
-
| Mode | Must end with |
|
|
117
|
-
| --- | --- |
|
|
118
|
-
| Normal work | The requested output, the narrowest applicable validation or an explicit limitation, and a documentation-sync update or check when ownership changed |
|
|
119
|
-
| Template or doc maintenance | Updated docs, platform instruction surfaces, skills, or reusable prompts, a consistency validation step, and any unresolved drift or follow-up items |
|
|
120
|
-
|
|
121
|
-
These are completion requirements, not a universal response template.
|
|
122
|
-
|
|
123
|
-
When a repository defines a default live-response shape in its platform instruction surfaces, treat that shape as a lightweight baseline only.
|
|
124
|
-
If multiple output-shape signals apply, use this precedence:
|
|
125
|
-
|
|
126
|
-
1. the user's explicit format request
|
|
127
|
-
2. the active mode or mode-specific agent file
|
|
128
|
-
3. the active skill or reusable prompt `Output Contract`
|
|
129
|
-
4. the platform instruction surface default live-response shape
|
|
130
|
-
5. the agent's local judgment
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## Repository Taxonomy
|
|
135
|
-
|
|
136
|
-
Use the repository in five categories.
|
|
137
|
-
|
|
138
|
-
| Category | Primary paths | Role |
|
|
139
|
-
| --- | --- | --- |
|
|
140
|
-
| Platform instruction surfaces | `.github/instructions/`, `.claude/rules/`, `.agents/rules/` | Agent-platform specific entry points that enforce generic behavior (via embedded Contract Essentials) and point to project docs |
|
|
141
|
-
| Docs anchors | `docs/eyehateagent-contract.md`, `docs/eyehateagent-maintenance.md` | Documentation-level routing, governance, and template-maintainer anchors |
|
|
142
|
-
| Active project docs | `docs/project-docs/` | Canonical project-specific truth for scope, architecture, testing, workflow, and conventions |
|
|
143
|
-
| Reusable template assets | `docs/vibes/` | Reusable prompts, skills, and starter assets that operate from the active contract |
|
|
144
|
-
| Reference or archive material | explicit non-contract paths such as `archive/`, `reference/`, `docs-legacy/`, `docs-old/`, or other clearly named folders | Historical, migrated, or example material that may inform work but must not override active contract truth |
|
|
145
|
-
|
|
146
|
-
`docs/eyehateagent-contract.md` plus the owning docs under `docs/project-docs/` form the active contract layer.
|
|
147
|
-
Project-specific facts still belong in `docs/project-docs/`.
|
|
148
|
-
When present, `docs/eyehateagent-maintenance.md` remains template-repo-only governance and must not become the owner of adopted-repository facts.
|
|
149
|
-
When adopting Eye Hate Agent into a repo that already has another documentation format, move the old docs you want to preserve into a clearly non-owner reference folder such as `docs-legacy/`, `docs-old/`, or `archive/legacy-docs/` before refresh.
|
|
150
|
-
Reusable prompts may read those folders as reference input during migration, but `docs/project-docs/` remains the only active owner-doc surface.
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## Supported Adoption Topologies
|
|
155
|
-
|
|
156
|
-
This contract formally supports two adoption topologies.
|
|
157
|
-
|
|
158
|
-
| Topology | Status | Contract rule |
|
|
159
|
-
| --- | --- | --- |
|
|
160
|
-
| Scenario 1 — distributed self-contained repos | Supported default | each adopted repo keeps its own contract, project docs, rule surfaces, and reusable template assets |
|
|
161
|
-
| Scenario 2 — shared template repo with local project docs | Supported alternative | each adopted repo keeps its own contract and project docs, while one shared template repo may own reusable assets for multiple adopted repos |
|
|
162
|
-
| Scenario 3 — centralized portfolio-doc repo | Not supported by this contract | possible only as a redesign, because it moves project-specific truth out of each adopted repo |
|
|
163
|
-
|
|
164
|
-
Rules that stay true in both supported topologies:
|
|
165
|
-
|
|
166
|
-
- each adopted repo keeps its own `docs/eyehateagent-contract.md`
|
|
167
|
-
- each adopted repo keeps its own local `docs/project-docs/` as the owner of repo-specific truth
|
|
168
|
-
- `docs/eyehateagent-maintenance.md` remains template-repo-only governance
|
|
169
|
-
- reusable prompts, reusable skills, and starter assets may be local in each repo or centralized in one shared template repo
|
|
170
|
-
- platform instruction surfaces may be centralized only when the agent platform can reliably consume them there; otherwise keep local mirrors that point back to the same contract
|
|
171
|
-
|
|
172
|
-
Scenario 3 is intentionally outside this contract because it changes the ownership model rather than only changing asset placement.
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## Spec-Driven Development (SDD) Workflow
|
|
177
|
-
|
|
178
|
-
Eye Hate Agent enforces a strict Spec-Driven Development (SDD) lifecycle.
|
|
179
|
-
**"Specification Dictates Implementation."**
|
|
180
|
-
|
|
181
|
-
### Workflow Sequence
|
|
182
|
-
|
|
183
|
-
1. **Update Specs First**: All new requirements, architectural changes, or bug fixes must first be documented in the relevant project docs (e.g., `prd.md` or `architecture.md`).
|
|
184
|
-
2. **Generate Tests (TDD)**: Test cases must be authored based *only* on the updated specifications.
|
|
185
|
-
3. **Generate Code**: Implementation code is written to pass the tests and fulfill the exact acceptance criteria defined in the specs. AI agents must refuse to write code for features not explicitly listed in the spec.
|
|
186
|
-
4. **Map to Specs**: Every code change must logically map back to a specific requirement, acceptance criterion, or architectural rule defined in the project docs.
|
|
187
|
-
|
|
188
|
-
---
|
|
189
|
-
|
|
190
|
-
## Required Document Set
|
|
191
|
-
|
|
192
|
-
| File Path | Priority | Purpose |
|
|
193
|
-
| --- | --- | --- |
|
|
194
|
-
| `docs/eyehateagent-contract.md` | Mandatory | Docs anchor for routing, ownership, and precedence |
|
|
195
|
-
| `index.md` | Mandatory | Links to all active documents |
|
|
196
|
-
| `getting-started.md` | Mandatory | Runbook for developers (setup, onboarding) |
|
|
197
|
-
| `foundation/prd.md` | Mandatory | Vision, personas, requirements, flows, and acceptance criteria |
|
|
198
|
-
| `foundation/architecture.md` | Mandatory | Stack, runtime model, boundaries, patterns |
|
|
199
|
-
| `foundation/workflow.md` | Mandatory | Local dev loop, PR process, team rules |
|
|
200
|
-
| `foundation/status.md` | Mandatory | Roadmap, current implementation state |
|
|
201
|
-
| `foundation/phases.md` | Mandatory | Phases of project, agile sprint tracking, and backlogs |
|
|
202
|
-
| `foundation/changelog.md` | Optional | Record of changes per release |
|
|
203
|
-
| `foundation/feature-inventory.md` | Optional | Detailed feature catalog linked to codebase |
|
|
204
|
-
| `operations/ci-cd.md` | Mandatory | Automate build/test/deploy pipeline |
|
|
205
|
-
| `operations/production-runbook.md` | Mandatory | Deployment steps and ops procedures |
|
|
206
|
-
| `operations/governance.md` | Optional | Release conventions, branch strategy |
|
|
207
|
-
| `operations/compliance.md` | Optional | Data privacy rules (GDPR) |
|
|
208
|
-
| `operations/observability.md` | Optional | Logging, tracing, metrics |
|
|
209
|
-
| `operations/security.md` | Optional | Identify threats & mitigations |
|
|
210
|
-
| `technical/testing.md` | Mandatory | Verification matrix, test types, and testing procedures |
|
|
211
|
-
| `technical/api-contract.md` | Mandatory | Service endpoints and messages |
|
|
212
|
-
| `technical/database.md` | Mandatory | Data structures, database schema, and Data Dictionary |
|
|
213
|
-
| `technical/ui-ux.md` | Mandatory | Design documents |
|
|
214
|
-
| `technical/error-handling.md` | Optional | Standardized error codes and shapes |
|
|
215
|
-
| `technical/internationalization.md` | Optional | Supported languages, i18n workflows |
|
|
216
|
-
|
|
217
|
-
**Flexible Baselines Principle**: The EHA templates are a baseline. Both humans and AI agents are empowered to modify, remove, or combine these template headings and files if a specific repository requires a leaner approach, provided the core SDD rule ("Specification Dictates Implementation") is preserved.
|
|
218
|
-
|
|
219
|
-
### Registry Policy
|
|
220
|
-
|
|
221
|
-
- Keep the always-required core docs explicit in this contract. Do not use a registry to replace `foundation/prd.md`, `foundation/architecture.md`, `technical/testing.md`, `foundation/workflow.md`, or `foundation/status.md`.
|
|
222
|
-
- Use `docs/project-docs/index.md` as the authoritative registry for optional and conditional regular project docs in a repo.
|
|
223
|
-
- Use `docs/project-docs/technical-guidelines/index.md` as the authoritative registry for active guideline types in a repo.
|
|
224
|
-
- A registry entry activates a known optional doc type or guideline type for bootstrap, refresh, and parity behavior even if no starter template file exists.
|
|
225
|
-
- Starter template files under `docs/vibes/project-docs-template/` are recommended references, not the activation mechanism.
|
|
226
|
-
- Registry entries for regular docs should capture at least file path, purpose, status, owner, and creation trigger.
|
|
227
|
-
- Registry entries for guideline docs should capture at least file path, domain, purpose, owner, and review trigger.
|
|
228
|
-
- If a brand-new regular doc type should be scaffolded without a starter template file, define its stable headings or equivalent structure in this contract first.
|
|
229
|
-
|
|
230
|
-
If you want to add your own known optional regular doc type to the template system, add a row to `docs/vibes/project-docs-template/index.md` first.
|
|
231
|
-
If you want to add your own known guideline type to the template system, add a row to `docs/vibes/project-docs-template/technical-guidelines/index.md` first.
|
|
232
|
-
If the new doc class needs a new stable heading pattern or new ownership rule, update this contract before relying on bootstrap to scaffold it.
|
|
233
|
-
|
|
234
|
-
### Guideline Policy
|
|
235
|
-
|
|
236
|
-
- Keep guidelines focused on technical guidance, not on broad project summary; if a fact is general repository truth, it belongs in the core project docs.
|
|
237
|
-
- A target repo is fully documented when the core project docs describe the repository generally and the active guidelines describe the durable technical rules that recurring work should follow.
|
|
238
|
-
- Create a guideline only when a domain has durable cross-cutting rules that would otherwise be repeated across tasks, reviews, or features.
|
|
239
|
-
- When any guideline files exist, create and maintain `technical-guidelines/index.md` as the authoritative registry for the active guideline set.
|
|
240
|
-
- Keep one primary domain per guideline file so ownership stays clear.
|
|
241
|
-
- Avoid placeholder guideline files; omit a domain until the repository has real guidance worth preserving.
|
|
242
|
-
- Avoid copying the same rules into `foundation/architecture.md`, `technical/testing.md`, or `foundation/prd.md`; instead, cross-reference the owning guideline.
|
|
243
|
-
- For a fully documented target repo, the baseline recommended starter set is: API, database, logging, error handling, JSON, code style, and design patterns.
|
|
244
|
-
- Add other guideline domains only when the project needs them, such as UI, security, observability, performance, AI, configuration, or migrations.
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
## Stable Headings Agents Can Depend On
|
|
249
|
-
|
|
250
|
-
These headings should remain stable across projects whenever the file exists. The list of stable headings is a minimum baseline. All active project docs now use a universal core heading block before domain-specific headings.
|
|
251
|
-
|
|
252
|
-
### Universal Core Headings (All Files)
|
|
253
|
-
|
|
254
|
-
- `## 1. Description`
|
|
255
|
-
- `## 2. Important`
|
|
256
|
-
- `## 3. Table of Contents`
|
|
257
|
-
- `## 4. Scope`
|
|
258
|
-
- `## 5. Goals`
|
|
259
|
-
- `## 6. Non Goals`
|
|
260
|
-
|
|
261
|
-
### `foundation/prd.md`
|
|
262
|
-
|
|
263
|
-
- `## 7. Vision Statement`
|
|
264
|
-
- `## 8. Target Personas`
|
|
265
|
-
- `## 9. Core Business Value`
|
|
266
|
-
- `## 10. User Journeys & App Flow`
|
|
267
|
-
- `## 11. Feature Workflows`
|
|
268
|
-
- `## 12. Functional Requirements`
|
|
269
|
-
- `## 13. Non-Functional Requirements`
|
|
270
|
-
- `## 14. Acceptance Criteria`
|
|
271
|
-
- `## 15. External Dependencies & Partners`
|
|
272
|
-
- `## 16. Success Metrics`
|
|
273
|
-
|
|
274
|
-
### `foundation/architecture.md`
|
|
275
|
-
|
|
276
|
-
- `## 7. Tech Stack Overview`
|
|
277
|
-
- `## 8. Architecture Pattern`
|
|
278
|
-
- `## 9. System Flow`
|
|
279
|
-
- `## 10. Data Flow`
|
|
280
|
-
- `## 11. Tools Integration`
|
|
281
|
-
- `## 12. Global Parameters and Constraints`
|
|
282
|
-
- `## 13. Architecture Decision Records (ADRs)`
|
|
283
|
-
|
|
284
|
-
### `technical/testing.md`
|
|
285
|
-
|
|
286
|
-
- `## 7. Verification Policy & Objectives`
|
|
287
|
-
- `## 8. Verification Matrix & Coverage`
|
|
288
|
-
- `## 9. Test Layers & Environments`
|
|
289
|
-
- `## 10. Commands & CI Gates`
|
|
290
|
-
- `## 11. Naming & File Conventions`
|
|
291
|
-
- `## 12. Manual Checks & Fallbacks`
|
|
292
|
-
|
|
293
|
-
### `technical/database.md`
|
|
294
|
-
|
|
295
|
-
- `## 7. Database Architecture`
|
|
296
|
-
- `## 8. Entity Relationship Diagram (ERD)`
|
|
297
|
-
- `## 9. Schema Definitions (Tables/Collections)`
|
|
298
|
-
- `## 10. Indexes & Performance`
|
|
299
|
-
- `## 11. Migration Strategy`
|
|
300
|
-
- `## 12. Data Dictionary`
|
|
301
|
-
|
|
302
|
-
### `foundation/status.md`
|
|
303
|
-
|
|
304
|
-
- `## 7. Current State`
|
|
305
|
-
- `## 8. Execution Map`
|
|
306
|
-
- `## 9. Workstreams`
|
|
307
|
-
|
|
308
|
-
### `foundation/phases.md`
|
|
309
|
-
|
|
310
|
-
- `## 7. Phases Definition`
|
|
311
|
-
- `## 8. Sprint Tracker`
|
|
312
|
-
- `## 9. Active Tasks` (This acts as the unified Backlog)
|
|
313
|
-
|
|
314
|
-
### `docs/eyehateagent-maintenance.md` (if present)
|
|
315
|
-
|
|
316
|
-
- `## 1. Summary`
|
|
317
|
-
- `## 2. Scope`
|
|
318
|
-
- `## 3. Ownership Boundaries`
|
|
319
|
-
- `## 4. Change Classes`
|
|
320
|
-
- `## 5. Compatibility And Breaking Changes`
|
|
321
|
-
- `## 6. Deprecation Policy`
|
|
322
|
-
- `## 7. Maintainer Workflow`
|
|
323
|
-
|
|
324
|
-
### `technical-guidelines/index.md` (if present)
|
|
325
|
-
|
|
326
|
-
- `## 7. When To Add A Guideline`
|
|
327
|
-
- `## 8. Active Guidelines`
|
|
328
|
-
- `## 9. Stable Headings`
|
|
329
|
-
- `## 10. Ownership And Review`
|
|
330
|
-
|
|
331
|
-
If a project uses different headings, keep a clear cross-reference at the top of the file so agents can still find the equivalent sections quickly.
|
|
332
|
-
|
|
333
|
-
---
|
|
334
|
-
|
|
335
|
-
## Naming And Surface Rules
|
|
336
|
-
|
|
337
|
-
- Keep the anchor filenames stable inside `docs/`: `eyehateagent-contract.md` and `eyehateagent-maintenance.md`.
|
|
338
|
-
- Keep the canonical project-doc paths stable inside `docs/project-docs/`: `foundation/prd.md`, `foundation/architecture.md`, `foundation/workflow.md`, `foundation/status.md`, `foundation/phases.md`, `technical/testing.md`.
|
|
339
|
-
- Name reusable assets by job and scope, not by one adopted project's product name or stack.
|
|
340
|
-
- Keep mirrored instruction files aligned by base name and meaning, even when platform-specific extensions or frontmatter fields differ.
|
|
341
|
-
- Use numeric prefixes only when a surface is intentionally ordered as a small canonical sequence.
|
|
342
|
-
- Prefer semantic names such as `project-docs-refresh` or `code-audit` over vague labels that hide the asset's purpose.
|
|
343
|
-
- If a path is reference-only, label it clearly so it cannot be mistaken for active workflow or contract state.
|
|
344
|
-
|
|
345
|
-
---
|
|
346
|
-
|
|
347
|
-
## Machine-Readable Conventions
|
|
348
|
-
|
|
349
|
-
- Keep filenames stable.
|
|
350
|
-
- Use explicit headings instead of burying key rules in prose.
|
|
351
|
-
- Prefer summary tables for commands, stack, or decision matrices.
|
|
352
|
-
- Put the **durable truth** in project docs, not in reusable prompt text or skill text.
|
|
353
|
-
- Treat `docs/project-docs/index.md` and `docs/project-docs/technical-guidelines/index.md` as the authoritative inventories for optional regular docs and guideline types when they exist.
|
|
354
|
-
- When a fact changes, update the owning project doc first, then update any dependent platform instruction surfaces, skills, or reusable prompts that quote or summarize it.
|
|
355
|
-
- Mirror platform instruction metadata where the platform supports the same field set.
|
|
356
|
-
|
|
357
|
-
---
|
|
358
|
-
|
|
359
|
-
## Ownership Rules
|
|
360
|
-
|
|
361
|
-
| Type of information | Owning location |
|
|
362
|
-
| --- | --- |
|
|
363
|
-
| Contract routing, precedence, stable structures, and adoption rules | `docs/eyehateagent-contract.md` |
|
|
364
|
-
| Vision, personas, requirements, flows, and acceptance criteria | `foundation/prd.md` |
|
|
365
|
-
| Stack and architecture decisions | `foundation/architecture.md` |
|
|
366
|
-
| Local dev loop, PR process, team rules | `foundation/workflow.md` |
|
|
367
|
-
| Production environment operation, release, rollback, and smoke checks | `operations/production-runbook.md` if present |
|
|
368
|
-
| Verification commands, environments, and quality gates | `technical/testing.md` |
|
|
369
|
-
| Execution plan and progress | `foundation/status.md` |
|
|
370
|
-
| Agile sprint tracking and backlogs | `foundation/phases.md` |
|
|
371
|
-
| Optional and conditional regular project-doc inventory | `index.md` when present |
|
|
372
|
-
| Template governance, lifecycle, and deprecation | `docs/eyehateagent-maintenance.md` if present |
|
|
373
|
-
| Guideline inventory, guideline scope, and review ownership | `technical-guidelines/index.md` when present |
|
|
374
|
-
| Domain-specific technical rules, implementation conventions, and preferred patterns | `technical-guidelines/*` |
|
|
375
|
-
| Reusable prompt behavior | `docs/vibes/reusable-prompts/` in the adopted repo or in the shared template repo chosen by the topology |
|
|
376
|
-
| Skill procedure behavior | `docs/vibes/skills/` in the adopted repo or in the shared template repo chosen by the topology |
|
|
377
|
-
|
|
378
|
-
Do not duplicate the same rule across multiple files unless one file is explicitly a summary or index of the owning document.
|
|
379
|
-
In Scenario 2, only reusable assets may centralize. Project-specific facts must remain local to the adopted repo.
|
|
380
|
-
|
|
381
|
-
---
|
|
382
|
-
|
|
383
|
-
## How Agents Should Use This Contract
|
|
384
|
-
|
|
385
|
-
### When writing or updating rules
|
|
386
|
-
|
|
387
|
-
- Keep the rule generic.
|
|
388
|
-
- Point the rule at the relevant project docs in `docs/project-docs/`.
|
|
389
|
-
- Preserve the normal-work versus template-maintenance distinction defined in the operating model.
|
|
390
|
-
- If a rule defines a default live-response shape, keep it short and treat it as a baseline rather than a universal override.
|
|
391
|
-
- Avoid embedding concrete stack-specific commands directly unless the repository has intentionally chosen to keep them in the rule.
|
|
392
|
-
|
|
393
|
-
### When writing or updating skills
|
|
394
|
-
|
|
395
|
-
- State the **required project-doc inputs** near the top of the skill.
|
|
396
|
-
- Use a stable top-level section model: `Required Project Inputs`, `When To Use`, `Procedure`, `Output Contract`, `Quality Checks`, `Anti-Patterns`, and `Example Requests`.
|
|
397
|
-
- Keep skill-specific tables, matrices, and checklists inside those sections instead of inventing new top-level structure for each skill.
|
|
398
|
-
- Describe a reusable expert-role procedure that adapts after reading those docs.
|
|
399
|
-
- Make the boundary against neighboring skills explicit when routing confusion is likely.
|
|
400
|
-
- Avoid binding the skill to one stack, one framework, or one package set unless the skill itself is intentionally stack-specific.
|
|
401
|
-
|
|
402
|
-
### When writing or updating reusable prompts
|
|
403
|
-
|
|
404
|
-
- Use this contract to decide which docs to generate or refresh.
|
|
405
|
-
- Treat `docs/project-docs/index.md` and `docs/project-docs/technical-guidelines/index.md` as the inventory source of truth for optional regular docs and guideline types when they exist.
|
|
406
|
-
- When clearly named reference or archive folders such as `docs-legacy/`, `docs-old/`, `archive/`, or `reference/` exist, treat them as secondary migration input only and not as owner docs.
|
|
407
|
-
- When mapping legacy artifacts to active docs, use the document's governed concern and content as the primary signal. Do not assume a legacy name must be preserved just because it does not match template terminology.
|
|
408
|
-
- When those reference folders contain still-valid optional-doc, guideline, or phased-planning material, promote the justified docs into the active owner-doc set and update the relevant registries instead of leaving the material reference-only.
|
|
409
|
-
- Evaluate valuable information from legacy docs or codebase analysis that lacks a standard template heading. Do not discard it; instead, decide whether it should become a new custom section in an existing document or a new separate file, and ask the user if the best approach is ambiguous.
|
|
410
|
-
- Use a stable top-level section model: `Goal`, `Required Behavior`, `Output Contract`, `Final Pass`, and `Inputs`.
|
|
411
|
-
- Use optional top-level sections only when needed, such as `Scope`, `Minimum Outputs`, `Constraints`, or `Ownership Examples`.
|
|
412
|
-
- Keep review sequences, category examples, and file-by-file expectations inside those sections instead of inventing unrelated top-level structure.
|
|
413
|
-
- Keep output structure stable.
|
|
414
|
-
- Update only the affected docs on refresh reusable prompts.
|
|
415
|
-
- Add a consistency pass when changing architecture, testing, or workflow-related docs.
|
|
416
|
-
|
|
417
|
-
---
|
|
418
|
-
|
|
419
|
-
## Extension Rules That Must Survive Adoption
|
|
420
|
-
|
|
421
|
-
These rules belong in the contract because downstream repositories may remove `docs/eyehateagent-maintenance.md`.
|
|
422
|
-
|
|
423
|
-
| If you are adding or changing... | Update first | Usually also update | Core rule |
|
|
424
|
-
| --- | --- | --- | --- |
|
|
425
|
-
| a reusable skill | the owning skill file in `docs/vibes/skills/` for the chosen topology | `docs/eyehateagent-contract.md` if the expected skill structure or inputs changed | keep the skill procedural, expert-role, and start from project docs |
|
|
426
|
-
| a rule or instruction point | the platform instruction surfaces in the owning template | `docs/eyehateagent-contract.md` if routing, precedence, fallback, output-by-mode, or ownership changed; `testing.md` if verification expectations changed; local instruction surfaces if a platform requires repo-local instruction loading | keep the rule generic and point back to project docs |
|
|
427
|
-
| a project-doc owner or reusable optional doc | the owning doc first; if it becomes template-wide, update `docs/eyehateagent-contract.md` first | `docs/vibes/project-docs-template/` if adopters should get a starter version; onboarding or adoption docs if discovery changes | if only one adopted repository needs it, keep it local to that repository instead of promoting it into the template |
|
|
428
|
-
| the contract itself | `docs/eyehateagent-contract.md` | platform instruction surfaces (mirrored rule files), affected skills, reusable prompts, onboarding docs, summaries, and `changelog.md` | contract changes are highest-impact and should be treated as template-level changes |
|
|
429
|
-
|
|
430
|
-
Notes:
|
|
431
|
-
|
|
432
|
-
- Downstream repositories should still be able to follow these rules after `docs/eyehateagent-maintenance.md` is removed.
|
|
433
|
-
- Template-repo-only workflow remains in `docs/eyehateagent-maintenance.md`.
|
|
434
|
-
- In Scenario 2, the shared template repo is the owner of reusable assets, but not of adopted-repository project facts.
|
|
435
|
-
- Registry entries activate known optional doc types and guideline types in a repo; contract updates are needed only when introducing a new doc class, a new stable heading pattern, or a new ownership model.
|
|
436
|
-
|
|
437
|
-
---
|
|
438
|
-
|
|
439
|
-
## Adoption Checklists For Supported Topologies
|
|
440
|
-
|
|
441
|
-
### Scenario 1 — Distributed Self-Contained Repos
|
|
442
|
-
|
|
443
|
-
1. Copy the template into the adopted repository.
|
|
444
|
-
2. Keep `docs/eyehateagent-contract.md`.
|
|
445
|
-
3. Populate `foundation/prd.md`, `foundation/architecture.md`, `foundation/workflow.md`, `foundation/status.md`, and `technical/testing.md` under `docs/project-docs/` first.
|
|
446
|
-
4. If optional or conditional regular docs are active, declare them in `docs/project-docs/index.md`.
|
|
447
|
-
5. If guideline docs are active, declare them in `docs/project-docs/technical-guidelines/index.md`.
|
|
448
|
-
6. Remove `docs/eyehateagent-maintenance.md` from the adopted repository.
|
|
449
|
-
7. Review platform instruction surfaces and skills only for template-level changes, not project-specific facts.
|
|
450
|
-
8. Use reusable prompts to create or refresh docs instead of editing many scattered files by hand.
|
|
451
|
-
|
|
452
|
-
### Scenario 2 — Shared Template Repo With Local Project Docs
|
|
453
|
-
|
|
454
|
-
1. Keep the shared template repo available in the same workspace or other agent-visible context.
|
|
455
|
-
2. Copy `docs/eyehateagent-contract.md` into each adopted repository.
|
|
456
|
-
3. Populate `foundation/prd.md`, `foundation/architecture.md`, `foundation/workflow.md`, `foundation/status.md`, and `technical/testing.md` under each adopted repo's local `docs/project-docs/` path.
|
|
457
|
-
4. If optional or conditional regular docs are active, declare them in each adopted repo's local `docs/project-docs/index.md`.
|
|
458
|
-
5. If guideline docs are active, declare them in each adopted repo's local `docs/project-docs/technical-guidelines/index.md`.
|
|
459
|
-
6. Keep reusable prompts, reusable skills, and starter assets in the shared template repo unless a local copy is intentionally needed.
|
|
460
|
-
7. Keep local instruction mirrors only when an agent platform requires repo-local instruction loading.
|
|
461
|
-
8. Remove `docs/eyehateagent-maintenance.md` from adopted repositories.
|
|
462
|
-
9. Do not move adopted-repository project facts into the shared template repo.
|
|
463
|
-
10. Run reusable prompts against the adopted repo's local owner docs, not against centralized portfolio summaries.
|
|
464
|
-
|
|
465
|
-
---
|
|
466
|
-
|
|
467
|
-
## Change Policy
|
|
468
|
-
|
|
469
|
-
If this contract changes:
|
|
470
|
-
|
|
471
|
-
1. Update this file first.
|
|
472
|
-
2. Update the platform instruction surfaces that reference it.
|
|
473
|
-
3. If one platform instruction surface changes, update the other surfaces in the same change unless divergence is intentional and documented.
|
|
474
|
-
4. Update any skill or reusable prompt that depends on the old contract.
|
|
475
|
-
5. Run a consistency review so the template does not drift.
|