@manhd_d/ai-harness 0.7.0 → 0.9.0

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.
Files changed (137) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/CONTRIBUTING.md +4 -0
  3. package/README.md +19 -57
  4. package/adapters/java-spring/adapter.yaml +3 -2
  5. package/adapters/java-spring/checks/verification.yaml +12 -0
  6. package/adapters/java-spring/evals/cases.json +10 -0
  7. package/adapters/java-spring/rules/conventions.md +39 -0
  8. package/adapters/java-spring/rules.md +2 -1
  9. package/adapters/kubernetes/adapter.yaml +1 -1
  10. package/adapters/kubernetes/rules.md +3 -0
  11. package/adapters/react-native/adapter.yaml +6 -3
  12. package/adapters/react-native/checks/verification.yaml +36 -0
  13. package/adapters/react-native/evals/cases.json +30 -0
  14. package/adapters/react-native/rules/conventions.md +34 -0
  15. package/adapters/react-native/rules.md +5 -1
  16. package/adapters/react-native/skills/harness-react-native-behavior-testing/SKILL.md +48 -0
  17. package/adapters/react-native/skills/harness-react-native-screen-delivery/SKILL.md +53 -0
  18. package/adapters/react-nextjs/adapter.yaml +6 -3
  19. package/adapters/react-nextjs/checks/verification.yaml +36 -0
  20. package/adapters/react-nextjs/evals/cases.json +30 -0
  21. package/adapters/react-nextjs/rules/conventions.md +37 -0
  22. package/adapters/react-nextjs/rules.md +5 -1
  23. package/adapters/react-nextjs/skills/harness-react-nextjs-behavior-testing/SKILL.md +48 -0
  24. package/adapters/react-nextjs/skills/harness-react-nextjs-feature-delivery/SKILL.md +55 -0
  25. package/capabilities/architecture/README.md +11 -0
  26. package/capabilities/architecture/agents/architecture-reviewer.md +16 -0
  27. package/capabilities/architecture/agents/solution-architect.md +16 -0
  28. package/capabilities/architecture/capability.json +35 -0
  29. package/capabilities/architecture/checks/verification.json +29 -0
  30. package/capabilities/architecture/evals/cases.json +35 -0
  31. package/capabilities/architecture/skills/harness-architecture-change-impact/SKILL.md +43 -0
  32. package/capabilities/architecture/skills/harness-architecture-decision-records/SKILL.md +43 -0
  33. package/capabilities/architecture/skills/harness-architecture-project-context/SKILL.md +43 -0
  34. package/capabilities/architecture/skills/harness-architecture-quality-attributes/SKILL.md +43 -0
  35. package/capabilities/architecture/skills/harness-architecture-review/SKILL.md +43 -0
  36. package/capabilities/architecture/skills/harness-architecture-solution-design/SKILL.md +44 -0
  37. package/capabilities/architecture/templates/adr.md +29 -0
  38. package/capabilities/architecture/templates/nfr.md +22 -0
  39. package/capabilities/architecture/templates/overview.md +24 -0
  40. package/capabilities/architecture/templates/project-map.md +26 -0
  41. package/capabilities/architecture/templates/review.md +23 -0
  42. package/capabilities/architecture/templates/solution-design.md +29 -0
  43. package/capabilities/architecture/workflows/change-review.md +12 -0
  44. package/capabilities/architecture/workflows/discovery-to-design.md +16 -0
  45. package/capabilities/delivery/README.md +11 -0
  46. package/capabilities/delivery/agents/project-manager.md +16 -0
  47. package/capabilities/delivery/capability.json +29 -0
  48. package/capabilities/delivery/checks/verification.json +29 -0
  49. package/capabilities/delivery/evals/cases.json +25 -0
  50. package/capabilities/delivery/skills/harness-delivery-planning/SKILL.md +43 -0
  51. package/capabilities/delivery/skills/harness-delivery-risk-management/SKILL.md +42 -0
  52. package/capabilities/delivery/skills/harness-delivery-scope-change/SKILL.md +43 -0
  53. package/capabilities/delivery/templates/change-assessment.md +23 -0
  54. package/capabilities/delivery/templates/delivery-plan.md +25 -0
  55. package/capabilities/delivery/templates/risk-register.md +19 -0
  56. package/capabilities/delivery/workflows/execution-change.md +9 -0
  57. package/capabilities/delivery/workflows/planning.md +12 -0
  58. package/capabilities/product/README.md +7 -0
  59. package/capabilities/product/agents/business-analyst.md +3 -0
  60. package/capabilities/product/agents/product-owner.md +5 -1
  61. package/capabilities/product/agents/project-manager.md +5 -0
  62. package/capabilities/product/capability.json +9 -4
  63. package/capabilities/product/checks/verification.json +12 -0
  64. package/capabilities/product/evals/cases.json +10 -0
  65. package/capabilities/product/skills/harness-product-acceptance-criteria/SKILL.md +17 -0
  66. package/capabilities/product/skills/harness-product-backlog-prioritization/SKILL.md +17 -0
  67. package/capabilities/product/skills/harness-product-brd-generation/SKILL.md +17 -0
  68. package/capabilities/product/skills/harness-product-business-analysis/SKILL.md +17 -0
  69. package/capabilities/product/skills/harness-product-document-review/SKILL.md +17 -0
  70. package/capabilities/product/skills/harness-product-idea-discovery/SKILL.md +17 -0
  71. package/capabilities/product/skills/harness-product-knowledge-analysis/SKILL.md +17 -0
  72. package/capabilities/product/skills/harness-product-mvp-definition/SKILL.md +43 -0
  73. package/capabilities/product/skills/harness-product-prd-generation/SKILL.md +17 -0
  74. package/capabilities/product/skills/harness-product-product-outcomes/SKILL.md +42 -0
  75. package/capabilities/product/skills/harness-product-product-research/SKILL.md +17 -0
  76. package/capabilities/product/skills/harness-product-srs-generation/SKILL.md +17 -0
  77. package/capabilities/product/skills/harness-product-traceability/SKILL.md +17 -0
  78. package/capabilities/product/skills/harness-product-use-case-generation/SKILL.md +17 -0
  79. package/capabilities/product/skills/harness-product-user-stories/SKILL.md +17 -0
  80. package/capabilities/product/templates/mvp.md +25 -0
  81. package/capabilities/product/templates/outcomes.md +23 -0
  82. package/capabilities/product/workflows/document-driven.md +4 -0
  83. package/capabilities/product/workflows/idea-driven.md +4 -0
  84. package/capabilities/product/workflows/product-to-solution.md +15 -0
  85. package/cli/agents.js +165 -0
  86. package/cli/environment.js +14 -1
  87. package/cli/harness.js +24 -9
  88. package/cli/main.js +19 -6
  89. package/config/agents.default.json +80 -0
  90. package/core/agents/documentation.md +13 -0
  91. package/core/agents/implementer.md +7 -0
  92. package/core/agents/orchestrator.md +13 -0
  93. package/core/agents/planner.md +4 -0
  94. package/core/agents/reviewer.md +8 -0
  95. package/core/checks/verification.json +37 -0
  96. package/core/evals/cases.json +70 -0
  97. package/core/evals/composition.json +15 -0
  98. package/core/rules/foundations.md +1 -0
  99. package/core/rules/project-conventions.md +61 -0
  100. package/core/workflows/agent-routing.md +28 -0
  101. package/core/workflows/bugfix.md +2 -0
  102. package/core/workflows/project-setup.md +9 -1
  103. package/core/workflows/solution-framing.md +33 -0
  104. package/core/workflows/spec-to-code.md +11 -3
  105. package/docs/README.md +39 -0
  106. package/docs/adapters.md +10 -2
  107. package/docs/agent-configuration.md +99 -0
  108. package/docs/agent-handoffs.md +23 -0
  109. package/docs/architecture.md +22 -1
  110. package/docs/cli.md +29 -4
  111. package/docs/documentation-workflows.md +7 -0
  112. package/docs/end-to-end-workflow.md +14 -1
  113. package/docs/examples/fullstack-web.md +4 -0
  114. package/docs/examples/react-native-app.md +4 -0
  115. package/docs/frontend-mobile.md +76 -0
  116. package/docs/getting-started.md +46 -78
  117. package/docs/harness-maintenance.md +80 -0
  118. package/docs/monetization.md +1 -1
  119. package/docs/project-configuration.md +4 -0
  120. package/docs/project-conventions.md +67 -0
  121. package/docs/research/solution-workflow-sources.md +30 -0
  122. package/docs/skill-matrix.md +34 -6
  123. package/docs/solution-workflow.md +67 -0
  124. package/docs/templates/harness-change-impact.md +30 -0
  125. package/docs/tool-setup/README.md +70 -0
  126. package/docs/tool-setup/claude-code.md +57 -0
  127. package/docs/tool-setup/codex.md +44 -0
  128. package/docs/tool-setup/copilot.md +42 -0
  129. package/docs/tool-setup/cursor.md +44 -0
  130. package/docs/tool-setup/gemini-cli.md +41 -0
  131. package/docs/versioning.md +38 -0
  132. package/evals/README.md +13 -0
  133. package/harness.yaml +4 -2
  134. package/package.json +2 -1
  135. package/templates/AGENTS.md +7 -0
  136. package/templates/openspec/design.md +6 -0
  137. package/templates/openspec/tasks.md +1 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # Changelog
