@ngockhoale/ukit 1.5.0 → 1.5.2
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 +24 -0
- package/README.md +3 -5
- package/manifests/platform.full.yaml +25 -22
- package/package.json +1 -1
- package/src/cli/adapters.js +4 -0
- package/src/cli/commands/doctor.js +2 -4
- package/src/cli/commands/install.js +3 -3
- package/src/cli/commands/uninstall.js +1 -1
- package/src/core/applyPlan.js +49 -8
- package/src/core/ensureGitignore.js +0 -2
- package/src/core/runtimeConfig.js +1 -1
- package/src/index/taskRouting.js +23 -2
- package/src/manifest/selectItems.js +2 -0
- package/templates/.claude/agents/ukit-small-task-maintainer.md +1 -1
- package/templates/.claude/skills/next-step/SKILL.md +6 -5
- package/templates/.claude/ukit/index/post-edit-verify.mjs +11 -3
- package/templates/.claude/ukit/index/route-task.mjs +20 -2
- package/templates/.codex/README.md +111 -39
- package/templates/AGENTS.md +56 -17
- package/templates/CLAUDE.md +41 -15
- package/templates/adapter-presets/opencode/opencode.template.json +1 -1
- package/templates/docs/AI_HANDOFF.md +118 -0
- package/templates/docs/INSTALL.md +2 -4
- package/templates/docs/PROJECT.md +5 -6
- package/templates/docs/UKIT_USAGE_GUIDE.md +3 -4
- package/templates/ukit/storage/config.json +1 -1
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# AI Handoff — {{project.name}}
|
|
2
|
+
|
|
3
|
+
Dùng file này làm active handoff duy nhất cho project.
|
|
4
|
+
Source code và test vẫn là sự thật cuối cùng.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Current Cycle Snapshot
|
|
9
|
+
|
|
10
|
+
- Handoff status: `draft | ready_for_planning | ready_for_breakdown | ready_for_implementation | blocked | ready_for_next_cycle | done`
|
|
11
|
+
- Current phase: `planning | breakdown | implementation | verification | wrap_up | cleared`
|
|
12
|
+
- Updated at:
|
|
13
|
+
- Updated by AI:
|
|
14
|
+
- Human decision needed: `yes | no`
|
|
15
|
+
- Human decision summary:
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 2. Handoff Rules
|
|
20
|
+
|
|
21
|
+
### How human should submit ideas
|
|
22
|
+
- Có thể nói tự nhiên: `ukit:handoff`, `đưa vào handoff`, `gom các ý tưởng này thành task`, `chia việc cho AI làm tiếp`.
|
|
23
|
+
- Nếu request đã là task cụ thể, rõ file/logic/đầu ra hoặc đủ nhỏ để làm ngay, bypass handoff và thực hiện trực tiếp.
|
|
24
|
+
- Nếu request là ý tưởng rộng, nhiều tính năng, cải tiến mơ hồ, brainstorming, nhiều plan/task, hoặc cần chia cho AI kế tiếp, dùng handoff.
|
|
25
|
+
|
|
26
|
+
### Default handoff flow
|
|
27
|
+
1. Capture ideas/request.
|
|
28
|
+
2. Write a concrete plan.
|
|
29
|
+
3. Split the plan into ordered tasks.
|
|
30
|
+
4. Add target files, verification, dependencies, acceptance criteria, and stop conditions.
|
|
31
|
+
5. Resolve `ready` tasks in order.
|
|
32
|
+
6. Update this file with results.
|
|
33
|
+
7. Clear active handoff by keeping summary + carry-forward backlog only.
|
|
34
|
+
|
|
35
|
+
### Fast-AI task gate
|
|
36
|
+
Một task chỉ được là `ready` khi có:
|
|
37
|
+
- target file/folder rõ;
|
|
38
|
+
- action cụ thể;
|
|
39
|
+
- dependency/blocker rõ;
|
|
40
|
+
- verification rõ;
|
|
41
|
+
- acceptance criteria rõ;
|
|
42
|
+
- stop condition rõ;
|
|
43
|
+
- không cần đoán product decision.
|
|
44
|
+
|
|
45
|
+
Nếu thiếu, để `needs_breakdown`, `blocked`, hoặc `needs_human`.
|
|
46
|
+
|
|
47
|
+
### Clear rule
|
|
48
|
+
- `clear handoff` không bao giờ là wipe mù.
|
|
49
|
+
- Trước khi clear, AI phải resolve hoặc triage task còn lại.
|
|
50
|
+
- Completed work thành summary ngắn.
|
|
51
|
+
- Unfinished work thành carry-forward backlog ngắn.
|
|
52
|
+
- Sau clear, file phải ngắn, sẵn sàng cho cycle tiếp theo.
|
|
53
|
+
|
|
54
|
+
### Docs sync rule
|
|
55
|
+
- Handoff không thay thế docs.
|
|
56
|
+
- Sau khi xong cycle, update các file docs trực tiếp bị ảnh hưởng như `docs/WORKLOG.md`, `docs/PROJECT.md`, `docs/CODE_MAP.md`, `CHANGELOG.md` nếu có liên quan.
|
|
57
|
+
- Không cần update toàn bộ `docs/` nếu không bị ảnh hưởng.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 3. Completed Cycle Summary
|
|
62
|
+
|
|
63
|
+
### Cycle summary
|
|
64
|
+
- completed:
|
|
65
|
+
- verification:
|
|
66
|
+
- important decisions:
|
|
67
|
+
- carry-forward needed:
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 4. Carry-Forward Backlog
|
|
72
|
+
|
|
73
|
+
### TASK-001
|
|
74
|
+
- Title:
|
|
75
|
+
- Priority: `P0-now | P1-next | P2-later | blocked | needs_human`
|
|
76
|
+
- Size: `S | M | L`
|
|
77
|
+
- AI capability: `fast_ai_ok | needs_smart_ai | needs_human`
|
|
78
|
+
- Goal:
|
|
79
|
+
- Target files:
|
|
80
|
+
- Dependencies:
|
|
81
|
+
- Must do:
|
|
82
|
+
- Must not do:
|
|
83
|
+
- Acceptance criteria:
|
|
84
|
+
- Verification:
|
|
85
|
+
- Stop condition:
|
|
86
|
+
- Status: `ready | blocked | in_progress | done | needs_breakdown | needs_human`
|
|
87
|
+
- Owner AI:
|
|
88
|
+
|
|
89
|
+
### TASK-002
|
|
90
|
+
- Title:
|
|
91
|
+
- Priority: `P0-now | P1-next | P2-later | blocked | needs_human`
|
|
92
|
+
- Size: `S | M | L`
|
|
93
|
+
- AI capability: `fast_ai_ok | needs_smart_ai | needs_human`
|
|
94
|
+
- Goal:
|
|
95
|
+
- Target files:
|
|
96
|
+
- Dependencies:
|
|
97
|
+
- Must do:
|
|
98
|
+
- Must not do:
|
|
99
|
+
- Acceptance criteria:
|
|
100
|
+
- Verification:
|
|
101
|
+
- Stop condition:
|
|
102
|
+
- Status: `ready | blocked | in_progress | done | needs_breakdown | needs_human`
|
|
103
|
+
- Owner AI:
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 5. Decisions Made By Human
|
|
108
|
+
|
|
109
|
+
-
|
|
110
|
+
-
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 6. Do Not Lose This Context
|
|
115
|
+
|
|
116
|
+
-
|
|
117
|
+
-
|
|
118
|
+
-
|
|
@@ -47,8 +47,7 @@ End users do not need to manage any of that manually.
|
|
|
47
47
|
Complete these files before first serious use:
|
|
48
48
|
- `docs/PROJECT.md`
|
|
49
49
|
- `docs/MEMORY.md`
|
|
50
|
-
- `docs/
|
|
51
|
-
- `docs/TASKS.md`
|
|
50
|
+
- `docs/AI_HANDOFF.md`
|
|
52
51
|
- `docs/WORKLOG.md`
|
|
53
52
|
|
|
54
53
|
### 4) Open your AI tool
|
|
@@ -98,8 +97,7 @@ ukit install
|
|
|
98
97
|
Check that the docs baseline files exist and are filled in:
|
|
99
98
|
- `docs/PROJECT.md`
|
|
100
99
|
- `docs/MEMORY.md`
|
|
101
|
-
- `docs/
|
|
102
|
-
- `docs/TASKS.md`
|
|
100
|
+
- `docs/AI_HANDOFF.md`
|
|
103
101
|
- `docs/WORKLOG.md`
|
|
104
102
|
|
|
105
103
|
---
|
|
@@ -44,9 +44,8 @@
|
|
|
44
44
|
|
|
45
45
|
1. Run `ukit memory recall "<current task>"` for non-trivial work; reuse relevant `## Previous Context` before asking the user to restate prior decisions
|
|
46
46
|
2. Read `docs/MEMORY.md` — architecture decisions, active constraints, known bugs
|
|
47
|
-
3. Read `docs/
|
|
48
|
-
4. Read `docs/
|
|
49
|
-
5.
|
|
50
|
-
6.
|
|
51
|
-
7.
|
|
52
|
-
8. Verify understanding against source before acting — **docs orient, source is truth; keep the index-first workflow intact**
|
|
47
|
+
3. Read `docs/AI_HANDOFF.md` when continuing cross-AI planning, task breakdown, or task implementation handoff work
|
|
48
|
+
4. Read `docs/CODE_MAP.md` if it exists — structural navigation index
|
|
49
|
+
5. Use the installed source-code index / routed helpers to localize the smallest relevant file + test set first
|
|
50
|
+
6. Scan recent `docs/WORKLOG.md` entries if continuing prior work
|
|
51
|
+
7. Verify understanding against source before acting — **docs orient, source is truth; keep the index-first workflow intact**
|
|
@@ -138,11 +138,10 @@ Project đang ở đâu, làm gì tiếp?
|
|
|
138
138
|
|
|
139
139
|
Expected UKit behavior:
|
|
140
140
|
1. auto-load the hidden next-step lane
|
|
141
|
-
2. read `docs/
|
|
142
|
-
3.
|
|
141
|
+
2. read `docs/AI_HANDOFF.md` when the team is passing planning, task breakdown, or implementation context between AIs
|
|
142
|
+
3. verify the handoff against source/index before treating it as authoritative
|
|
143
143
|
4. suggest only a few actionable next candidates
|
|
144
|
-
5. if
|
|
145
|
-
6. if the prompt names a concrete bug/feature/review target, keep the concrete workflow primary instead of producing a global roadmap
|
|
144
|
+
5. if the prompt names a concrete bug/feature/review target, keep the concrete workflow primary instead of producing a global roadmap
|
|
146
145
|
|
|
147
146
|
---
|
|
148
147
|
|