@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.
- package/CHANGELOG.md +57 -0
- package/CONTRIBUTING.md +4 -0
- package/README.md +19 -57
- package/adapters/java-spring/adapter.yaml +3 -2
- package/adapters/java-spring/checks/verification.yaml +12 -0
- package/adapters/java-spring/evals/cases.json +10 -0
- package/adapters/java-spring/rules/conventions.md +39 -0
- package/adapters/java-spring/rules.md +2 -1
- package/adapters/kubernetes/adapter.yaml +1 -1
- package/adapters/kubernetes/rules.md +3 -0
- package/adapters/react-native/adapter.yaml +6 -3
- package/adapters/react-native/checks/verification.yaml +36 -0
- package/adapters/react-native/evals/cases.json +30 -0
- package/adapters/react-native/rules/conventions.md +34 -0
- package/adapters/react-native/rules.md +5 -1
- package/adapters/react-native/skills/harness-react-native-behavior-testing/SKILL.md +48 -0
- package/adapters/react-native/skills/harness-react-native-screen-delivery/SKILL.md +53 -0
- package/adapters/react-nextjs/adapter.yaml +6 -3
- package/adapters/react-nextjs/checks/verification.yaml +36 -0
- package/adapters/react-nextjs/evals/cases.json +30 -0
- package/adapters/react-nextjs/rules/conventions.md +37 -0
- package/adapters/react-nextjs/rules.md +5 -1
- package/adapters/react-nextjs/skills/harness-react-nextjs-behavior-testing/SKILL.md +48 -0
- package/adapters/react-nextjs/skills/harness-react-nextjs-feature-delivery/SKILL.md +55 -0
- package/capabilities/architecture/README.md +11 -0
- package/capabilities/architecture/agents/architecture-reviewer.md +16 -0
- package/capabilities/architecture/agents/solution-architect.md +16 -0
- package/capabilities/architecture/capability.json +35 -0
- package/capabilities/architecture/checks/verification.json +29 -0
- package/capabilities/architecture/evals/cases.json +35 -0
- package/capabilities/architecture/skills/harness-architecture-change-impact/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-decision-records/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-project-context/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-quality-attributes/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-review/SKILL.md +43 -0
- package/capabilities/architecture/skills/harness-architecture-solution-design/SKILL.md +44 -0
- package/capabilities/architecture/templates/adr.md +29 -0
- package/capabilities/architecture/templates/nfr.md +22 -0
- package/capabilities/architecture/templates/overview.md +24 -0
- package/capabilities/architecture/templates/project-map.md +26 -0
- package/capabilities/architecture/templates/review.md +23 -0
- package/capabilities/architecture/templates/solution-design.md +29 -0
- package/capabilities/architecture/workflows/change-review.md +12 -0
- package/capabilities/architecture/workflows/discovery-to-design.md +16 -0
- package/capabilities/delivery/README.md +11 -0
- package/capabilities/delivery/agents/project-manager.md +16 -0
- package/capabilities/delivery/capability.json +29 -0
- package/capabilities/delivery/checks/verification.json +29 -0
- package/capabilities/delivery/evals/cases.json +25 -0
- package/capabilities/delivery/skills/harness-delivery-planning/SKILL.md +43 -0
- package/capabilities/delivery/skills/harness-delivery-risk-management/SKILL.md +42 -0
- package/capabilities/delivery/skills/harness-delivery-scope-change/SKILL.md +43 -0
- package/capabilities/delivery/templates/change-assessment.md +23 -0
- package/capabilities/delivery/templates/delivery-plan.md +25 -0
- package/capabilities/delivery/templates/risk-register.md +19 -0
- package/capabilities/delivery/workflows/execution-change.md +9 -0
- package/capabilities/delivery/workflows/planning.md +12 -0
- package/capabilities/product/README.md +7 -0
- package/capabilities/product/agents/business-analyst.md +3 -0
- package/capabilities/product/agents/product-owner.md +5 -1
- package/capabilities/product/agents/project-manager.md +5 -0
- package/capabilities/product/capability.json +9 -4
- package/capabilities/product/checks/verification.json +12 -0
- package/capabilities/product/evals/cases.json +10 -0
- package/capabilities/product/skills/harness-product-acceptance-criteria/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-backlog-prioritization/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-brd-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-business-analysis/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-document-review/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-idea-discovery/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-knowledge-analysis/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-mvp-definition/SKILL.md +43 -0
- package/capabilities/product/skills/harness-product-prd-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-product-outcomes/SKILL.md +42 -0
- package/capabilities/product/skills/harness-product-product-research/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-srs-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-traceability/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-use-case-generation/SKILL.md +17 -0
- package/capabilities/product/skills/harness-product-user-stories/SKILL.md +17 -0
- package/capabilities/product/templates/mvp.md +25 -0
- package/capabilities/product/templates/outcomes.md +23 -0
- package/capabilities/product/workflows/document-driven.md +4 -0
- package/capabilities/product/workflows/idea-driven.md +4 -0
- package/capabilities/product/workflows/product-to-solution.md +15 -0
- package/cli/agents.js +165 -0
- package/cli/environment.js +14 -1
- package/cli/harness.js +24 -9
- package/cli/main.js +19 -6
- package/config/agents.default.json +80 -0
- package/core/agents/documentation.md +13 -0
- package/core/agents/implementer.md +7 -0
- package/core/agents/orchestrator.md +13 -0
- package/core/agents/planner.md +4 -0
- package/core/agents/reviewer.md +8 -0
- package/core/checks/verification.json +37 -0
- package/core/evals/cases.json +70 -0
- package/core/evals/composition.json +15 -0
- package/core/rules/foundations.md +1 -0
- package/core/rules/project-conventions.md +61 -0
- package/core/workflows/agent-routing.md +28 -0
- package/core/workflows/bugfix.md +2 -0
- package/core/workflows/project-setup.md +9 -1
- package/core/workflows/solution-framing.md +33 -0
- package/core/workflows/spec-to-code.md +11 -3
- package/docs/README.md +39 -0
- package/docs/adapters.md +10 -2
- package/docs/agent-configuration.md +99 -0
- package/docs/agent-handoffs.md +23 -0
- package/docs/architecture.md +22 -1
- package/docs/cli.md +29 -4
- package/docs/documentation-workflows.md +7 -0
- package/docs/end-to-end-workflow.md +14 -1
- package/docs/examples/fullstack-web.md +4 -0
- package/docs/examples/react-native-app.md +4 -0
- package/docs/frontend-mobile.md +76 -0
- package/docs/getting-started.md +46 -78
- package/docs/harness-maintenance.md +80 -0
- package/docs/monetization.md +1 -1
- package/docs/project-configuration.md +4 -0
- package/docs/project-conventions.md +67 -0
- package/docs/research/solution-workflow-sources.md +30 -0
- package/docs/skill-matrix.md +34 -6
- package/docs/solution-workflow.md +67 -0
- package/docs/templates/harness-change-impact.md +30 -0
- package/docs/tool-setup/README.md +70 -0
- package/docs/tool-setup/claude-code.md +57 -0
- package/docs/tool-setup/codex.md +44 -0
- package/docs/tool-setup/copilot.md +42 -0
- package/docs/tool-setup/cursor.md +44 -0
- package/docs/tool-setup/gemini-cli.md +41 -0
- package/docs/versioning.md +38 -0
- package/evals/README.md +13 -0
- package/harness.yaml +4 -2
- package/package.json +2 -1
- package/templates/AGENTS.md +7 -0
- package/templates/openspec/design.md +6 -0
- package/templates/openspec/tasks.md +1 -0
package/docs/getting-started.md
CHANGED
|
@@ -1,110 +1,78 @@
|
|
|
1
1
|
# Bắt đầu với AI Harness
|
|
2
2
|
|
|
3
|
-
**Cài
|
|
4
|
-
|
|
5
|
-
Cần Node.js **22+**, Git và một repository ứng dụng đã tồn tại. AI IDE/assistant phải đọc được file trong repository; cách tự nạp `AGENTS.md` và skills phụ thuộc AI host. CLI `aih` quản lý hướng dẫn, không chạy LLM hay tạo ứng dụng.
|
|
3
|
+
**Cài vào project → mở AI → giao việc → review kết quả.** Cần Node.js **22+** và một thư mục project. Với dự án mới, tạo thư mục/repository trước; Harness không tạo ứng dụng hay chạy model.
|
|
6
4
|
|
|
7
5
|
## 1. Cài vào project
|
|
8
6
|
|
|
7
|
+
Chạy tại thư mục gốc của project:
|
|
8
|
+
|
|
9
9
|
```bash
|
|
10
|
-
|
|
11
|
-
cd /path/to/existing-project
|
|
12
|
-
aih init --adapters java-spring
|
|
13
|
-
aih check
|
|
10
|
+
npx --yes @manhd_d/ai-harness init --detect
|
|
14
11
|
```
|
|
15
12
|
|
|
16
|
-
|
|
13
|
+
Lệnh nhận diện stack từ file ở thư mục gốc và cài hướng dẫn tương ứng. Nếu báo chưa nhận diện được, thay `--detect` theo bảng; bỏ `--detect` để chỉ cài quy tắc chung (Core):
|
|
17
14
|
|
|
18
|
-
|
|
|
15
|
+
| Project / nhu cầu | Tham số cho `init` |
|
|
19
16
|
| --- | --- |
|
|
20
|
-
| Spring Boot
|
|
21
|
-
| React/Next.js
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
| Spring +
|
|
26
|
-
|
|
27
|
-
`aih list` xem toàn bộ module. `aih init --dry-run` xem trước thay đổi với cùng tham số đã chọn. Với project đã cài, đổi module trong `.harness/project.json` rồi dùng `aih update`, không chạy lại `init` với lựa chọn khác.
|
|
17
|
+
| Spring Boot | `--adapters java-spring` |
|
|
18
|
+
| React / Next.js | `--adapters react-nextjs` |
|
|
19
|
+
| React Native / Expo | `--adapters react-native` |
|
|
20
|
+
| Python AI / RAG | `--adapters ai-python` |
|
|
21
|
+
| Astro tool / website | `--adapters astro` |
|
|
22
|
+
| Spring + Next.js | `--adapters java-spring,react-nextjs` |
|
|
23
|
+
| Viết tài liệu BA | `--capabilities product` |
|
|
28
24
|
|
|
29
|
-
|
|
25
|
+
Ví dụ vừa code Spring vừa viết tài liệu:
|
|
30
26
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
Điền `.harness/local.md` bằng thông tin thực của project:
|
|
27
|
+
```bash
|
|
28
|
+
npx --yes @manhd_d/ai-harness init --adapters java-spring --capabilities product
|
|
29
|
+
```
|
|
36
30
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- Lệnh build/test đã xác nhận chạy được.
|
|
40
|
-
- Đường dẫn tài liệu BA, conventions và những ràng buộc cần giữ.
|
|
31
|
+
Thêm `--capabilities uiux` khi cần UI/UX; `monetization` cho website có quảng cáo. [Danh mục đầy đủ](cli.md).
|
|
32
|
+
Với project đã cài, đổi lựa chọn trong `.harness/project.json` rồi dùng `update`.
|
|
41
33
|
|
|
42
|
-
|
|
34
|
+
## 2. Mở AI và giao việc
|
|
43
35
|
|
|
44
|
-
|
|
36
|
+
Mở thư mục project trong công cụ AI, rồi gửi:
|
|
45
37
|
|
|
46
|
-
|
|
38
|
+
> Đọc AGENTS.md và .harness/local.md. Khảo sát code, tài liệu và lệnh test hiện có;
|
|
39
|
+
> ghi context còn thiếu vào .harness/local.md, chỉ hỏi phần chưa rõ.
|
|
40
|
+
> Thực hiện yêu cầu: [mô tả công việc]. Chạy test phù hợp, báo cáo kết quả và phần chưa kiểm chứng.
|
|
47
41
|
|
|
48
|
-
|
|
42
|
+
Bạn có thể giao ý tưởng, tài liệu BA hoặc task code. Không cần gọi từng agent/skill.
|
|
43
|
+
Với web/mobile, giao màn hình hoặc tính năng theo common/API/state/navigation hiện có; [skills đã có](frontend-mobile.md).
|
|
44
|
+
Nếu công cụ chưa tự nạp hướng dẫn, xem [cách cấu hình công cụ AI](tool-setup/README.md).
|
|
45
|
+
Lệnh `setup` chỉ xuất gợi ý thiết lập, không phải bước bắt buộc để bắt đầu.
|
|
49
46
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
Review diff và test, rồi commit `AGENTS.md`, `.harness/`, `.agents/skills/` cùng code.
|
|
48
|
+
Quy tắc riêng sửa trong `.harness/local.md`; giữ nguyên file do Harness quản lý.
|
|
49
|
+
Lệnh/tool chung lưu trong `.harness/environment.json`; đường dẫn riêng máy trong `.harness/machine.json` được Git ignore. [Cấu hình Maven/JDK](project-configuration.md).
|
|
50
|
+
Cấu hình model là tùy chọn trong `.harness/agents.json`; chọn model tương thích với công cụ AI: [hướng dẫn](agent-configuration.md).
|
|
53
51
|
|
|
54
|
-
## 3.
|
|
52
|
+
## 3. Thêm tài liệu khi cần
|
|
55
53
|
|
|
56
|
-
Với
|
|
54
|
+
Với `product` đã cài, tạo bản nháp yêu cầu:
|
|
57
55
|
|
|
58
56
|
```bash
|
|
59
|
-
|
|
57
|
+
npx --yes @manhd_d/ai-harness new-doc prd-lite
|
|
60
58
|
```
|
|
61
59
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
Khi một tính năng cần proposal/design/tasks/spec riêng:
|
|
60
|
+
Tính năng cần spec riêng: dùng `new-change <id>`; [hướng dẫn spec](change-readiness.md).
|
|
61
|
+
Task nhỏ không cần bộ tài liệu đầy đủ. Không cần cài OpenSpec CLI để tạo bản nháp.
|
|
65
62
|
|
|
66
|
-
|
|
67
|
-
aih new-change add-customer-search
|
|
68
|
-
```
|
|
63
|
+
## 4. Kiểm tra và cập nhật
|
|
69
64
|
|
|
70
|
-
|
|
71
|
-
AI ghi câu trả lời thực tế trong `decisions.json`; kiểm tra bằng `aih ready add-customer-search --stage implement`.
|
|
72
|
-
Sau code, ghi bằng chứng trong `verification.json` và chạy với `--stage review`. Xem [Change readiness](change-readiness.md). Sửa nhỏ, ít rủi ro có thể bỏ qua full spec với lý do rõ ràng; không bắt mọi task tạo đủ BRD/PRD/SRS.
|
|
65
|
+
`check` kiểm tra file Harness; `verify` xuất checklist. Code cần **test của project** và review thực tế.
|
|
73
66
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
## 4. Kiểm tra đúng thứ
|
|
77
|
-
|
|
78
|
-
| Lệnh | Ý nghĩa |
|
|
79
|
-
| --- | --- |
|
|
80
|
-
| `aih check` | Kiểm tra integrity của file Harness; không kiểm thử ứng dụng |
|
|
81
|
-
| `aih doctor` | Kiểm tra công cụ và environment đã cấu hình; không chạy build/test |
|
|
82
|
-
| `aih verify --scope all` | Xuất checklist, `executed: false`; không chạy build/test |
|
|
83
|
-
| `aih eval --scope all` | Xuất tình huống và báo cáo chưa chấm; không gọi model |
|
|
84
|
-
| Lệnh test của project | Do bạn, AI host hoặc CI thực chạy để xác minh code |
|
|
85
|
-
|
|
86
|
-
Một lần `aih check` thành công không có nghĩa tính năng đã đúng. Ghi lệnh test thực chạy, kết quả và phần chưa kiểm chứng trong PR. Xem [đánh giá hành vi AI](../evals/README.md) nếu muốn đo hiệu quả Harness.
|
|
87
|
-
|
|
88
|
-
## 5. Cập nhật: CLI trước, project sau
|
|
89
|
-
|
|
90
|
-
Trên branch riêng, commit trạng thái hiện tại trước. Với cách cài global ở trên:
|
|
67
|
+
Trước cập nhật, tạo branch và commit trạng thái hiện tại. Xem trước, áp dụng rồi kiểm tra:
|
|
91
68
|
|
|
92
69
|
```bash
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
aih update --dry-run
|
|
97
|
-
aih update
|
|
98
|
-
aih check
|
|
70
|
+
npx --yes @manhd_d/ai-harness@latest update --dry-run
|
|
71
|
+
npx --yes @manhd_d/ai-harness@latest update
|
|
72
|
+
npx --yes @manhd_d/ai-harness@latest check
|
|
99
73
|
```
|
|
100
74
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
Nếu cài local trong project, dùng `npm install --save-dev @manhd_d/ai-harness@latest` và `npx aih` thay cho `aih`.
|
|
104
|
-
|
|
105
|
-
## Đọc thêm theo nhu cầu
|
|
75
|
+
Review diff và chạy test project trước khi commit. Nếu có conflict, xem [cách xử lý](cli.md).
|
|
76
|
+
Dùng thường xuyên có thể cài global: `npm install -g @manhd_d/ai-harness`, rồi dùng `aih` thay cho `npx --yes @manhd_d/ai-harness`. Nâng CLI global trước khi `aih update`.
|
|
106
77
|
|
|
107
|
-
|
|
108
|
-
- [Spring Boot API](examples/spring-boot-api.md) · [Full-stack](examples/fullstack-web.md) · [React Native](examples/react-native-app.md) · [Python AI/RAG](examples/ai-rag-service.md).
|
|
109
|
-
- [Astro micro-tools](examples/astro-micro-tools.md) · [Astro + AdSense](examples/astro-adsense-microtools.md).
|
|
110
|
-
- [Release guide](npm-release.md): dành cho maintainer; merge source không đồng nghĩa npm đã có bản mới.
|
|
78
|
+
[Tra cứu & ví dụ theo nhu cầu](README.md).
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Nâng cấp AI Harness không bỏ sót thành phần
|
|
2
|
+
|
|
3
|
+
Đây là đầu mối dành cho người và AI sửa **repository AI Harness**, không phải quy trình phát triển
|
|
4
|
+
ứng dụng của consumer. Đọc tài liệu này trước khi sửa Harness. Giữ thông tin chuyên biệt ở tài liệu
|
|
5
|
+
gốc được liên kết bên dưới; không sao chép quy tắc thành nhiều bản có thể mâu thuẫn.
|
|
6
|
+
|
|
7
|
+
## Bản đồ trách nhiệm và liên kết
|
|
8
|
+
|
|
9
|
+
| Thành phần | Nguồn chính | Nơi được sử dụng / kiểm chứng |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| Core | [Rules](../core/rules/), [policies](../core/policies/) | [AGENTS template](../templates/AGENTS.md) → [workflows](../core/workflows/) → [roles](../core/agents/), [skills](../core/skills/) → [checks](../core/checks/verification.json), [evals](../core/evals/cases.json) |
|
|
12
|
+
| Adapter | [Registry](../harness.yaml), [adapter contract](adapters.md), [adapter assets](../adapters/) | Manifest `rules/skills/verification/evaluation` → [bundle/install](../cli/harness.js) → [installed verify/eval](../cli/adapters.js) |
|
|
13
|
+
| Capability / skill | [Capability assets](../capabilities/), [schema/loader](../cli/capabilities.js) | Workflow/role bàn giao → exposed skill → [skill matrix](skill-matrix.md), [handoffs](agent-handoffs.md), [composition evals](../core/evals/composition.json) |
|
|
14
|
+
| CLI / config | [CLI reference](cli.md), [implementation](../cli/), [templates](../templates/) | [Architecture/ownership](architecture.md), [project configuration](project-configuration.md), [tests](../tests/), [package smoke](../scripts/smoke-package.js) |
|
|
15
|
+
| Agent preferences | [Canonical default](../config/agents.default.json), [configuration contract](agent-configuration.md) | Project-owned `agents.json` → read-only setup plan → [routing workflow](../core/workflows/agent-routing.md) → [host setup](tool-setup/README.md); tests verify preservation, not live model availability |
|
|
16
|
+
| Quy trình sử dụng | [Getting started](getting-started.md), [full SDLC](end-to-end-workflow.md) | [Examples](examples/), [README](../README.md), [documentation workflows](documentation-workflows.md) |
|
|
17
|
+
| Release / migration | [Versioning](versioning.md), [release policy](release-policy.md) | [Changelog](../CHANGELOG.md), [npm release](npm-release.md), [release workflow](../.github/workflows/npm-publish.yml) |
|
|
18
|
+
|
|
19
|
+
Một quy tắc chỉ hoàn chỉnh khi xác định được: **nơi khai báo → nơi đóng gói → điểm AI đọc → bước áp dụng
|
|
20
|
+
→ cách review/kiểm chứng → hướng dẫn sử dụng**. Thành phần không áp dụng bước nào phải ghi rõ lý do;
|
|
21
|
+
không tạo thêm file chỉ để đủ hình thức.
|
|
22
|
+
|
|
23
|
+
## Quy trình cho mỗi lần nâng cấp
|
|
24
|
+
|
|
25
|
+
1. Xác nhận Git root, base commit và đọc [AGENTS](../AGENTS.md), kiến trúc, quy định versioning cùng
|
|
26
|
+
thay đổi liên quan. Khảo sát implementation và test tương tự trước khi thiết kế mới.
|
|
27
|
+
2. Với thay đổi có ý nghĩa về hành vi/chính sách, tạo OpenSpec proposal/design/tasks/specs theo
|
|
28
|
+
[quy trình hiện có](../core/workflows/spec-to-code.md). Ghi phân tích ảnh hưởng vào `design.md`
|
|
29
|
+
hoặc sao chép [mẫu impact](templates/harness-change-impact.md) vào change. Sửa typo/đường dẫn nhỏ
|
|
30
|
+
có thể ghi ngay trong PR; không bắt một bộ OpenSpec đầy đủ.
|
|
31
|
+
3. Duyệt từng hàng của ma trận bên dưới. Ban đầu dùng `pending` cho mục cần sửa; khi hoàn tất chuyển
|
|
32
|
+
`done` kèm đường dẫn/bằng chứng. `not-applicable` cần lý do cụ thể. Không bỏ trống hàng và không coi
|
|
33
|
+
“đã nghĩ đến” là “đã cập nhật”. Hỏi lại chỉ khi có lựa chọn quan trọng chưa được quyết định.
|
|
34
|
+
4. Triển khai theo phạm vi; đồng bộ nơi khai báo, đường dẫn consumer sau cài đặt, nơi gọi và tài liệu.
|
|
35
|
+
Khi đổi tên/xóa, tìm mọi tham chiếu cũ và xem xét snapshot cũ, không chỉ source mới.
|
|
36
|
+
5. Chạy các kiểm tra bắt buộc, kiểm tra diff cài mới/update khi payload hoặc ownership thay đổi,
|
|
37
|
+
và ghi kết quả thực tế. Báo riêng kiểm tra bị chặn, kết quả manual và live-agent eval chưa chạy.
|
|
38
|
+
6. Điền [PR template](../.github/pull_request_template.md), liên kết impact/OpenSpec và evidence.
|
|
39
|
+
Còn `pending` thì nêu rõ và dùng draft nếu phần triển khai chưa xong; không báo hoàn tất.
|
|
40
|
+
7. Human review/merge; [Release Please](release-policy.md) quản lý version phân phối và PR phát hành
|
|
41
|
+
riêng. Không auto-merge, tự tag hoặc publish từ feature PR. Archive chỉ sau khi PR liên quan đã merge.
|
|
42
|
+
|
|
43
|
+
## Ma trận ảnh hưởng bắt buộc rà soát
|
|
44
|
+
|
|
45
|
+
Mỗi lần nâng cấp rà soát **tất cả hàng**, nhưng chỉ sửa phần bị ảnh hưởng. Một thay đổi có thể chạm
|
|
46
|
+
nhiều nhóm. Liên kết evidence vào impact record thay vì chép lại cùng nội dung trong PR.
|
|
47
|
+
|
|
48
|
+
| ID | Khi có thay đổi | Những nơi phải đối chiếu |
|
|
49
|
+
| --- | --- | --- |
|
|
50
|
+
| core | Rule/policy dùng chung | Điểm đọc trong AGENTS template, workflow/role/skill liên quan, precedence, checks và behavioral evals |
|
|
51
|
+
| adapter | Adapter / convention | Registry, adapter manifest và schema; rules index; skills; checks/evals; detection nếu liên quan; module_version khi contract đổi |
|
|
52
|
+
| capability-skill | Capability hoặc skill | Manifest, input/output/constraints, workflow kích hoạt, bàn giao, đường dẫn installed/exposed, skill matrix và composition |
|
|
53
|
+
| cli-config | CLI, config, template | Validation, help/reference, project-owned vs managed files, install/update/dry-run/conflict, tương thích snapshot cũ, migration và package allowlist |
|
|
54
|
+
| workflow | Quy trình / bàn giao | Điều kiện vào, output, owner/bước nhận tiếp, role/skill, acceptance/readiness, SDLC/examples liên quan |
|
|
55
|
+
| documentation | Hướng dẫn sử dụng | README/getting-started, tài liệu chuyên biệt và đường dẫn; không quảng cáo khả năng chưa có hoặc kết quả chưa đo |
|
|
56
|
+
| verification | Kiểm chứng | Tests đúng rủi ro, validate, package smoke, CI matrix; eval scenarios khi hướng dẫn hành vi đổi; actual logs/manual limitations |
|
|
57
|
+
| release-migration | Phát hành / tương thích | Changelog Unreleased, migration/rollback khi cần, module contract version; version phân phối chỉ do release PR quản lý |
|
|
58
|
+
|
|
59
|
+
Ví dụ thêm convention Java: manifest khai báo `rules/conventions.md` → bundle cài file vào
|
|
60
|
+
`.harness/adapters/java-spring/` → rules index dẫn AI đọc → Core code/review áp dụng → checklist/eval
|
|
61
|
+
kiểm tra → guide hướng dẫn. Nếu chỉ có file convention mà thiếu đường đọc, thay đổi chưa đầy đủ.
|
|
62
|
+
|
|
63
|
+
## Điều kiện hoàn thành và giới hạn tự động hóa
|
|
64
|
+
|
|
65
|
+
- Chạy `npm test`, `npm run validate`, `npm run test:package`. CI chạy các gate theo
|
|
66
|
+
[Harness CI](../.github/workflows/harness.yml); khi liên quan release chạy cả `npm run check:release`.
|
|
67
|
+
- Tests về [maintenance links](../tests/maintenance.test.js) kiểm tra các điểm vào tài liệu, đường đọc
|
|
68
|
+
Core và rule index của mọi adapter được đăng ký. Các [documentation tests](../tests/documentation.test.js)
|
|
69
|
+
kiểm tra skill matrix/handoffs; validate kiểm tra đường dẫn Markdown; package smoke dùng tarball thật.
|
|
70
|
+
- Khi đổi payload: xác minh asset được chọn/không được chọn, lock và conflict, project-owned content
|
|
71
|
+
không bị ghi đè, đường dẫn exposed skill hợp lệ. Dùng test hiện có và chỉ thêm test cho rủi ro mới.
|
|
72
|
+
- Khi đổi instructions: cập nhật kịch bản [behavioral evaluation](../evals/README.md) nếu hành vi kỳ vọng
|
|
73
|
+
thay đổi; giữ unscored nếu chưa chạy host thật. Passing CLI tests không chứng minh AI tuân thủ.
|
|
74
|
+
- CI kiểm tra cấu trúc và liên kết đã khai báo, **không tự kết luận impact analysis đầy đủ hoặc các tài
|
|
75
|
+
liệu nhất quán về nghĩa**. PR checklist là hợp đồng review, không phải parser cưỡng chế PR body.
|
|
76
|
+
Người/AI review đối chiếu diff với ma trận, lý do not-applicable và bằng chứng thực tế.
|
|
77
|
+
|
|
78
|
+
Thêm nhóm thành phần mới thì cập nhật bản đồ và ma trận tại đây, mẫu impact và PR template nếu cần;
|
|
79
|
+
chỉ mở rộng kiểm tra tự động cho các liên kết có thể xác minh đáng tin cậy. Không tạo registry thứ hai
|
|
80
|
+
cho adapter/skill: `harness.yaml` và module manifests vẫn là nguồn đăng ký chính.
|
package/docs/monetization.md
CHANGED
|
@@ -28,7 +28,7 @@ For React/Next.js, substitute `--adapters react-nextjs`. Add `product,uiux` only
|
|
|
28
28
|
6. If approved to publish, use the actual Google-provided ad integration and owner-authorized publisher details. `ads.txt` at the root domain is **highly recommended, not universally mandatory**; never invent an account/seller ID.
|
|
29
29
|
7. Human reviews actual changed pages, ad/no-fill/adblocked/consent UX and production release scope before deploy. `aih` cannot publish ads or deploy.
|
|
30
30
|
|
|
31
|
-
Project-owned artifacts: `docs/monetization/site-monetization-plan.md`, `ad-placement-review.md`, `privacy-consent-checklist.md`. The templates are installed at `.harness/capabilities/monetization/templates/` and
|
|
31
|
+
Project-owned artifacts: `docs/monetization/site-monetization-plan.md`, `ad-placement-review.md`, `privacy-consent-checklist.md`. The templates are installed at `.harness/capabilities/monetization/templates/` and can be scaffolded with `aih new-doc <type> --capability monetization` **without overwrite**; the default new-doc owner remains Product.
|
|
32
32
|
|
|
33
33
|
## Workflow B — traffic → financial learning
|
|
34
34
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
| File | Nội dung | Git |
|
|
4
4
|
| --- | --- | --- |
|
|
5
5
|
| `.harness/project.json` | Adapter/capability | Commit |
|
|
6
|
+
| `.harness/agents.json` | Provider/model/reasoning theo role, execution preferences và host mappings | Commit |
|
|
6
7
|
| `.harness/local.md` | Nghiệp vụ, kiến trúc, nguồn và quyết định chung | Commit |
|
|
7
8
|
| `.harness/environment.json` | Công cụ, lệnh, file cần có | Commit |
|
|
8
9
|
| `.harness/machine.json` | Đường dẫn riêng của máy, tùy chọn | Ignore |
|
|
@@ -12,6 +13,9 @@ Init/update tạo environment rỗng nếu chưa có và thêm `/machine.json` v
|
|
|
12
13
|
CLI không tạo file machine và không đọc nội dung Maven settings. Không ghi mật khẩu/token vào các
|
|
13
14
|
file Harness; credentials thuộc cơ chế quản lý riêng của công cụ.
|
|
14
15
|
|
|
16
|
+
[Agent configuration](agent-configuration.md) mô tả preset và cấu hình model. `aih setup --host codex`
|
|
17
|
+
chỉ đưa ra kế hoạch khai báo; update bảo toàn `agents.json` và không ghi config native của AI host.
|
|
18
|
+
|
|
15
19
|
## Ví dụ Maven nội bộ
|
|
16
20
|
|
|
17
21
|
Cấu hình chung:
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Coding conventions: dự án mới và maintain
|
|
2
|
+
|
|
3
|
+
Harness yêu cầu AI đọc cấu trúc và tìm phần tái sử dụng trước khi code. Core áp dụng cho mọi stack;
|
|
4
|
+
Java/Spring, React/Next.js và React Native có thêm bộ convention mặc định. Đây là hướng dẫn cho AI
|
|
5
|
+
host, không phải công cụ tự phân tích hoặc cưỡng chế kiến trúc ứng dụng.
|
|
6
|
+
|
|
7
|
+
| Phạm vi | Cách làm |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| New | Đề xuất cấu trúc tối thiểu và convention theo adapter; chốt lựa chọn có ảnh hưởng trước khi dựng |
|
|
10
|
+
| Maintain | Theo quy định và pattern nhất quán của module đang sửa; giữ public contract và dùng common phù hợp |
|
|
11
|
+
| Mixed | Module mới kế thừa quy định chung của repo; chỉ quyết định mới cho phần nội bộ chưa có chuẩn |
|
|
12
|
+
|
|
13
|
+
Một tính năng mới trong module cũ vẫn là maintain. Có `pom.xml` hay `package.json` chưa đủ để kết luận
|
|
14
|
+
mode; `aih detect` chỉ đưa gợi ý stack. AI kiểm tra scope và quyết định đã có, không hỏi lại toàn bộ.
|
|
15
|
+
|
|
16
|
+
## Quy trình sử dụng
|
|
17
|
+
|
|
18
|
+
1. Chạy `aih setup`; AI đọc `AGENTS.md`, `.harness/local.md`, build/lint/format và code tương tự.
|
|
19
|
+
2. Nếu thiếu lựa chọn quan trọng, AI hỏi A/B/C có trade-off và gợi ý dựa trên bằng chứng. Quyết định
|
|
20
|
+
thông thường đã được scope/convention bao phủ không cần hỏi lại.
|
|
21
|
+
3. Lưu các nguồn và quyết định bền vững vào `.harness/local.md`, hoặc liên kết tới tài liệu đang có.
|
|
22
|
+
4. Trước mỗi task, AI ghi ngắn: đã đọc đâu, tái sử dụng symbol nào, code mới đặt đâu, vì sao cần tạo mới.
|
|
23
|
+
Đặt ghi chú trong change/PR hiện tại; sửa nhỏ không bắt tạo thêm một bộ tài liệu.
|
|
24
|
+
5. Review diff và chạy các kiểm tra của dự án. `aih verify --scope all` xuất checklist gồm Core,
|
|
25
|
+
còn `aih eval --scope all` xuất các tình huống để đánh giá AI thực tế; không lệnh nào tự chạy model.
|
|
26
|
+
|
|
27
|
+
## Thứ tự ưu tiên
|
|
28
|
+
|
|
29
|
+
Trong phạm vi quyền và an toàn hiện có: quy định riêng đã thống nhất → cấu hình và pattern nhất quán
|
|
30
|
+
trong module → mặc định adapter cho chỗ còn thiếu. Nếu tài liệu và code mâu thuẫn, AI nêu nguồn và
|
|
31
|
+
hỏi khi ảnh hưởng đáng kể. Không lấy một file legacy làm chuẩn, không sao chép lỗi bảo mật để đồng bộ.
|
|
32
|
+
|
|
33
|
+
Ví dụ nội dung ngắn trong `.harness/local.md` (thay bằng đường dẫn thật đã kiểm tra):
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
## Development conventions
|
|
37
|
+
- Scope: maintain module customer; new feature follows that module's layout.
|
|
38
|
+
- Sources: link the actual team guide, formatter config and comparable endpoint/tests.
|
|
39
|
+
- Boundaries: describe the allowed dependency direction and supported shared APIs.
|
|
40
|
+
- Reuse: link the actual error contract, pagination, mapper/client/components that apply.
|
|
41
|
+
- Checks: link declared project commands and existing architecture tests.
|
|
42
|
+
- Exceptions: record reason, scope and decision source; leave unknowns explicit.
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Nội dung theo stack
|
|
46
|
+
|
|
47
|
+
| Adapter | Chuẩn và điểm tái sử dụng |
|
|
48
|
+
| --- | --- |
|
|
49
|
+
| [Java/Spring](../adapters/java-spring/rules/conventions.md) | Package/naming, injection, DTO, transaction, error/logging, mapper, pagination, test |
|
|
50
|
+
| [React/Next.js](../adapters/react-nextjs/rules/conventions.md) | Feature/routes, naming, typed contracts, client/hooks/state, forms, design tokens, UI states |
|
|
51
|
+
| [React Native](../adapters/react-native/rules/conventions.md) | Screen/navigation, state, API/device boundaries, theme, secure storage, permission, platform checks |
|
|
52
|
+
|
|
53
|
+
Không tự tạo thêm `ApiResponse`, HTTP client, theme hoặc permission manager nếu dự án đã có bản phù hợp.
|
|
54
|
+
Không ép tái sử dụng bằng cách gọi nội bộ module khác, tạo vòng dependency hoặc đưa nghiệp vụ riêng vào
|
|
55
|
+
common. Dependency, base class hoặc abstraction mới cần nhu cầu thật và lý do; thay đổi kiến trúc ngoài
|
|
56
|
+
scope cần quyết định của người dùng. Không cài lint/framework mới chỉ vì adapter đề cập tên công cụ.
|
|
57
|
+
|
|
58
|
+
## Update và giới hạn kiểm chứng
|
|
59
|
+
|
|
60
|
+
Sau khi phiên bản chứa thay đổi được phát hành, nâng CLI rồi chạy `aih update --dry-run`, `aih update`,
|
|
61
|
+
`aih check` trên nhánh consumer. Có thể kiểm thử trước bằng `--source /path/to/reviewed/ai-harness`.
|
|
62
|
+
Update giữ nguyên `.harness/local.md`, environment và các tài liệu dự án; host bổ sung thông tin còn
|
|
63
|
+
thiếu vào file cũ thay vì ghi đè. Không có schema mới, auto-scaffold ứng dụng hay migration kiến trúc.
|
|
64
|
+
|
|
65
|
+
`aih check` xác minh snapshot Harness; `aih verify` chỉ lập kế hoạch. Lint, test, build và kiểm tra ranh
|
|
66
|
+
giới thực tế do AI host/CI chạy. Khi chưa có kiểm tra kiến trúc tự động, báo kết quả review thủ công
|
|
67
|
+
và giới hạn. Các bài test CLI không chứng minh AI luôn tuân thủ convention; xem [đánh giá](../evals/README.md).
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Source review: product and solution delivery
|
|
2
|
+
|
|
3
|
+
Reviewed 2026-10-12. These are method references, not installed engines or vendored upstream assets.
|
|
4
|
+
Harness skills/templates were independently authored. Existing MIT distribution and no-runtime-dependency
|
|
5
|
+
contract continue; upstream trademarks/endorsement are not implied.
|
|
6
|
+
|
|
7
|
+
| Primary source / reviewed revision | Verified license | Method considered | Harness decision |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| [BMAD stable v6.12.2 README](https://github.com/bmad-code-org/BMAD-METHOD/blob/v6.12.2/README.md), [release](https://github.com/bmad-code-org/BMAD-METHOD/releases/tag/v6.12.2) | [MIT](https://github.com/bmad-code-org/BMAD-METHOD/blob/v6.12.2/LICENSE) | Proportional planning, durable context and explicit decisions/handoffs | Core solution-framing and optional Product/Architecture/Delivery workflows; no installer/runtime adoption |
|
|
10
|
+
| [PM-Skills README](https://github.com/phuryn/pm-skills/blob/c68487d721e419ec87af1ae6412a842978eab785/README.md), [create-prd skill](https://github.com/phuryn/pm-skills/blob/c68487d721e419ec87af1ae6412a842978eab785/pm-execution/skills/create-prd/SKILL.md) | [MIT](https://github.com/phuryn/pm-skills/blob/c68487d721e419ec87af1ae6412a842978eab785/LICENSE) | Task-oriented skills, lean decision-ready output and source-grounded questions | Add independent templates/examples/quality/handoff sections; retain Harness authorization and ambiguity rules |
|
|
11
|
+
| [arc42 overview](https://arc42.org/overview/), [license](https://arc42.org/license/) | CC BY-SA 4.0 for template structure/text; own project content remains owned by its author | Communicate context, boundaries, quality and operating reality at the necessary depth | Original compact overview/NFR/project-map/solution templates; no copied 12-section template or explanatory text |
|
|
12
|
+
| [MADR 4.0.0](https://github.com/adr/madr/tree/4.0.0), [docs](https://adr.github.io/madr/), [license](https://github.com/adr/madr/blob/4.0.0/LICENSE) | MIT OR CC0-1.0 | Trace decisions, alternatives and consequences near code | Original ADR draft with authority/status, revision, rollback and reconsideration triggers |
|
|
13
|
+
|
|
14
|
+
arc42 creators: Gernot Starke and Peter Hruschka. This reference acknowledges their documentation
|
|
15
|
+
method; it does not claim endorsement or import their licensed template into MIT assets.
|
|
16
|
+
|
|
17
|
+
BMAD main described v7 as preview alpha at review time. The stable v6.12.2 tag was the research baseline;
|
|
18
|
+
no alpha workflow or future release promise is a dependency. PM-Skills refers specifically to phuryn's
|
|
19
|
+
repo and the pinned revision above, not every similarly named marketplace.
|
|
20
|
+
|
|
21
|
+
## Fit and limits
|
|
22
|
+
Harness keeps OpenSpec as the change record and a single manifest-driven instruction distribution.
|
|
23
|
+
Core applies a compact overview/impact check; capabilities add depth when selected. Product Manager
|
|
24
|
+
owns product value; Project Manager owns delivery coordination; role names do not make approvals.
|
|
25
|
+
No workflow engine, upstream prompt bundle, provider credentials or public account data was copied.
|
|
26
|
+
|
|
27
|
+
Research proves source/format availability, not Harness model effectiveness. Behavioral cases remain
|
|
28
|
+
unscored until real host runs and reviewed traces exist. Native host configuration references below
|
|
29
|
+
were checked against official docs; installed-client behavior still requires the smoke procedure in
|
|
30
|
+
[tool setup](../tool-setup/README.md). Recheck sources before changing host discovery recommendations.
|
package/docs/skill-matrix.md
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
# Skill matrix —
|
|
1
|
+
# Skill matrix — 68 skills, 13 nhóm module
|
|
2
2
|
|
|
3
|
-
Đây là bảng tra cứu **ID thật** theo `SKILL.md` trong source trên `main` (5 Core,
|
|
3
|
+
Đây là bảng tra cứu **ID thật** theo `SKILL.md` trong source trên `main` (5 Core, 41 capability, 22 adapter). Dùng khi cần chuyển từ [Full SDLC](end-to-end-workflow.md) tới một skill cụ thể, không nạp toàn bộ 68 skill vào prompt.
|
|
4
4
|
|
|
5
5
|
**Cách dùng:** `aih skills` xem skills đã cài, sau đó `aih skill harness-...` lấy nội dung. Danh mục này mô tả chức năng; **không** có nghĩa `aih` thực thi skills hoặc agent. Tech adapters và capabilities chỉ xuất hiện trong consumer khi được chọn; Core dùng chung.
|
|
6
6
|
|
|
7
7
|
| Stage | Chọn module | Vai trò/output mong đợi |
|
|
8
8
|
| --- | --- | --- |
|
|
9
9
|
| Discovery → Product | `product` | Source register, BRD/PRD, AC, backlog, traceability |
|
|
10
|
+
| Product → Solution | `architecture` | Context, NFR, module/data/contracts, ADR, architecture review |
|
|
11
|
+
| Solution → Delivery | `delivery` | Value slices, dependencies, owned risks and scope-change assessment |
|
|
10
12
|
| UX → Figma | `uiux` | Flows, screen specs, tokens, design review |
|
|
11
13
|
| Spec → Code → Review | Core + adapter theo stack | OpenSpec, tests, changes, review evidence |
|
|
12
14
|
| Release → Operate | `devops`, `kubernetes` khi phù hợp | CI, container, manifests, rollout và SLO plan |
|
|
@@ -22,7 +24,7 @@
|
|
|
22
24
|
| [`harness-spec`](../core/skills/harness-spec/SKILL.md) | Technical design | Soạn OpenSpec proposal/design/tasks/delta specs | OpenSpec change và các quyết định còn thiếu |
|
|
23
25
|
| [`harness-tdd`](../core/skills/harness-tdd/SKILL.md) | Implementation | Red → green → refactor trên slice nhỏ | Code + test evidence |
|
|
24
26
|
|
|
25
|
-
## Product capability (
|
|
27
|
+
## Product capability (15)
|
|
26
28
|
|
|
27
29
|
| Skill ID (nguồn) | Khi nào dùng | Mục đích | Output mong đợi |
|
|
28
30
|
| --- | --- | --- | --- |
|
|
@@ -35,11 +37,12 @@
|
|
|
35
37
|
| [`harness-product-prd-generation`](../capabilities/product/skills/harness-product-prd-generation/SKILL.md) | Product | Soạn PRD với scope, outcome và metrics | `docs/product/prd.md` |
|
|
36
38
|
| [`harness-product-traceability`](../capabilities/product/skills/harness-product-traceability/SKILL.md) | Change impact | Liên kết nguồn → stories → UI → spec | `docs/product/traceability.md` |
|
|
37
39
|
| [`harness-product-user-stories`](../capabilities/product/skills/harness-product-user-stories/SKILL.md) | Backlog | Phân rã epics/stories theo yêu cầu duyệt | `docs/product/backlog.md` |
|
|
38
|
-
|
|
39
40
|
| [`harness-product-idea-discovery`](../capabilities/product/skills/harness-product-idea-discovery/SKILL.md) | Idea-driven | Cùng developer làm rõ ý tưởng, phương án, MVP và quyết định | `docs/discovery/idea.md` |
|
|
40
41
|
| [`harness-product-product-research`](../capabilities/product/skills/harness-product-product-research/SKILL.md) | Research | Tìm và phân loại bằng chứng đáng tin cậy, trade-offs | `docs/discovery/research.md` |
|
|
41
42
|
| [`harness-product-srs-generation`](../capabilities/product/skills/harness-product-srs-generation/SKILL.md) | Software requirements | Đặc tả FR/NFR, giao diện, luồng lỗi có trace ID | `docs/product/srs.md` |
|
|
42
43
|
| [`harness-product-use-case-generation`](../capabilities/product/skills/harness-product-use-case-generation/SKILL.md) | Detailed flows | Viết UC chính/phụ/lỗi liên kết FR/US/AC | `docs/product/use-cases.md` |
|
|
44
|
+
| [`harness-product-mvp-definition`](../capabilities/product/skills/harness-product-mvp-definition/SKILL.md) | MVP scope | Explicit product decisions and traceability | Usable journey, in/out scope and minimum quality |
|
|
45
|
+
| [`harness-product-product-outcomes`](../capabilities/product/skills/harness-product-product-outcomes/SKILL.md) | Success measures | Explicit product decisions and traceability | Evidence-backed metrics and experiments |
|
|
43
46
|
|
|
44
47
|
## Monetization capability (5)
|
|
45
48
|
|
|
@@ -81,17 +84,21 @@
|
|
|
81
84
|
| [`harness-java-spring-kafka-outbox`](../adapters/java-spring/skills/harness-java-spring-kafka-outbox/SKILL.md) | Async events | Outbox transaction và consumer dedupe | Event implementation + failure tests |
|
|
82
85
|
| [`harness-java-spring-spring-api`](../adapters/java-spring/skills/harness-java-spring-spring-api/SKILL.md) | Backend API | Authorization resource scoped, API contract | Endpoint + auth/contract tests |
|
|
83
86
|
|
|
84
|
-
## React / Next.js adapter (
|
|
87
|
+
## React / Next.js adapter (4)
|
|
85
88
|
|
|
86
89
|
| Skill ID (nguồn) | Khi nào dùng | Mục đích | Output mong đợi |
|
|
87
90
|
| --- | --- | --- | --- |
|
|
91
|
+
| [`harness-react-nextjs-feature-delivery`](../adapters/react-nextjs/skills/harness-react-nextjs-feature-delivery/SKILL.md) | Feature implementation | Reuse route/screen, UI/form and API/state boundaries | AC-linked diff/checks, actual results and explicit limits |
|
|
92
|
+
| [`harness-react-nextjs-behavior-testing`](../adapters/react-nextjs/skills/harness-react-nextjs-behavior-testing/SKILL.md) | Behavior testing | Component/integration and actual browser/server evidence | AC-linked tests, actual results and explicit limits |
|
|
88
93
|
| [`harness-react-nextjs-accessible-ui`](../adapters/react-nextjs/skills/harness-react-nextjs-accessible-ui/SKILL.md) | Frontend | UI states và semantic accessibility | UI + accessibility/browser evidence |
|
|
89
94
|
| [`harness-react-nextjs-server-boundaries`](../adapters/react-nextjs/skills/harness-react-nextjs-server-boundaries/SKILL.md) | Frontend security | Server actions, auth/caching boundaries | Server/client diff + auth/cache tests |
|
|
90
95
|
|
|
91
|
-
## React Native adapter (
|
|
96
|
+
## React Native adapter (4)
|
|
92
97
|
|
|
93
98
|
| Skill ID (nguồn) | Khi nào dùng | Mục đích | Output mong đợi |
|
|
94
99
|
| --- | --- | --- | --- |
|
|
100
|
+
| [`harness-react-native-screen-delivery`](../adapters/react-native/skills/harness-react-native-screen-delivery/SKILL.md) | Screen implementation | Reuse route/screen, UI/form and API/state boundaries | AC-linked diff/checks, actual results and explicit limits |
|
|
101
|
+
| [`harness-react-native-behavior-testing`](../adapters/react-native/skills/harness-react-native-behavior-testing/SKILL.md) | Behavior testing | JS/navigation and separate platform/device evidence | AC-linked tests, actual results and blocked native checks |
|
|
95
102
|
| [`harness-react-native-device-permissions`](../adapters/react-native/skills/harness-react-native-device-permissions/SKILL.md) | Mobile | Permissions + deep links theo OS | Permission/nav changes + platform tests |
|
|
96
103
|
| [`harness-react-native-offline-sync`](../adapters/react-native/skills/harness-react-native-offline-sync/SKILL.md) | Mobile | Offline queue, retries, conflict resolution | Persistence/sync + edge-case tests |
|
|
97
104
|
|
|
@@ -132,3 +139,24 @@
|
|
|
132
139
|
- `harness-ai-evaluation` đánh giá **hành vi AI thực tế**; `aih eval` chỉ xuất và tổng hợp report do reviewer điền.
|
|
133
140
|
|
|
134
141
|
Đối chiếu [Agent handoffs](agent-handoffs.md), [adapters](adapters.md) và [full workflow](end-to-end-workflow.md). Khi thêm skill mới, hãy cập nhật một hàng trong bảng; test tài liệu sẽ báo thiếu/trùng.
|
|
142
|
+
|
|
143
|
+
## Architecture capability (6)
|
|
144
|
+
|
|
145
|
+
| Skill ID (nguồn) | Khi nào dùng | Mục đích | Output mong đợi |
|
|
146
|
+
| --- | --- | --- | --- |
|
|
147
|
+
| [`harness-architecture-project-context`](../capabilities/architecture/skills/harness-architecture-project-context/SKILL.md) | project-context | Map verified system context, module ownership and source-linked architecture for new or existing projects. | Project-owned docs/architecture or compact task note |
|
|
148
|
+
| [`harness-architecture-quality-attributes`](../capabilities/architecture/skills/harness-architecture-quality-attributes/SKILL.md) | quality-attributes | Translate NFRs into measurable quality scenarios and verification plans with evidence-backed targets. | Project-owned docs/architecture or compact task note |
|
|
149
|
+
| [`harness-architecture-solution-design`](../capabilities/architecture/skills/harness-architecture-solution-design/SKILL.md) | solution-design | Compare architectures and local design patterns against MVP, NFRs and existing project boundaries. | Project-owned docs/architecture or compact task note |
|
|
150
|
+
| [`harness-architecture-decision-records`](../capabilities/architecture/skills/harness-architecture-decision-records/SKILL.md) | decision-records | Record traceable architecture decisions with alternatives, consequences and reconsideration triggers. | Project-owned docs/architecture or compact task note |
|
|
151
|
+
| [`harness-architecture-change-impact`](../capabilities/architecture/skills/harness-architecture-change-impact/SKILL.md) | change-impact | Assess change impact and architecture drift using a source-linked living project map. | Project-owned docs/architecture or compact task note |
|
|
152
|
+
| [`harness-architecture-review`](../capabilities/architecture/skills/harness-architecture-review/SKILL.md) | review | Review solution and implemented boundaries against MVP, NFRs, ADRs and actual verification evidence. | Project-owned docs/architecture or compact task note |
|
|
153
|
+
|
|
154
|
+
## Delivery capability (3)
|
|
155
|
+
|
|
156
|
+
| Skill ID (nguồn) | Khi nào dùng | Mục đích | Output mong đợi |
|
|
157
|
+
| --- | --- | --- | --- |
|
|
158
|
+
| [`harness-delivery-planning`](../capabilities/delivery/skills/harness-delivery-planning/SKILL.md) | planning | Plan value-bearing delivery slices and dependencies from reviewed scope and team-supplied estimates. | Project-owned docs/delivery or compact task note |
|
|
159
|
+
| [`harness-delivery-risk-management`](../capabilities/delivery/skills/harness-delivery-risk-management/SKILL.md) | risk-management | Maintain owned delivery risks, assumptions, blockers and dependencies with response triggers. | Project-owned docs/delivery or compact task note |
|
|
160
|
+
| [`harness-delivery-scope-change`](../capabilities/delivery/skills/harness-delivery-scope-change/SKILL.md) | scope-change | Evaluate scope changes across product value, architecture, dependencies and delivery before re-planning. | Project-owned docs/delivery or compact task note |
|
|
161
|
+
|
|
162
|
+
Product → Architecture → Delivery → Core/adapter uses [Solution workflow](solution-workflow.md); source revisions, requirement/AC/NFR/ADR IDs and actual decisions travel together. See [host setup](tool-setup/README.md).
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# BA → PO → SA → PM → Dev/QA
|
|
2
|
+
|
|
3
|
+
Product contains BA/PO analysis and documents; optional Architecture adds Solution Architect context,
|
|
4
|
+
NFRs/ADRs/design/review; optional Delivery adds Project Manager planning/risks/scope changes.
|
|
5
|
+
Roles are instructions for a host and can be performed sequentially. User/stakeholder decisions keep
|
|
6
|
+
actual authority. No new workflow engine is installed; OpenSpec owns change proposal/design/tasks/specs.
|
|
7
|
+
|
|
8
|
+
## Choose proportional depth
|
|
9
|
+
| Work | Minimum sufficient context | Optional deeper outputs |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| Small clear fix | Existing source/decisions, affected boundary/reuse and regression note | Only new consequential decisions |
|
|
12
|
+
| New small product | Actor/problem, usable MVP journey/AC, minimum NFR, minimal solution and slices | Short overview and a significant ADR |
|
|
13
|
+
| Material/enterprise change | Source versions, MVP/requirements, module/data/contracts, NFR/failure impact | Project map, ADRs, risk register, rollout plan |
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
aih init --adapters java-spring --capabilities product,architecture,delivery
|
|
17
|
+
aih setup
|
|
18
|
+
aih skills
|
|
19
|
+
aih new-doc mvp
|
|
20
|
+
aih new-doc overview --capability architecture
|
|
21
|
+
aih new-doc nfr --capability architecture
|
|
22
|
+
aih new-doc delivery-plan --capability delivery
|
|
23
|
+
aih new-change customer-search
|
|
24
|
+
aih verify --scope all
|
|
25
|
+
aih eval --scope all
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Blank templates only. Use existing approved BA/Confluence documents instead of re-creating them.
|
|
29
|
+
For an existing Harness install, edit selected capabilities in project.json and use reviewed update
|
|
30
|
+
--dry-run/update/check. `resolve` validates and warns; it does not install soft recommendations.
|
|
31
|
+
|
|
32
|
+
## Responsibilities and handoff
|
|
33
|
+
| Role / module | Owns | Receives / passes |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| BA / Product | Problem, business rules, source authority and requirement gaps | Idea/docs → versioned FR/US/AC/NFR and contradictions |
|
|
36
|
+
| PO / Product | MVP value, in/out scope, acceptance and priorities | BA → reviewed journey, outcomes and actual scope decisions |
|
|
37
|
+
| SA / Architecture | Context, quality scenarios, solution trade-offs, public boundaries | Scope → NFR/ADR/contracts/failure flows and verification |
|
|
38
|
+
| PM / Delivery | Sequencing, dependencies, estimates/risks and status | Accepted scope/design → value slices, owners, blockers and checkpoints |
|
|
39
|
+
| Dev/QA / Core + adapters | Implementation and actual tests | OpenSpec/decisions → minimal code, test evidence and findings |
|
|
40
|
+
| DevOps / optional capability | Operational release/recovery detail | Agreed constraints → reviewed rollout/rollback/telemetry |
|
|
41
|
+
|
|
42
|
+
Carry source revision, requirement/AC/NFR/ADR IDs, output paths, decisions/status, unresolved questions,
|
|
43
|
+
actual verification and next owner. Scope changes return to PO; technical conflicts to SA; delivery
|
|
44
|
+
risks to PM. UX and implementation feedback can revise the plan; this is not a one-way document conveyor.
|
|
45
|
+
|
|
46
|
+
## MVP and architecture judgment
|
|
47
|
+
MVP must let a target actor complete a useful journey. A customer-search MVP can defer bulk import
|
|
48
|
+
but must include resource authorization, data integrity and agreed duplicate behavior.
|
|
49
|
+
Compare architectures on actual constraints; styles may combine. Ports and Adapters concerns boundaries;
|
|
50
|
+
Factory concerns object construction. Add Strategy/Adapter/State only for concrete variation or state
|
|
51
|
+
requirements. Direct code is a valid minimal choice. Do not promise enterprise scale from a diagram.
|
|
52
|
+
|
|
53
|
+
Record important decisions with evidence and owner status, not inferred approval. NFR targets/load,
|
|
54
|
+
cost and delivery estimates remain unknown when evidence is absent. Keep the living project-map
|
|
55
|
+
linked to actual source; refresh touched entries when code/requirements change instead of loading all docs.
|
|
56
|
+
|
|
57
|
+
## Templates and reading paths
|
|
58
|
+
- [Product handoff](../capabilities/product/workflows/product-to-solution.md): MVP/outcomes, existing BA skills.
|
|
59
|
+
- [Architecture entry](../capabilities/architecture/workflows/discovery-to-design.md), [change review](../capabilities/architecture/workflows/change-review.md).
|
|
60
|
+
- [Delivery planning](../capabilities/delivery/workflows/planning.md), [execution/change](../capabilities/delivery/workflows/execution-change.md).
|
|
61
|
+
- [Core framing](../core/workflows/solution-framing.md), [skill matrix](skill-matrix.md), [agent handoffs](agent-handoffs.md).
|
|
62
|
+
- [Research/provenance](research/solution-workflow-sources.md), [coding tool setup](tool-setup/README.md).
|
|
63
|
+
|
|
64
|
+
`aih new-doc adr --capability architecture` produces one draft; move the populated file to a stable
|
|
65
|
+
project-owned `docs/architecture/decisions/adr-NNN.md` path and link it before making the next ADR.
|
|
66
|
+
`aih new-doc delivery-plan` keeps its historical Product path; explicitly select Delivery for the richer
|
|
67
|
+
plan. Do not duplicate/migrate an accepted plan automatically.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Harness change impact
|
|
2
|
+
|
|
3
|
+
Maintainer-only template. Copy into the active OpenSpec design/change or use the table in a small PR.
|
|
4
|
+
Do not install this as a mandatory consumer application template.
|
|
5
|
+
|
|
6
|
+
- Change / objective: record the actual request and scope.
|
|
7
|
+
- Base commit / affected modules: record verified values.
|
|
8
|
+
- Decision sources: link existing decisions; list consequential unresolved questions.
|
|
9
|
+
|
|
10
|
+
Use `pending`, `done`, or `not-applicable`. Every row needs paths/evidence or a specific reason.
|
|
11
|
+
Keep pending work visible; no blanket not-applicable statement for the whole change.
|
|
12
|
+
|
|
13
|
+
| Area | Status | Affected paths and evidence / reason not applicable |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| core | pending | Assess rule, entry point, policy and related behavior |
|
|
16
|
+
| adapter | pending | Assess registry, manifest, index, assets and module version |
|
|
17
|
+
| capability-skill | pending | Assess declaration, exposure, workflow and handoff |
|
|
18
|
+
| cli-config | pending | Assess schema, ownership, install/update and package contents |
|
|
19
|
+
| workflow | pending | Assess inputs, outputs, gates and receiving stage |
|
|
20
|
+
| documentation | pending | Assess usage guides, examples and links |
|
|
21
|
+
| verification | pending | Record actual commands/results; separate manual/live-agent evidence |
|
|
22
|
+
| release-migration | pending | Assess Unreleased notes, compatibility, rollback and version ownership |
|
|
23
|
+
|
|
24
|
+
## Link chain
|
|
25
|
+
Record declaration → distribution → discovery → use → review/check → documentation for affected
|
|
26
|
+
behavior. Explain any stage that does not apply. For a removal/rename, list old references reconciled.
|
|
27
|
+
|
|
28
|
+
## Validation and remaining work
|
|
29
|
+
Record commands actually run, outcomes, skipped checks with reasons, pending items and next owner.
|
|
30
|
+
Do not claim model compliance from file/link tests. Keep shared instructions in their canonical docs.
|