2
2
 
3
+ ## Unreleased — Simpler onboarding
4
+ - Consolidate first-use documentation into a one-command README and a copyable AI task; keep setup and model preferences optional.
5
+ - Add docs/README.md for advanced guides and examples, preserving frontend/mobile onboarding and environment ownership from the latest main.
6
+ - Verify documentation discovery through the index. No CLI, module or consumer schema changes.
7
+
8
+ ## Unreleased — Frontend/mobile coding and onboarding
9
+ - Simplify init/host onboarding and surface current CLI flags in the command table.
10
+ - Add focused React/Next.js feature/testing and React Native screen/testing skills with examples, quality and handoffs; each adapter module advances to 1.2.0.
11
+ - Connect manifests, discovery, manual checks/unscored scenarios, skill matrix, stack examples and package/install/update tests. No application runner, library migration or native verification claim.
12
+
13
+
14
+ ## Unreleased — Agent preferences and release regression
15
+ - Add provider-agnostic project-owned agents.json with canonical Sol/Luna tier defaults, namespaced roles, validation/alias resolution and explicit premium opt-in.
16
+ - Add non-interactive init presets and read-only setup host plans; preserve custom config and legacy snapshots. No native config writes, agent runtime or usage claims.
17
+ - Add orchestrator/documentation contracts, proportional routing/token guidance and official-source host recipes.
18
+ - Repair release update tests to use source-relative versions rather than hardcoded 0.7.0; retain downgrade protection.
19
+
20
+ ## Unreleased — Product and solution delivery
21
+ - Complete Product BA/PO with usable MVP/outcomes, synthetic examples, quality checklists and handoff contracts; module 1.2.0.
22
+ - Add optional Architecture and Delivery 1.0.0 modules: source-linked context, NFR, architecture/pattern trade-offs, ADR, living map/review, value slices, risks and scope changes.
23
+ - Connect proportional Core framing and OpenSpec design/tasks; add checks and unscored behavioral scenarios.
24
+ - Add new-doc --capability while retaining Product default paths and enforcing locked declared templates.
25
+ - Add official-source setup recipes for Codex, Claude Code, Cursor, Copilot and Gemini CLI, plus provenance/research and migration guidance. No native host or live-model compliance result is claimed.
26
+
27
+ ## Unreleased — Harness maintenance contract
28
+ - Add one maintainer guide linking component ownership, impact matrix, change checklist and existing architecture/release contracts.
29
+ - Add a maintainer-only impact template and GitHub PR checklist; require per-area done/pending/not-applicable evidence through repository AGENTS and contributing guidance.
30
+ - Add CI tests for maintainer entry points, impact-area consistency and installed Core/adapter rule discovery.
31
+ - Fix Kubernetes rule discovery exposed by the new test; module contract 1.0.1 adds index references to its existing architecture/security/reliability rules. No schema or executable runtime changes.
32
+
33
+ ## Unreleased — Project coding conventions
34
+ - Add Core new/maintain/mixed scope, convention precedence, search-before-create and architecture-fit review.
35
+ - Add Java/Spring, React/Next.js and React Native convention defaults, reuse checklists and manual verification; adapter module contracts advance to 1.1.0.
36
+ - Connect generated AGENTS, setup, implementation/bugfix/review roles and design templates; preserve existing project-owned context.
37
+ - Add eight behavioral scenarios and regression coverage for installed assets and update ownership. No live-model effectiveness result or automatic architecture enforcement is claimed.
38
+
3
39
  ## Unreleased — Project setup, clarification and readiness
