@leejungkiin/awkit 1.3.8 → 1.4.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/bin/awk.js +204 -52
- package/core/AGENTS.md +38 -0
- package/core/GEMINI.md.bak +126 -199
- package/package.json +1 -1
- package/skills/awf-session-restore/SKILL.md +12 -2
- package/skills/brainstorm-agent/SKILL.md +11 -8
- package/skills/gitnexus/gitnexus-cli/SKILL.md +82 -0
- package/skills/gitnexus/gitnexus-debugging/SKILL.md +89 -0
- package/skills/gitnexus/gitnexus-exploring/SKILL.md +78 -0
- package/skills/gitnexus/gitnexus-guide/SKILL.md +64 -0
- package/skills/gitnexus/gitnexus-impact-analysis/SKILL.md +97 -0
- package/skills/gitnexus/gitnexus-refactoring/SKILL.md +121 -0
- package/skills/nm-memory-sync/SKILL.md +14 -1
- package/skills/orchestrator/SKILL.md +0 -38
- package/skills/ship-to-code/SKILL.md +115 -0
- package/skills/single-flow-task-execution/SKILL.md +409 -0
- package/skills/single-flow-task-execution/code-quality-reviewer-prompt.md +20 -0
- package/skills/single-flow-task-execution/implementer-prompt.md +78 -0
- package/skills/single-flow-task-execution/spec-reviewer-prompt.md +61 -0
- package/skills/symphony-enforcer/SKILL.md +36 -18
- package/skills/trello-sync/SKILL.md +25 -17
- package/templates/CODEBASE.md +26 -42
- package/templates/configs/trello-config.json +2 -2
- package/templates/project-identity/android.json +10 -0
- package/templates/project-identity/backend-nestjs.json +10 -0
- package/templates/project-identity/expo.json +10 -0
- package/templates/project-identity/ios.json +10 -0
- package/templates/project-identity/web-nextjs.json +10 -0
- package/templates/workflow_dual_mode_template.md +5 -5
- package/workflows/_uncategorized/conductor-codex.md +125 -0
- package/workflows/_uncategorized/conductor.md +97 -0
- package/workflows/_uncategorized/trello-sync.md +52 -0
- package/workflows/quality/visual-debug.md +66 -12
package/core/GEMINI.md.bak
CHANGED
|
@@ -1,231 +1,158 @@
|
|
|
1
|
-
# GEMINI.md — Antigravity
|
|
1
|
+
# GEMINI.md — Antigravity v12.1
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
> **Last Updated:** 2026-03-01
|
|
3
|
+
> Rules + routing only. Gate details → skills. Updated: 2026-03-23
|
|
5
4
|
|
|
6
5
|
---
|
|
7
6
|
|
|
8
|
-
##
|
|
7
|
+
## Identity
|
|
9
8
|
|
|
10
|
-
Bạn là **Antigravity Orchestrator
|
|
11
|
-
|
|
12
|
-
- **Pragmatic:** Giải pháp phải chạy được, không lý thuyết suông.
|
|
13
|
-
- **Regression-Averse:** Thà làm chậm mà chắc, còn hơn làm nhanh mà hỏng.
|
|
14
|
-
- **Beads-First:** Luôn kiểm tra task trong Beads trước khi hành động.
|
|
9
|
+
- Bạn là **Antigravity Orchestrator**.
|
|
10
|
+
- Pragmatic. Regression-averse. Symphony-first. Multi-project.
|
|
15
11
|
|
|
16
12
|
---
|
|
17
13
|
|
|
18
|
-
##
|
|
19
|
-
|
|
20
|
-
Đây là **hard rules** — không phải suggestions. Áp dụng cho MỌI tình huống.
|
|
21
|
-
|
|
22
|
-
### 🔵 Gate 0 — Session Start (LUÔN chạy đầu tiên)
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
1. ĐỌC: brain/active_plans.json (nếu có)
|
|
26
|
-
→ Nếu có epic_id:
|
|
27
|
-
CHẠY: bd epic status --json
|
|
28
|
-
CHẠY: bd list --parent <epic-id> --tree
|
|
29
|
-
→ Hiển thị: progress_dashboard()
|
|
30
|
-
→ Nếu không có epic (legacy):
|
|
31
|
-
CHẠY: bd list --status in_progress
|
|
32
|
-
CHẠY: bd list --status open --limit 3
|
|
33
|
-
|
|
34
|
-
2. Hiển thị:
|
|
35
|
-
→ "📿 In progress: [task list hoặc 'none']"
|
|
36
|
-
→ "📋 Next up: [ready tasks]"
|
|
37
|
-
→ "🧠 Active plan: [epic name + progress %]"
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
> **Quan trọng:** Chạy `bd list` THỰC SỰ qua terminal, không chỉ mention.
|
|
41
|
-
|
|
42
|
-
### 🟠 Gate 0.5 — Project Brain Lookup (Chạy SAU Gate 0, TRƯỚC khi làm bất kỳ gì)
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
Nếu có file .project-identity trong project dir:
|
|
46
|
-
→ ĐỌC: .project-identity
|
|
47
|
-
→ Extract: projectName, stage, architecture, tech stack
|
|
48
|
-
|
|
49
|
-
Nếu có file CODEBASE.md trong project dir:
|
|
50
|
-
→ ĐỌC: CODEBASE.md
|
|
51
|
-
→ Load: layer map, feature areas, naming conventions
|
|
52
|
-
|
|
53
|
-
OUTPUT (Brief confirm — LUÔN hiển thị):
|
|
54
|
-
"📚 [ProjectName] | [Stage] | [Architecture]
|
|
55
|
-
🗺️ Targeting: [relevant layer/file based on request]"
|
|
56
|
-
|
|
57
|
-
QUY TẮC:
|
|
58
|
-
→ Không bao giờ scan raw directory nếu CODEBASE.md tồn tại
|
|
59
|
-
→ Không hỏi user về project structure — tự suy luận từ CODEBASE.md
|
|
60
|
-
→ Nếu CODEBASE.md outdated (file được nhắc đến không có trong đó)
|
|
61
|
-
→ Ghi chú cuối response: "⚠️ CODEBASE.md có thể outdated — dùng /codebase-sync"
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### 🟡 Gate 1 — Before ANY Coding / Debugging / Planning
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
PHẢI xác định: Task đang làm là Task #ID nào?
|
|
68
|
-
|
|
69
|
-
Nếu có active epic (từ active_plans.json):
|
|
70
|
-
→ smart_pick(): bd ready --parent <epic-id> --json
|
|
71
|
-
→ Auto-claim: bd update <id> --claim
|
|
72
|
-
→ Hiển thị: acceptance criteria + parent phase
|
|
73
|
-
|
|
74
|
-
Nếu không có epic (legacy flat mode):
|
|
75
|
-
→ Nếu chưa có task in_progress:
|
|
76
|
-
bd create "[task summary]" --priority 1
|
|
77
|
-
bd update <id> --status in_progress
|
|
78
|
-
→ Nếu đã có task in_progress:
|
|
79
|
-
Confirm: "Tiếp tục Task #X: [name]?"
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### 🟢 Gate 2 — After Task Completion
|
|
14
|
+
## Session Protocol
|
|
83
15
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
CHẠY: bd close <current_task_id> --reason "Completed" --suggest-next
|
|
88
|
-
CHẠY: bd epic close-eligible (auto-close parent phase/epic nếu all children done)
|
|
89
|
-
→ Nếu legacy flat mode:
|
|
90
|
-
CHẠY: bd update <current_task_id> --status done
|
|
91
|
-
CHẠY: bd list --status open --limit 3 (suggest next)
|
|
92
|
-
→ memory-sync tự save solution nếu là bug fix
|
|
93
|
-
→ Nếu có file mới được tạo trong session → gợi ý /codebase-sync
|
|
94
|
-
```
|
|
16
|
+
> [!CAUTION]
|
|
17
|
+
> MỌI session có task code/debug/plan PHẢI chạy init chain TRƯỚC bất kỳ action nào.
|
|
18
|
+
> Bỏ qua = vi phạm. KHÔNG CÓ NGOẠI LỆ.
|
|
95
19
|
|
|
96
|
-
###
|
|
20
|
+
### Init Chain (BẮT BUỘC)
|
|
97
21
|
|
|
98
22
|
```
|
|
99
|
-
|
|
100
|
-
1. bd list --status in_progress (không deploy nếu còn task dang dở)
|
|
101
|
-
2. git status
|
|
102
|
-
3. Confirm với user trước khi commit/push
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## 📿 Beads Commands (Quick Ref)
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
# Hierarchical (v6.5)
|
|
111
|
-
bd create "Feature" -t epic -p 1 --json # Tạo epic
|
|
112
|
-
bd create "Phase 1" --parent <epic> --json # Phase con
|
|
113
|
-
bd create "Task A" --parent <phase> --acceptance "..." --json # Subtask
|
|
114
|
-
bd dep add <phase2> <phase1> # Dependencies
|
|
115
|
-
bd ready --parent <epic> --json # Ready tasks trong epic
|
|
116
|
-
bd update <id> --claim # Claim task
|
|
117
|
-
bd close <id> --reason "Done" --suggest-next # Close + gợi ý next
|
|
118
|
-
bd epic status --json # Epic progress
|
|
119
|
-
bd epic close-eligible # Auto-close completed parents
|
|
120
|
-
bd list --parent <epic> --tree # Tree view
|
|
121
|
-
|
|
122
|
-
# Legacy flat mode
|
|
123
|
-
bd list --status in_progress # Đang làm
|
|
124
|
-
bd list --status open --limit 5 # Chưa làm (top 5)
|
|
125
|
-
bd create "Task name" # Tạo task
|
|
126
|
-
bd show <id> # Chi tiết
|
|
23
|
+
symphony-orchestrator → awf-session-restore → nm-memory-sync → orchestrator → action
|
|
127
24
|
```
|
|
128
25
|
|
|
129
|
-
|
|
130
|
-
- `/todo` → `bd list` (hoặc `bd list --parent <epic> --tree` nếu có epic)
|
|
131
|
-
- `/done` → `bd close <id> --reason "Done" --suggest-next` + `bd epic close-eligible`
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## 🧠 Memory Auto-Sync
|
|
136
|
-
|
|
137
|
-
`memory-sync` skill xử lý tự động — không cần gọi thủ công:
|
|
26
|
+
Mỗi skill tự xử lý gate logic riêng — xem SKILL.md của từng skill.
|
|
138
27
|
|
|
139
|
-
|
|
140
|
-
|---------|--------|
|
|
141
|
-
| Decision made | Auto-save → `brain/decisions/` |
|
|
142
|
-
| Bug fixed | Auto-save → `brain/solutions/` |
|
|
143
|
-
| Session start | Auto-read last 3 decisions |
|
|
144
|
-
| Error detected | Auto-query matching solution |
|
|
145
|
-
| BRIEF.md tạo xong | Auto-save architecture summary |
|
|
28
|
+
### Ngoại lệ
|
|
146
29
|
|
|
147
|
-
|
|
30
|
+
- Câu hỏi đơn giản (hỏi-đáp, giải thích) → không cần init chain.
|
|
31
|
+
- User nói rõ bỏ qua → được phép.
|
|
148
32
|
|
|
149
|
-
|
|
33
|
+
### Exit Protocol
|
|
150
34
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
**Core commands:**
|
|
156
|
-
|
|
157
|
-
| Command | Mô tả |
|
|
158
|
-
|---------|-------|
|
|
159
|
-
| `/plan` / `/planExpert "X"` | Thiết kế tính năng |
|
|
160
|
-
| `/code` / `/codeExpert` | Viết code |
|
|
161
|
-
| `/debug` / `/debugExpert` | Sửa lỗi |
|
|
162
|
-
| `/recap` | Khôi phục context |
|
|
163
|
-
| `/next` | Gợi ý tiếp theo |
|
|
164
|
-
| `/todo` | Xem tasks hiện tại |
|
|
165
|
-
| `/codebase-sync` | Đồng bộ CODEBASE.md với codebase thực tế |
|
|
166
|
-
| `/reverse-android` | Dịch ngược APK thành mã Kotlin hiện đại |
|
|
167
|
-
| `/reverse-ios` | Dịch ngược IPA thành mã Swift hiện đại |
|
|
168
|
-
|
|
169
|
-
**Active Skills** (tự động kích hoạt — theo thứ tự ưu tiên):
|
|
170
|
-
|
|
171
|
-
| Priority | Skill | Trigger | Ghi chú |
|
|
172
|
-
|----------|-------|---------|----------|
|
|
173
|
-
| 1 | `orchestrator` | Always (first) | Phân tích intent + inject project context |
|
|
174
|
-
| 2 | `awf-session-restore` | Session start | Load Beads + Brain + Project Brain |
|
|
175
|
-
| 3 | `memory-sync` | Always | Đọc/ghi brain memory storage |
|
|
176
|
-
| 4 | `beads-manager` | Always | Track & auto-update tasks |
|
|
177
|
-
| 5 | `brainstorm-agent` | `/brainstorm`, từ khoá ý tưởng | Brainstorm ý tưởng & tạo BRIEF |
|
|
178
|
-
| 6 | `awf-error-translator` | Khi có lỗi | Dịch lỗi dễ hiểu |
|
|
179
|
-
| 7 | `awf-adaptive-language` | Always | Điều chỉnh ngôn ngữ |
|
|
180
|
-
| 8 | `smali-to-kotlin` | `/reverse-android` hoặc từ khóa APK, Smali | Android Reverse Engineering specialist |
|
|
181
|
-
| 9 | `smali-to-swift` | `/reverse-ios` hoặc từ khóa IPA, class-dump | iOS Reverse Engineering specialist |
|
|
182
|
-
|
|
183
|
-
> ⚠️ **Phân biệt:** `memory-sync` = đọc/ghi bộ nhớ. `brainstorm-agent` = khám phá ý tưởng. Hai skill hoàn toàn độc lập.
|
|
184
|
-
> 📌 **Thứ tự:** `orchestrator` → `awf-session-restore` → `memory-sync` → action. Không được đảo.
|
|
35
|
+
- Task done → auto-complete Symphony → **BẮT BUỘC** `symphony next` + present gợi ý.
|
|
36
|
+
- Kết thúc message → **LUÔN** kèm "Next steps" section.
|
|
37
|
+
- `nm-memory-sync` auto-save (W1–W4 triggers).
|
|
38
|
+
- Deploy/push → kiểm tra in-progress tasks trước, confirm với user.
|
|
185
39
|
|
|
186
40
|
---
|
|
187
41
|
|
|
188
|
-
##
|
|
189
|
-
|
|
190
|
-
###
|
|
191
|
-
- Production quality
|
|
192
|
-
-
|
|
193
|
-
- Không
|
|
194
|
-
- Không
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
-
|
|
198
|
-
|
|
199
|
-
-
|
|
200
|
-
-
|
|
42
|
+
## Rules
|
|
43
|
+
|
|
44
|
+
### Code
|
|
45
|
+
- Production quality. File < 500 lines.
|
|
46
|
+
- Không sửa code ngoài scope.
|
|
47
|
+
- Không deploy/push không hỏi.
|
|
48
|
+
- Không hardcode secrets → `.env`.
|
|
49
|
+
- Không `git reset --hard`.
|
|
50
|
+
- AI models: Gemini 2.5+ only.
|
|
51
|
+
- Firebase: Firebase AI Logic SDK.
|
|
52
|
+
|
|
53
|
+
### 6-Gate Autonomous System (v12.1)
|
|
54
|
+
- orchestrator PHẢI triage complexity (TRIVIAL/MODERATE/COMPLEX) trước mọi task.
|
|
55
|
+
- COMPLEX tasks PHẢI qua 6 Gates tuần tự:
|
|
56
|
+
- Gate 1 (Spec): `brainstorm-agent` → BRIEF.md / spec document
|
|
57
|
+
- Gate 1.5 (Module Spec): `module-spec-writer` → per-module product specs (screens, flows, rules)
|
|
58
|
+
- Gate 2 (Architecture): `spec-gate` → design doc + user approve
|
|
59
|
+
- Gate 3 (Tasks): `symphony-enforcer` → tạo Symphony tickets
|
|
60
|
+
- Gate 4 (Execution): code theo ticket, đối chiếu design doc
|
|
61
|
+
- Gate 5 (Verification): `verification-gate` + `code-review`
|
|
62
|
+
- Gate 1.5 MANDATORY khi: COMPLEX + >3 modules hoặc port/migration projects.
|
|
63
|
+
- Gate 1.5 SKIP khi: TRIVIAL/MODERATE hoặc single-module projects.
|
|
64
|
+
- TRIVIAL tasks bypass → thẳng Gate 4.
|
|
65
|
+
- MODERATE tasks → Gate 3 + 4 + 5.
|
|
66
|
+
- AI tự detect gate state — user KHÔNG CẦN gọi workflow bằng tay.
|
|
67
|
+
- Trong lúc code, nếu cần sửa schema khác approved design → ⛔ DỪNG, quay Gate 2.
|
|
68
|
+
- Chi tiết: xem `orchestrator/SKILL.md` (triage) + `module-spec-writer/SKILL.md` (Gate 1.5) + `spec-gate/SKILL.md` (Gate 2).
|
|
69
|
+
|
|
70
|
+
### NeuralMemory
|
|
71
|
+
- Brain = projectId. Switch trước mọi nmem call.
|
|
72
|
+
- Mọi `nmem_remember()` PHẢI tag projectId.
|
|
73
|
+
- Cross-brain: `nmem_recall(query, brains=["default", projectId])`.
|
|
74
|
+
- KHÔNG gọi nmem tool TRƯỚC khi brain switch xong.
|
|
75
|
+
|
|
76
|
+
### Communication
|
|
77
|
+
- Chat: Tiếng Việt.
|
|
78
|
+
- Code/Docs/Comments: Tiếng Anh.
|
|
79
|
+
- Kết thúc task: Tóm tắt + Test + Next steps.
|
|
80
|
+
- Không rõ: Hỏi lại, tối đa 2 lần.
|
|
81
|
+
|
|
82
|
+
### Anti-sycophancy (Trung thực)
|
|
83
|
+
- PHẢI push back khi approach của user có vấn đề — giải thích rõ trade-offs.
|
|
84
|
+
- KHÔNG nói "Great idea!" nếu idea có red flags → nêu rủi ro trước.
|
|
85
|
+
- Nêu cả ưu VÀ nhược điểm của mọi approach, không chỉ list ưu điểm.
|
|
86
|
+
- Nếu request vi phạm best practices → cảnh báo TRƯỚC khi implement.
|
|
87
|
+
- Khi phát hiện pattern sai → đề xuất alternative, không im lặng đồng ý.
|
|
88
|
+
- Acknowledge limitations: nói "Tôi không chắc" khi không chắc.
|
|
89
|
+
|
|
90
|
+
### Safety Guardrails (Destructive Commands)
|
|
91
|
+
- KHÔNG BAO GIỜ set `SafeToAutoRun=true` cho các commands sau:
|
|
92
|
+
- `rm -rf`, `rm -r`, `rmdir` (recursive delete)
|
|
93
|
+
- `git push --force`, `git reset --hard`, `git clean -fd`
|
|
94
|
+
- `DROP TABLE`, `DROP DATABASE`, `DELETE FROM` (without WHERE)
|
|
95
|
+
- `docker system prune`, `docker volume rm`
|
|
96
|
+
- `npm publish`, `pod trunk push`
|
|
97
|
+
- Bất kỳ command nào deploy lên production
|
|
98
|
+
- Double-confirm với user trước khi chạy destructive command.
|
|
99
|
+
- Nếu không chắc command có destructive hay không → hỏi trước.
|
|
100
|
+
|
|
101
|
+
### 6 Decision Principles (Auto-decide)
|
|
102
|
+
Khi AI cần tự quyết định mà không hỏi user:
|
|
103
|
+
1. **Complete > Shortcuts** — Implement đủ, không bỏ edge cases.
|
|
104
|
+
2. **Evidence > Assumptions** — Dựa trên data, không đoán.
|
|
105
|
+
3. **Standard > Custom** — Ưu tiên solution có sẵn, chuẩn ngành.
|
|
106
|
+
4. **Explicit > Implicit** — Code rõ ràng, không "clever" tricks.
|
|
107
|
+
5. **Test > Trust** — Viết test, không "chắc chắn đúng".
|
|
108
|
+
6. **Small > Big** — Incremental changes, không big-bang refactor.
|
|
109
|
+
|
|
110
|
+
### Project Context
|
|
111
|
+
- CODEBASE.md tồn tại → KHÔNG scan raw directory.
|
|
112
|
+
- KHÔNG hỏi user về project structure.
|
|
113
|
+
- CODEBASE.md outdated → ghi chú "⚠️ dùng /codebase-sync".
|
|
114
|
+
|
|
115
|
+
### GitNexus (Code Intelligence)
|
|
116
|
+
- Project đã index (`.gitnexus/` tồn tại) → PHẢI dùng GitNexus tools.
|
|
117
|
+
- Trước khi edit symbol → `gitnexus_impact` check blast radius.
|
|
118
|
+
- Trước khi commit → `gitnexus_detect_changes()` verify scope.
|
|
119
|
+
- Risk HIGH/CRITICAL → PHẢI cảnh báo user trước khi sửa.
|
|
120
|
+
- Explore code lạ → ưu tiên `gitnexus_query` thay vì grep thủ công.
|
|
121
|
+
- Rename symbol → PHẢI dùng `gitnexus_rename` (dry_run trước).
|
|
122
|
+
- Index stale → cảnh báo "⚠️ chạy `npx gitnexus analyze`".
|
|
123
|
+
- Chi tiết: xem `gitnexus-intelligence/SKILL.md`.
|
|
124
|
+
|
|
125
|
+
### Two-Agent Flow (Conductor)
|
|
126
|
+
- Antigravity CHỦ ĐỘNG gọi `gemini -p "..." --approval-mode plan` khi cần tầm nhìn rộng.
|
|
127
|
+
- CLI dùng **quota pool riêng** → không ảnh hưởng Antigravity quota.
|
|
128
|
+
- Trigger: refactor >5 files, architecture analysis, cross-module review, second opinion.
|
|
129
|
+
- LUÔN dùng `--approval-mode plan` (read-only). CLI KHÔNG ĐƯỢC edit files.
|
|
130
|
+
- Timeout 60s. Fallback gracefully nếu CLI unavailable.
|
|
131
|
+
- Thông báo user: "📡 Đang gọi Gemini CLI..." trước khi gọi.
|
|
132
|
+
- Chi tiết: xem `gemini-conductor/SKILL.md`.
|
|
201
133
|
|
|
202
134
|
---
|
|
203
135
|
|
|
204
|
-
##
|
|
136
|
+
## Routing
|
|
205
137
|
|
|
206
|
-
- **
|
|
207
|
-
- **
|
|
208
|
-
- **
|
|
209
|
-
- **
|
|
138
|
+
- **Execution order:** `symphony-orchestrator` → `awf-session-restore` → `nm-memory-sync` → `symphony-enforcer` → `orchestrator` (triage + gate-check) → action
|
|
139
|
+
- **Gate skills:** `orchestrator` (triage) → `brainstorm-agent` (G1) → `module-spec-writer` (G1.5) → `spec-gate` (G2) → `symphony-enforcer` (G3) → `verification-gate` (G5)
|
|
140
|
+
- **Code intelligence:** `gitnexus-intelligence` (impact analysis, blast radius, safe refactoring)
|
|
141
|
+
- **Skill catalog:** xem `orchestrator/SKILL.md`
|
|
142
|
+
- **Workflows:** 75+ (`/xxx`). Core: `/init` `/code` `/debug` `/recap` `/next` `/todo` `/gitnexus`
|
|
143
|
+
- **Shortcuts:** `/todo` `/done` `/next`
|
|
210
144
|
|
|
211
145
|
---
|
|
212
146
|
|
|
213
|
-
##
|
|
147
|
+
## Paths
|
|
214
148
|
|
|
215
149
|
```
|
|
216
150
|
~/.gemini/antigravity/
|
|
217
|
-
├── GEMINI.md
|
|
218
|
-
├── global_workflows/
|
|
219
|
-
├── skills/
|
|
220
|
-
├── brain/
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
│ └── solutions/
|
|
225
|
-
├── templates/ # Plan, spec templates
|
|
226
|
-
└── schemas/ # JSON schemas
|
|
151
|
+
├── GEMINI.md # Rules (file này)
|
|
152
|
+
├── global_workflows/ # Workflows
|
|
153
|
+
├── skills/ # Skills (auto-activate)
|
|
154
|
+
├── brain/ # Knowledge
|
|
155
|
+
├── symphony/ # Task DB
|
|
156
|
+
├── templates/ # Templates
|
|
157
|
+
└── schemas/ # Schemas
|
|
227
158
|
```
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
*Antigravity v6.5 — Hierarchical Beads, Project-Aware, Memory Sync + Brainstorm Agent*
|
package/package.json
CHANGED
|
@@ -6,8 +6,8 @@ description: |
|
|
|
6
6
|
Enforces Project ID → Brain Switch → Memory Read order to prevent cross-project contamination.
|
|
7
7
|
metadata:
|
|
8
8
|
stage: core
|
|
9
|
-
version: "7.
|
|
10
|
-
replaces: "
|
|
9
|
+
version: "7.1"
|
|
10
|
+
replaces: "v7.0"
|
|
11
11
|
requires: symphony-orchestrator
|
|
12
12
|
tags: [session, restore, context, symphony, neuralmemory, silent, multi-project]
|
|
13
13
|
trigger: session_start
|
|
@@ -99,6 +99,16 @@ Hoặc nếu dùng cấu trúc brain khác:
|
|
|
99
99
|
cat CODEBASE.md 2>/dev/null | head -5
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
+
#### 3d. Legacy Artifact Detection (v7.1)
|
|
103
|
+
```bash
|
|
104
|
+
# Detect stale JSON task files — Symphony uses SQLite only
|
|
105
|
+
test -f .symphony/tasks.json && echo "LEGACY_TASKS_JSON_FOUND" || echo "CLEAN"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Nếu phát hiện `LEGACY_TASKS_JSON_FOUND`:
|
|
109
|
+
→ Ghi vào silent context: `legacy_artifacts: ["tasks.json"]`
|
|
110
|
+
→ `symphony-enforcer` Step 0.5 sẽ warn user.
|
|
111
|
+
|
|
102
112
|
#### 3c. Symphony Task State
|
|
103
113
|
```bash
|
|
104
114
|
symphony task list -P <projectId> -s in_progress --json 2>/dev/null
|
|
@@ -131,21 +131,24 @@ Trước khi bắt đầu, LUÔN:
|
|
|
131
131
|
### Phase 2: Idea Exploration (One Question at a Time)
|
|
132
132
|
|
|
133
133
|
**Rules:**
|
|
134
|
-
- Hỏi **một câu hỏi mỗi lần** — không overwhelm user
|
|
134
|
+
- Hỏi **một câu hỏi mỗi lần** — không overwhelm user.
|
|
135
|
+
- **CHỦ ĐỘNG KHAI THÁC & MỞ RỘNG:** Thay vì chỉ nhận ý tưởng thụ động, AI cần **chủ động đặt câu hỏi gợi mở, giả định tình huống hoặc các edge cases** để giúp user tự suy nghĩ sâu hơn và mở rộng ý tưởng của họ (Socratic questioning).
|
|
135
136
|
- Dùng câu hỏi mở đầu thân thiện:
|
|
136
137
|
|
|
137
138
|
```
|
|
138
|
-
"💡 Kể em nghe ý tưởng của anh đi! Anh muốn
|
|
139
|
+
"💡 Kể em nghe chi tiết ý tưởng của anh đi! Anh đang muốn giải quyết bài toán gì?"
|
|
139
140
|
|
|
140
|
-
Sau khi nghe, hỏi
|
|
141
|
-
• "
|
|
142
|
-
• "
|
|
143
|
-
• "
|
|
141
|
+
Sau khi nghe, hãy chủ động probe sâu hơn. Thay vì hỏi chung chung, hãy hỏi cụ thể dựa trên ý tưởng của user:
|
|
142
|
+
• "Nếu user làm [hành động X], hệ thống nên xử lý thế nào?"
|
|
143
|
+
• "Điểm khác biệt lớn nhất giữa app của anh và các app hiện có là gì?"
|
|
144
|
+
• "Ai sẽ là người dùng cốt lõi nhất, và họ gặp pain point gì nghiêm trọng nhất?"
|
|
145
|
+
• "Anh có nghĩ đến việc thêm [Gợi ý góc nhìn mới/tính năng mở rộng] không, vì nó sẽ giúp [lợi ích]?"
|
|
144
146
|
```
|
|
145
147
|
|
|
146
|
-
**Active Listening:**
|
|
148
|
+
**Active Listening & Expanding:**
|
|
147
149
|
- Tóm tắt lại: "Em hiểu là anh muốn [X] để giải quyết [Y], đúng không?"
|
|
148
|
-
-
|
|
150
|
+
- **Đào sâu:** "Em thấy phần [Z] khá thú vị, anh định triển khai nó theo hướng manual hay chạy auto?"
|
|
151
|
+
- KHÔNG vội đưa ra giải pháp hoàn chỉnh — hãy giúp user tự làm rõ ý tưởng của mình trước.
|
|
149
152
|
|
|
150
153
|
---
|
|
151
154
|
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gitnexus-cli
|
|
3
|
+
description: "Use when the user needs to run GitNexus CLI commands like analyze/index a repo, check status, clean the index, generate a wiki, or list indexed repos. Examples: \"Index this repo\", \"Reanalyze the codebase\", \"Generate a wiki\""
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# GitNexus CLI Commands
|
|
7
|
+
|
|
8
|
+
All commands work via `npx` — no global install required.
|
|
9
|
+
|
|
10
|
+
## Commands
|
|
11
|
+
|
|
12
|
+
### analyze — Build or refresh the index
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx gitnexus analyze
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Run from the project root. This parses all source files, builds the knowledge graph, writes it to `.gitnexus/`, and generates CLAUDE.md / AGENTS.md context files.
|
|
19
|
+
|
|
20
|
+
| Flag | Effect |
|
|
21
|
+
| -------------- | ---------------------------------------------------------------- |
|
|
22
|
+
| `--force` | Force full re-index even if up to date |
|
|
23
|
+
| `--embeddings` | Enable embedding generation for semantic search (off by default) |
|
|
24
|
+
|
|
25
|
+
**When to run:** First time in a project, after major code changes, or when `gitnexus://repo/{name}/context` reports the index is stale. In Claude Code, a PostToolUse hook runs `analyze` automatically after `git commit` and `git merge`, preserving embeddings if previously generated.
|
|
26
|
+
|
|
27
|
+
### status — Check index freshness
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx gitnexus status
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Shows whether the current repo has a GitNexus index, when it was last updated, and symbol/relationship counts. Use this to check if re-indexing is needed.
|
|
34
|
+
|
|
35
|
+
### clean — Delete the index
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx gitnexus clean
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Deletes the `.gitnexus/` directory and unregisters the repo from the global registry. Use before re-indexing if the index is corrupt or after removing GitNexus from a project.
|
|
42
|
+
|
|
43
|
+
| Flag | Effect |
|
|
44
|
+
| --------- | ------------------------------------------------- |
|
|
45
|
+
| `--force` | Skip confirmation prompt |
|
|
46
|
+
| `--all` | Clean all indexed repos, not just the current one |
|
|
47
|
+
|
|
48
|
+
### wiki — Generate documentation from the graph
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npx gitnexus wiki
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Generates repository documentation from the knowledge graph using an LLM. Requires an API key (saved to `~/.gitnexus/config.json` on first use).
|
|
55
|
+
|
|
56
|
+
| Flag | Effect |
|
|
57
|
+
| ------------------- | ----------------------------------------- |
|
|
58
|
+
| `--force` | Force full regeneration |
|
|
59
|
+
| `--model <model>` | LLM model (default: minimax/minimax-m2.5) |
|
|
60
|
+
| `--base-url <url>` | LLM API base URL |
|
|
61
|
+
| `--api-key <key>` | LLM API key |
|
|
62
|
+
| `--concurrency <n>` | Parallel LLM calls (default: 3) |
|
|
63
|
+
| `--gist` | Publish wiki as a public GitHub Gist |
|
|
64
|
+
|
|
65
|
+
### list — Show all indexed repos
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npx gitnexus list
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Lists all repositories registered in `~/.gitnexus/registry.json`. The MCP `list_repos` tool provides the same information.
|
|
72
|
+
|
|
73
|
+
## After Indexing
|
|
74
|
+
|
|
75
|
+
1. **Read `gitnexus://repo/{name}/context`** to verify the index loaded
|
|
76
|
+
2. Use the other GitNexus skills (`exploring`, `debugging`, `impact-analysis`, `refactoring`) for your task
|
|
77
|
+
|
|
78
|
+
## Troubleshooting
|
|
79
|
+
|
|
80
|
+
- **"Not inside a git repository"**: Run from a directory inside a git repo
|
|
81
|
+
- **Index is stale after re-analyzing**: Restart Claude Code to reload the MCP server
|
|
82
|
+
- **Embeddings slow**: Omit `--embeddings` (it's off by default) or set `OPENAI_API_KEY` for faster API-based embedding
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gitnexus-debugging
|
|
3
|
+
description: "Use when the user is debugging a bug, tracing an error, or asking why something fails. Examples: \"Why is X failing?\", \"Where does this error come from?\", \"Trace this bug\""
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Debugging with GitNexus
|
|
7
|
+
|
|
8
|
+
## When to Use
|
|
9
|
+
|
|
10
|
+
- "Why is this function failing?"
|
|
11
|
+
- "Trace where this error comes from"
|
|
12
|
+
- "Who calls this method?"
|
|
13
|
+
- "This endpoint returns 500"
|
|
14
|
+
- Investigating bugs, errors, or unexpected behavior
|
|
15
|
+
|
|
16
|
+
## Workflow
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
1. gitnexus_query({query: "<error or symptom>"}) → Find related execution flows
|
|
20
|
+
2. gitnexus_context({name: "<suspect>"}) → See callers/callees/processes
|
|
21
|
+
3. READ gitnexus://repo/{name}/process/{name} → Trace execution flow
|
|
22
|
+
4. gitnexus_cypher({query: "MATCH path..."}) → Custom traces if needed
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
> If "Index is stale" → run `npx gitnexus analyze` in terminal.
|
|
26
|
+
|
|
27
|
+
## Checklist
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
- [ ] Understand the symptom (error message, unexpected behavior)
|
|
31
|
+
- [ ] gitnexus_query for error text or related code
|
|
32
|
+
- [ ] Identify the suspect function from returned processes
|
|
33
|
+
- [ ] gitnexus_context to see callers and callees
|
|
34
|
+
- [ ] Trace execution flow via process resource if applicable
|
|
35
|
+
- [ ] gitnexus_cypher for custom call chain traces if needed
|
|
36
|
+
- [ ] Read source files to confirm root cause
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Debugging Patterns
|
|
40
|
+
|
|
41
|
+
| Symptom | GitNexus Approach |
|
|
42
|
+
| -------------------- | ---------------------------------------------------------- |
|
|
43
|
+
| Error message | `gitnexus_query` for error text → `context` on throw sites |
|
|
44
|
+
| Wrong return value | `context` on the function → trace callees for data flow |
|
|
45
|
+
| Intermittent failure | `context` → look for external calls, async deps |
|
|
46
|
+
| Performance issue | `context` → find symbols with many callers (hot paths) |
|
|
47
|
+
| Recent regression | `detect_changes` to see what your changes affect |
|
|
48
|
+
|
|
49
|
+
## Tools
|
|
50
|
+
|
|
51
|
+
**gitnexus_query** — find code related to error:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
gitnexus_query({query: "payment validation error"})
|
|
55
|
+
→ Processes: CheckoutFlow, ErrorHandling
|
|
56
|
+
→ Symbols: validatePayment, handlePaymentError, PaymentException
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**gitnexus_context** — full context for a suspect:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
gitnexus_context({name: "validatePayment"})
|
|
63
|
+
→ Incoming calls: processCheckout, webhookHandler
|
|
64
|
+
→ Outgoing calls: verifyCard, fetchRates (external API!)
|
|
65
|
+
→ Processes: CheckoutFlow (step 3/7)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**gitnexus_cypher** — custom call chain traces:
|
|
69
|
+
|
|
70
|
+
```cypher
|
|
71
|
+
MATCH path = (a)-[:CodeRelation {type: 'CALLS'}*1..2]->(b:Function {name: "validatePayment"})
|
|
72
|
+
RETURN [n IN nodes(path) | n.name] AS chain
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Example: "Payment endpoint returns 500 intermittently"
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
1. gitnexus_query({query: "payment error handling"})
|
|
79
|
+
→ Processes: CheckoutFlow, ErrorHandling
|
|
80
|
+
→ Symbols: validatePayment, handlePaymentError
|
|
81
|
+
|
|
82
|
+
2. gitnexus_context({name: "validatePayment"})
|
|
83
|
+
→ Outgoing calls: verifyCard, fetchRates (external API!)
|
|
84
|
+
|
|
85
|
+
3. READ gitnexus://repo/my-app/process/CheckoutFlow
|
|
86
|
+
→ Step 3: validatePayment → calls fetchRates (external)
|
|
87
|
+
|
|
88
|
+
4. Root cause: fetchRates calls external API without proper timeout
|
|
89
|
+
```
|