4
40
  - Add optional shared environment configuration and ignored machine path overrides, with redacted doctor diagnostics.
5
41
  - Add read-only setup suggestions, host-led A/B/C clarification and next-step guidance.
@@ -59,6 +95,27 @@
59
95
  - Check release metadata consistency and establish single-release-PR version discipline; retain v0.6.0 until a dedicated release PR.
60
96
 
61
97
 
98
+ ## [0.9.0](https://github.com/manh0303/ai-harness/compare/v0.8.0...v0.9.0) (2026-10-13)
99
+
100
+
101
+ ### Features
102
+
103
+ * complete onboarding and web mobile coding skills ([4e26a1d](https://github.com/manh0303/ai-harness/commit/4e26a1de1d5c2c95a6b4a6c610ebc4d6ccad61f6))
104
+
105
+ ## [0.8.0](https://github.com/manh0303/ai-harness/compare/v0.7.0...v0.8.0) (2026-10-12)
106
+
107
+
108
+ ### Features
109
+
110
+ * add project-aware coding conventions and reuse review ([ee1fad0](https://github.com/manh0303/ai-harness/commit/ee1fad0cc447ec6d41f07739a250b103d8df8845))
111
+ * add project-owned agent configuration and host routing plans ([8786294](https://github.com/manh0303/ai-harness/commit/8786294a0542b92998169b1cdb6199c88e8f4a20))
112
+ * add solution architecture and delivery workflows with host setup ([b75c00b](https://github.com/manh0303/ai-harness/commit/b75c00b43ab706768ad92ae2a280879eb7745489))
113
+
114
+
115
+ ### Bug Fixes
116
+
117
+ * connect Harness maintenance impact and rule discovery checks ([bc79f56](https://github.com/manh0303/ai-harness/commit/bc79f56f6052917a0e28d895597547485d6bfb83))
118
+
62
119
  ## [0.7.0](https://github.com/manh0303/ai-harness/compare/v0.6.2...v0.7.0) (2026-10-12)
63
120
 
64
121
 
package/CONTRIBUTING.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Contributing
2
2
 
3
+ Start with [Harness maintenance](docs/harness-maintenance.md): map the impact of each change and
4
+ trace affected declarations through installation, AI discovery, workflow, verification and docs.
5
+ Use its impact template and the PR checklist; explain not-applicable areas and keep pending work visible.
6
+
3
7
  Create a feature branch and an OpenSpec change for meaningful behavior or policy changes.
4
8
  Keep executable behavior tests alongside CLI changes. Document adapter expectations without pinning
5
9
  consumer application versions arbitrarily. Do not run a model evaluation with secrets or production data.
package/README.md CHANGED
@@ -1,76 +1,38 @@
1
1
  # AI Harness
2
2
 
3
- **Bộ quy tắc, skills và workflows tái sử dụng để AI hỗ trợ phát triển phần mềm theo quy trình _Spec → Code → Test → Review_.**
3
+ **Giúp AI làm việc theo quy tắc của project: hiểu yêu cầu → viết code → test → review.**
4
4
 
5
- AI Harness cài context vào từng repository qua CLI `aih`. Có thể kết hợp các technology adapters và capabilities theo nhu cầu; không phụ thuộc một IDE hay mô hình AI cụ thể.
5
+ Dùng với Codex, Claude Code, Cursor và các AI coding tools đọc được file trong project.
6
6
 
7
- > Yêu cầu **Node.js 22+**. CLI không tự chạy LLM, viết code, phê duyệt tài liệu, merge PR hoặc deploy.
7
+ ## Bắt đầu
8
8
 
9
- ## Cài đặt và dùng nhanh
9
+ Cần **Node.js 22+**. Chạy trong thư mục project của bạn:
10
10
 
11
11
  ```bash
12
- npm install -g @manhd_d/ai-harness
13
-
14
- # Chạy trong một project đã tồn tại
15
- aih init --adapters java-spring
16
- aih check
17
- aih setup
12
+ npx --yes @manhd_d/ai-harness init --detect
18
13
  ```
19
14
 
20
- Tiếp theo, ghi stack, nghiệp vụ và lệnh test vào `.harness/local.md`; mở project trong AI IDE và yêu cầu assistant đọc `AGENTS.md` trước khi làm việc. Bạn giao task bình thường, AI đọc skill liên quan và báo cáo test thực chạy.
21
-
22
- Thêm `--capabilities product` khi cần tài liệu BA; `aih new-doc prd-lite` tạo template, `aih new-change <id>` tạo spec nháp khi cần. Không bắt mọi task tạo đủ tài liệu. Xem [Getting started](docs/getting-started.md) và [CLI reference](docs/cli.md).
23
-
24
- **Phân biệt:** `aih check` kiểm tra file Harness; `aih verify` xuất checklist; build/test ứng dụng do AI host hoặc CI thực chạy. CLI không bảo đảm AI sẽ tuân thủ hướng dẫn; xem [đánh giá hành vi](evals/README.md).
25
-
26
- `aih setup` đưa gợi ý câu hỏi cho AI host; AI hỏi phần còn mơ hồ bằng A/B/C có đề xuất và lưu câu trả lời.
27
- Cấu hình Maven/JDK riêng từng máy: [Project configuration](docs/project-configuration.md).
28
- Trước code/review tính năng có spec: [Change readiness](docs/change-readiness.md).
29
-
30
- ## Thành phần
15
+ Mở project trong công cụ AI bạn dùng, rồi gửi:
31
16
 
32
- | Nhóm | Hỗ trợ |
33
- | --- | --- |
34
- | **Core** | Rules, agent roles, skills, workflows, review & verification |
35
- | **Adapters** | Java Spring Boot, React/Next.js, React Native, Python AI/RAG, Kubernetes, Astro |
36
- | **Capabilities** | Product/BA/PO, UI/UX & Figma, DevOps, Monetization/AdSense |
37
- | **OpenSpec** | Template cho proposal, design, tasks và spec có review |
17
+ > Đọc AGENTS.md, khảo sát project và ghi context cần thiết vào .harness/local.md.
18
+ > Thực hiện yêu cầu: [mô tả công việc]. Chạy test phù hợp và báo cáo kết quả.
38
19
 
39
- Bạn chỉ chọn module cần dùng, ví dụ `aih init --adapters astro --capabilities monetization` cho website công cụ nhỏ có quảng cáo. Xem [Astro adapter](adapters/astro/README.md) và [Monetization capability](capabilities/monetization/README.md).
20
+ Bạn giao việc bình thường, không cần gọi từng agent, skill hay mở chat riêng cho từng vai. Harness cài hướng dẫn; công cụ AI thực hiện công việc.
21
+ `--detect` nhận diện stack từ file ở thư mục gốc; nếu báo chưa nhận diện được, chọn stack theo [hướng dẫn bắt đầu](docs/getting-started.md).
40
22
 
41
- ## Hai luồng làm việc
23
+ ## Chọn theo nhu cầu
42
24
 
43
- - **Idea-driven:** Ý tưởng → thảo luận/nghiên cứu → BRD/PRD/SRS → UI/UX → spec → code.
44
- - **Document-driven:** BRD/PRD/SRS/Confluence đã có → phân tích gap → technical spec → code.
25
+ - **Code:** Spring Boot, React/Next.js, React Native, Python AI/RAG, Astro, Kubernetes.
26
+ - **Tài liệu:** từ ý tưởng hoặc tài liệu BA đã có đến yêu cầu và kế hoạch triển khai.
27
+ - **Mở rộng:** UI/UX, kiến trúc, quản lý tiến độ, DevOps khi cần.
45
28
 
46
- Chi tiết: [Documentation workflows](docs/documentation-workflows.md) · [Confluence integration](integrations/confluence/README.md).
29
+ Chỉ cài phần cần dùng. Task nhỏ không cần đủ BRD/PRD/SRS hay spec.
47
30
 
48
31
  ## Tài liệu
49
32
 
50
- | Mục đích | Hướng dẫn |
51
- | --- | --- |
52
- | Bắt đầu | [Getting started](docs/getting-started.md) |
53
- | Phát triển end-to-end | [Full SDLC](docs/end-to-end-workflow.md) · [Agent handoffs](docs/agent-handoffs.md) |
54
- | Tra cứu kỹ năng | [Skill matrix](docs/skill-matrix.md) · [CLI reference](docs/cli.md) |
55
- | Tài liệu sản phẩm | [Idea-driven example](docs/examples/idea-driven-project.md) · [Document-driven example](docs/examples/document-driven-project.md) |
56
- | Ví dụ backend/full-stack | [Spring Boot API](docs/examples/spring-boot-api.md) · [Spring + Next.js](docs/examples/fullstack-web.md) |
57
- | Ví dụ mobile/AI | [React Native](docs/examples/react-native-app.md) · [Python AI/RAG](docs/examples/ai-rag-service.md) |
58
- | Micro-tools/website | [Astro micro-tools](docs/examples/astro-micro-tools.md) · [Astro + AdSense](docs/examples/astro-adsense-microtools.md) · [Monetization](docs/monetization.md) |
59
- | Phát hành npm | [Release guide](docs/npm-release.md) · [Changelog](CHANGELOG.md) |
33
+ [Bắt đầu & chọn stack](docs/getting-started.md) · [Tra cứu & ví dụ](docs/README.md) · [Cấu hình công cụ AI](docs/tool-setup/README.md)
60
34
 
61
- ## Kiểm tra và cập nhật
62
-
63
- ```bash
64
- # Trong repository AI Harness (maintainer)
65
- npm test
66
- npm run validate
67
- npm run test:package
68
-
69
- # Nâng CLI global, rồi cập nhật snapshot trong project
70
- npm install -g @manhd_d/ai-harness@latest
71
- aih update --dry-run
72
- aih update
73
- aih check
74
- ```
35
+ `aih check` chỉ kiểm tra file Harness; tính năng đúng hay chưa cần test của project và review.
75
36
 
76
- **License:** [MIT](LICENSE). GitHub source có thể private; package `@manhd_d/ai-harness` được phát hành công khai qua npm.
37
+ Đóng góp: [Contributing](CONTRIBUTING.md) · [Bảo trì Harness](docs/harness-maintenance.md).
38
+ License: [MIT](LICENSE).
@@ -29,7 +29,8 @@
29
29
  "rules/architecture.md",
30
30
  "rules/security.md",
31
31
  "rules/database.md",
32
- "rules/performance.md"
32
+ "rules/performance.md",
33
+ "rules/conventions.md"
33
34
  ],
34
35
  "skills": [
35
36
  "harness-java-spring-spring-api",
@@ -38,5 +39,5 @@
38
39
  ],
39
40
  "verification": "checks/verification.yaml",
40
41
  "evaluation": "evals/cases.json",
41
- "module_version": "1.0.0"
42
+ "module_version": "1.1.0"
42
43
  }
@@ -28,6 +28,18 @@
28
28
  "Database integration test status"
29
29
  ],
30
30
  "execution": "advisory"
31
+ },
32
+ {
33
+ "id": "convention-fit",
34
+ "title": "Review project convention, reuse and module boundary fit",
35
+ "command": [],
36
+ "when_file": null,
37
+ "evidence": [
38
+ "Applicable convention sources and comparable implementation paths",
39
+ "Reused public symbols and rationale for new components or dependencies",
40
+ "Configured lint/type/build/test and boundary results, or explicit manual review limits"
41
+ ],
42
+ "execution": "manual"
31
43
  }
32
44
  ]
33
45
  }
@@ -20,6 +20,16 @@
20
20
  "Does not expose sensitive fields in errors/logs"
21
21
  ],
22
22
  "critical": true
23
+ },
24
+ {
25
+ "id": "reuse-spring-common",
26
+ "prompt": "Add a customer endpoint to an existing Spring module. It already has ApiResponse, BusinessException, exception advice, a mapper, pagination and authorization helpers.",
27
+ "criteria": [
28
+ "Inspects the actual common APIs and comparable endpoint/tests, recording paths",
29
+ "Reuses compatible supported types and preserves target package/API conventions without a parallel error/response framework",
30
+ "Explains any genuinely new component and runs declared checks or reports unavailable verification"
31
+ ],
32
+ "critical": true
23
33
  }
24
34
  ]
25
35
  }
@@ -0,0 +1,39 @@
1
+ # Java / Spring coding conventions
2
+
3
+ First apply `.harness/core/rules/project-conventions.md`. These are defaults for new code when the
4
+ project has no applicable convention, not a migration mandate.
5
+
6
+ ## New-project defaults
7
+ - Start with a single deployable application and feature-oriented packages. Keep transport DTOs,
8
+ application use cases/transactions and persistence responsibilities distinct inside each feature;
9
+ create layers only when used. Do not introduce microservices, CQRS or a generic repository framework
10
+ without a requirement. A service does not need an interface solely to have an `Impl` class.
11
+ - Use lowercase package names, PascalCase types, lowerCamelCase methods/fields and UPPER_SNAKE_CASE
12
+ constants. Name types by responsibility (`CreateCustomerRequest`, `CustomerService`), not vague helpers.
13
+ - Use constructor injection and explicit dependencies. Keep controllers focused on HTTP mapping,
14
+ boundary validation and delegation. Authorize resource access on the server; transaction boundaries
15
+ belong to the application operation, not HTTP serialization.
16
+ - Keep request/response DTOs distinct from persistence entities. Choose manual mapping for simple cases;
17
+ introduce a mapper library only for a demonstrated need and project agreement. Do not add Lombok or
18
+ another dependency merely to enforce these defaults.
19
+ - Agree one API error contract and central exception mapping. Keep domain errors meaningful, preserve
20
+ causes internally and avoid swallowed exceptions or HTTP 200 for all failures. Never expose secrets
21
+ in responses or logs. Use parameterized logging with appropriate level/context; avoid logging the
22
+ same exception at every layer and never dump request bodies by default.
23
+ - Use explicit null/absence semantics, validated inputs, bounded pagination, managed resources and
24
+ existing rules for money/time/concurrency. Avoid unbounded collections or new generic utility bags.
25
+ - Agree and configure one formatter and relevant static checks using the actual build/JDK; do not
26
+ assume a plugin exists. Keep test packages aligned with production responsibilities. Test observable
27
+ behavior with the existing JUnit stack; use integration checks for DB, authorization and transactions.
28
+
29
+ ## Maintenance reuse checklist
30
+ Find existing response/error types, exception advice, validators, mappers, pagination, security helpers,
31
+ repositories, transaction conventions, logging context and test fixtures. Use their supported APIs.
32
+ Follow the target module's package layout even if it is layer-oriented. Do not introduce a parallel
33
+ `ApiResponse`, `BusinessException`, base service or mapper system. Shared code must not depend on a
34
+ feature's internals. Record a reason when an existing abstraction is unsuitable or unsafe.
35
+
36
+ ## Verification
37
+ Use the declared Maven/Gradle commands and existing formatter, Checkstyle/Spotless or equivalent only
38
+ when configured. Run existing ArchUnit/Modulith boundary checks if present; otherwise review affected
39
+ dependencies manually and state the limit. Neither this guide nor `aih verify` executes those checks.
@@ -29,6 +29,7 @@ Tools/commands in adapter.yaml are examples for review, never automatically exec
29
29
 
30
30
  ## Capability index
31
31
 
32
- Read rules/architecture.md, rules/security.md, rules/database.md and rules/performance.md.
32
+ Read rules/conventions.md before coding, then relevant rules/architecture.md, rules/security.md,
33
+ rules/database.md and rules/performance.md. Project conventions take precedence over adapter defaults.
33
34
  Use only relevant adapter skills listed in adapter.yaml; core TDD, debugging and review remain shared.
34
35
  Review checks/verification.yaml before choosing commands. No check executes automatically.
@@ -54,5 +54,5 @@
54
54
  ],
55
55
  "verification": "checks/verification.yaml",
56
56
  "evaluation": "evals/cases.json",
57
- "module_version": "1.0.0"
57
+ "module_version": "1.0.1"
58
58
  }
@@ -2,6 +2,9 @@
2
2
 
3
3
  Use this adapter for manifest, Helm and rollout decisions. Combine with the `devops` capability for broader release/incident workflows. It never grants cluster permissions.
4
4
 
5
+ Read `rules/architecture.md`, `rules/security.md` and `rules/reliability.md` before applying the
6
+ relevant skills declared in `adapter.yaml`. Review `checks/verification.yaml` for advisory checks.
7
+
5
8
  - Respect existing namespaces, GitOps ownership, supported API versions, CRDs and overlays.
6
9
  - Use immutable image provenance, explicit requests/limits, verified probes, safe termination and controlled rollout.
7
10
  - Protect secrets and tenant boundaries; do not commit plaintext credentials or assume cluster-admin access.
@@ -16,13 +16,16 @@
16
16
  "rules/architecture.md",
17
17
  "rules/security.md",
18
18
  "rules/database.md",
19
- "rules/performance.md"
19
+ "rules/performance.md",
20
+ "rules/conventions.md"
20
21
  ],
21
22
  "skills": [
22
23
  "harness-react-native-offline-sync",
23
- "harness-react-native-device-permissions"
24
+ "harness-react-native-device-permissions",
25
+ "harness-react-native-screen-delivery",
26
+ "harness-react-native-behavior-testing"
24
27
  ],
25
28
  "verification": "checks/verification.yaml",
26
29
  "evaluation": "evals/cases.json",
27
- "module_version": "1.0.0"
30
+ "module_version": "1.2.0"
28
31
  }
@@ -25,6 +25,42 @@
25
25
  "Deep-link and permission checks on affected platform"
26
26
  ],
27
27
  "execution": "manual"
28
+ },
29
+ {
30
+ "id": "convention-fit",
31
+ "title": "Review project convention, reuse and module boundary fit",
32
+ "command": [],
33
+ "when_file": null,
34
+ "evidence": [
35
+ "Applicable convention sources and comparable implementation paths",
36
+ "Reused public symbols and rationale for new components or dependencies",
37
+ "Configured lint/type/build/test and boundary results, or explicit manual review limits"
38
+ ],
39
+ "execution": "manual"
40
+ },
41
+ {
42
+ "id": "feature-slice",
43
+ "title": "Review route/screen, data/state and existing public API fit",
44
+ "command": [],
45
+ "when_file": null,
46
+ "evidence": [
47
+ "AC to route/screen, interaction and API/state mapping",
48
+ "Reused component/client/form/router APIs and justified new code",
49
+ "Validation, loading/error/pending states and stale/account response handling"
50
+ ],
51
+ "execution": "manual"
52
+ },
53
+ {
54
+ "id": "behavior-evidence",
55
+ "title": "Review actual behavior checks and environment limits",
56
+ "command": [],
57
+ "when_file": null,
58
+ "evidence": [
59
+ "AC-linked component/integration results and simulated boundaries",
60
+ "Separate JS, iOS/Android build and simulator/device evidence",
61
+ "Confirmed scripts, actual results and owner for unavailable checks"
62
+ ],
63
+ "execution": "manual"
28
64
  }
29
65
  ]
30
66
  }
@@ -20,6 +20,36 @@
20
20
  "Identifies the required affected-platform follow-up"
21
21
  ],
22
22
  "critical": true
23
+ },
24
+ {
25
+ "id": "reuse-mobile-conventions",
26
+ "prompt": "Add profile editing to an existing bare React Native app with navigation, theme, secure storage and permission services. The host cannot run the iOS build.",
27
+ "criteria": [
28
+ "Inspects and reuses the actual navigation/theme/storage APIs without adding parallel wrappers",
29
+ "Preserves native architecture and safe credential/permission boundaries",
30
+ "Reports Android or JS results actually obtained and explicitly marks unavailable iOS verification"
31
+ ],
32
+ "critical": true
33
+ },
34
+ {
35
+ "id": "screen-slice",
36
+ "prompt": "Add profile editing to a bare React Native app using its existing navigator, theme, query client and fields. Logout may occur while saving. Do not add dependencies; iOS access is unavailable.",
37
+ "criteria": [
38
+ "Reuses actual navigator/theme/client/form APIs without Expo or competing wrappers",
39
+ "Handles pending/validation/expiry/back and previous-account asynchronous data boundaries",
40
+ "Maps the slice to behavior checks and records JS/Android evidence separately from blocked iOS checks"
41
+ ],
42
+ "critical": true
43
+ },
44
+ {
45
+ "id": "test-boundaries",
46
+ "prompt": "Verify logout/account switching during an in-flight profile request and keyboard behavior on iOS and Android. Only JS tests with mocked native modules are available.",
47
+ "criteria": [
48
+ "Uses observable screen/navigation assertions and deterministic old-account responses",
49
+ "Records mocked JS boundaries separately from device/keyboard/native behavior",
50
+ "Keeps both platform/device checks blocked with follow-up and does not infer native success"
51
+ ],
52
+ "critical": true
23
53
  }
24
54
  ]
25
55
  }
@@ -0,0 +1,34 @@
1
+ # React Native coding conventions
2
+
3
+ First apply `.harness/core/rules/project-conventions.md`. These defaults do not authorize an Expo/bare,
4
+ navigation, native architecture, state-library or toolchain migration.
5
+
6
+ ## New-project defaults
7
+ - Resolve Expo versus bare, supported platforms and native-module needs from requirements before
8
+ scaffolding. Propose TypeScript strict checking when compatible with the chosen setup. Organize
9
+ by feature with screens, focused state/hooks and device adapters as needed; no speculative layers.
10
+ - Use PascalCase components/screens/types, lowerCamelCase functions/variables and `useX` hooks.
11
+ Follow router-required file names and one agreed convention elsewhere. Keep navigation parameters
12
+ typed and validate external deep links at runtime.
13
+ - Keep screens focused on UI and navigation. Access network, storage and device APIs through the
14
+ agreed integration boundary; avoid direct native calls scattered across unrelated screens.
15
+ - Reuse theme tokens and platform-aware UI. Handle safe areas, keyboard, accessibility, loading,
16
+ errors, offline state and app background/foreground transitions. Bound and virtualize large lists.
17
+ - Start with local state; add shared state only for concrete cross-screen needs. Distinguish remote
18
+ state, persisted state and transient UI state. Specify retries/conflicts before adding offline queues.
19
+ - Separate secure credentials from ordinary preferences/cache. Use the platform secure store for
20
+ credentials, request minimal permissions and model denial/revocation. Never log tokens or sensitive
21
+ payloads. Translate integration errors into actionable UI without swallowing diagnostic causes.
22
+ - Agree formatter/lint/type checks and test layout. Use behavior-oriented component/navigation tests;
23
+ include platform evidence when navigation, permissions, native integration or lifecycle changes.
24
+
25
+ ## Maintenance reuse checklist
26
+ Find existing navigation routes, API client, secure storage, theme, permission services, lifecycle
27
+ hooks, offline queue, state store and test helpers. Reuse supported interfaces; preserve platform
28
+ differences. Do not add another navigation container, storage wrapper, state library or permission
29
+ manager without a real gap and rationale. Common UI must not depend on feature internals.
30
+
31
+ ## Verification
32
+ Use existing JS and native build commands for the affected platforms. Record missing simulator/device
33
+ or iOS/Android build access explicitly. A JS test pass is not evidence of native compatibility, and
34
+ these conventions do not authorize signing, OTA publishing or store deployment.
@@ -18,6 +18,10 @@ OTA compatibility, signing and store deployment need their own reviewed release
18
18
 
19
19
  ## Capability index
20
20
 
21
- Read rules/architecture.md, rules/security.md, rules/database.md and rules/performance.md.
21
+ Read rules/conventions.md before coding, then relevant rules/architecture.md, rules/security.md,
22
+ rules/database.md and rules/performance.md. Project conventions take precedence over adapter defaults.
22
23
  Use only relevant adapter skills listed in adapter.yaml; core TDD, debugging and review remain shared.
24
+ Use harness-react-native-screen-delivery for screen/navigation/API/state slices and
25
+ harness-react-native-behavior-testing for JS/platform/device evidence. Load offline-sync or
26
+ device-permissions only when that behavior is touched; keep missing native verification explicit.
23
27
  Review checks/verification.yaml before choosing commands. No check executes automatically.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: harness-react-native-behavior-testing
3
+ description: Verify React Native and Expo screens using existing JavaScript, navigation and device tests. Use for forms, auth/account transitions, lifecycle, permissions/offline regressions or changes requiring separate iOS and Android evidence.
4
+ ---
5
+
6
+ # Mobile behavior testing
7
+
8
+ ## Input
9
+ Changed screen/AC, actual test scripts/runner and navigation setup, affected platforms, native/device
10
+ access, and existing API/storage/permission fixtures.
11
+
12
+ ## Procedure
13
+ 1. Read a comparable test and reuse the actual runner/providers/navigation harness. Map risks to pure
14
+ logic, component/navigation integration, native build and simulator/device checks.
15
+ 2. Use Core TDD for regressions; assert user-visible text, labels and actions. Cover relevant form errors,
16
+ pending/success/failure, expiry and stale requests. Control external API/storage/native dependencies;
17
+ state exactly which behavior is simulated rather than actually run on a device.
18
+ 3. Keep screen modules and navigation connected where practical. Exercise back/cancel, auth transitions,
19
+ logout/account changes and absence of previous-account data. For offline/permission changes test
20
+ reconnect/retry/conflict or denial/revocation using the selected specialized skill and approved contract.
21
+ 4. Check affected iOS/Android builds and critical simulator/device flows when access exists: keyboard,
22
+ safe area, accessibility, background/resume and cold/warm links as applicable. Reuse an existing E2E
23
+ runner rather than installing one by default. A JS mock cannot establish native-module correctness.
24
+ 5. Run confirmed targeted tests and configured lint/type checks. Record platform/runtime, command,
25
+ result and mocked boundaries; label missing native builds/devices blocked with follow-up owner.
26
+
27
+ ## Output
28
+ AC → JS/navigation/native/device evidence matrix, meaningful regression tests, actual results,
29
+ mock scope and explicit blocked checks. Keep UI smoke, build and real device evidence distinct.
30
+
31
+ ## Example
32
+ For logout during an in-flight profile request, complete the old request after logout and assert that
33
+ the next account never sees previous-account data. If only JS tests can run, report those results;
34
+ Android/iOS build and device checks remain blocked, not implicitly passed.
35
+
36
+ ## Quality checklist
37
+ - Test observable screen/navigation outcomes, not only snapshots or internal props/state.
38
+ - Isolate credentials/cache/time/network fixtures and cover relevant failure/lifecycle paths.
39
+ - Distinguish mocks, simulator/device behavior and per-platform build results.
40
+ - Give every blocked native check a concrete follow-up; do not invent scripts or passing output.
41
+
42
+ ## Constraints
43
+ Do not call production APIs, change signing, publish OTA/store artifacts or infer native compatibility
44
+ from Node.js component tests. Keep existing tooling and Core permission/review gates.
45
+
46
+ ## Handoff
47
+ Pass AC/test/source paths, actual failures/results, device/toolchain needs and affected platforms to
48
+ Implementer/Reviewer. The Harness emits instructions/checklists; the authorized host runs actual tests.
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: harness-react-native-screen-delivery
3
+ description: Implement React Native or Expo screens with existing navigation, forms, API/state and platform conventions. Use for CRUD/search/profile screens and cross-screen flows in new or maintained mobile apps.
4
+ ---
5
+
6
+ # Mobile screen delivery
7
+
8
+ ## Input
9
+ Task/AC and screen/flow notes, API contract, actual Expo/bare setup and router/version, supported
10
+ platforms, and existing navigation/theme/client/storage/test paths.
11
+
12
+ ## Procedure
13
+ 1. Apply `.harness/core/rules/project-conventions.md` and selected adapter rules. Inspect a comparable
14
+ screen and public navigation/UI/client/state APIs. Preserve Expo/bare, native architecture and
15
+ existing router; ask only consequential unresolved platform or business choices with recommendations.
16
+ 2. Plan one route → screen → data operation slice. Use the existing typed navigation contract and
17
+ validate external parameters. Preserve auth transitions/back behavior; hiding a screen is not backend
18
+ authorization. Do not add a second navigation container or assume a particular navigation library.
19
+ 3. Reuse form/input and API/query boundaries. Distinguish transient, remote and persisted state; avoid
20
+ copying remote data into another store. Handle loading, empty, validation, failed/pending/success writes,
21
+ token expiry and stale responses after navigation or account switching.
22
+ 4. Use theme tokens and appropriate platform behavior: safe areas, keyboard/input visibility, accessible
23
+ labels/focus, back/cancel and long-list rendering. Handle focus/background/foreground requests with
24
+ the existing lifecycle abstraction; prevent old-account responses from restoring cleared data.
25
+ 5. Load `.agents/skills/harness-react-native-offline-sync/SKILL.md` only for persistence/replay/conflicts;
26
+ use `.agents/skills/harness-react-native-device-permissions/SKILL.md` when permissions/deep links change.
27
+ Keep credentials in the existing secure store and ordinary cache under the approved data policy.
28
+ 6. Use Core TDD/review and `.agents/skills/harness-react-native-behavior-testing/SKILL.md`. Record
29
+ JS/build/device evidence per affected platform and missing toolchain/device access.
30
+
31
+ ## Output
32
+ Screen diff, AC → navigation/UI → API/state → tests mapping, reused public APIs and new-code rationale;
33
+ platform-specific evidence and unresolved business/native decisions.
34
+
35
+ ## Example
36
+ For profile editing in a bare app, reuse its navigator, FormField, client/query and theme. Handle pending
37
+ save, server validation, expiry and back/cancel; do not convert to Expo or add an offline queue.
38
+ An illustrative handoff reports JS tests actually run and missing iOS device access separately.
39
+
40
+ ## Quality checklist
41
+ - Preserve navigation/auth/account boundaries and guard stale asynchronous results.
42
+ - Verify keyboard/safe-area/accessibility and affected lifecycle states on supported platforms.
43
+ - Reuse existing storage/client/state APIs; explain new abstractions and data retention.
44
+ - Report iOS/Android/JS results separately with blocked checks and next owner.
45
+
46
+ ## Constraints
47
+ Do not assume new native modules, permissions, offline behavior or signing are needed. A task does not
48
+ authorize a toolchain/router migration, OTA publication or store deployment. Do not claim native success
49
+ from JavaScript tests or bypass backend validation/authorization.
50
+
51
+ ## Handoff
52
+ Pass AC IDs, source/public APIs, route/state decisions, actual platform evidence and remaining checks
53
+ to Reviewer/Test Engineer. Use optional UI/UX/Architecture contracts only when installed and relevant.
@@ -16,13 +16,16 @@
16
16
  "rules/architecture.md",
17
17
  "rules/security.md",
18
18
  "rules/database.md",
19
- "rules/performance.md"
19
+ "rules/performance.md",
20
+ "rules/conventions.md"
20
21
  ],
21
22
  "skills": [
22
23
  "harness-react-nextjs-accessible-ui",
23
- "harness-react-nextjs-server-boundaries"
24
+ "harness-react-nextjs-server-boundaries",
25
+ "harness-react-nextjs-feature-delivery",
26
+ "harness-react-nextjs-behavior-testing"
24
27
  ],
25
28
  "verification": "checks/verification.yaml",
26
29
  "evaluation": "evals/cases.json",
27
- "module_version": "1.0.0"
30
+ "module_version": "1.2.0"
28
31
  }
@@ -44,6 +44,42 @@
44
44
  "SSR/hydration checks when applicable"
45
45
  ],
46
46
  "execution": "advisory"
47
+ },
48
+ {
49
+ "id": "convention-fit",
50
+ "title": "Review project convention, reuse and module boundary fit",
51
+ "command": [],
52
+ "when_file": null,
53
+ "evidence": [
54
+ "Applicable convention sources and comparable implementation paths",
55
+ "Reused public symbols and rationale for new components or dependencies",
56
+ "Configured lint/type/build/test and boundary results, or explicit manual review limits"
57
+ ],
58
+ "execution": "manual"
59
+ },
60
+ {
61
+ "id": "feature-slice",
62
+ "title": "Review route/screen, data/state and existing public API fit",
63
+ "command": [],
64
+ "when_file": null,
65
+ "evidence": [
66
+ "AC to route/screen, interaction and API/state mapping",
67
+ "Reused component/client/form/router APIs and justified new code",
68
+ "Validation, loading/error/pending states and stale/account response handling"
69
+ ],
70
+ "execution": "manual"
71
+ },
72
+ {
73
+ "id": "behavior-evidence",
74
+ "title": "Review actual behavior checks and environment limits",
75
+ "command": [],
76
+ "when_file": null,
77
+ "evidence": [
78
+ "AC-linked component/integration results and simulated boundaries",
79
+ "Actual browser/server evidence or explicit blocked checks",
80
+ "Confirmed scripts, actual results and owner for unavailable checks"
81
+ ],
82
+ "execution": "manual"
47
83
  }
48
84
  ]
49
85
  }