oh-my-ag 1.2.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 (77) hide show
  1. package/.agent/skills/_shared/api-contracts/README.md +56 -0
  2. package/.agent/skills/_shared/api-contracts/template.md +88 -0
  3. package/.agent/skills/_shared/clarification-protocol.md +217 -0
  4. package/.agent/skills/_shared/common-checklist.md +31 -0
  5. package/.agent/skills/_shared/context-budget.md +118 -0
  6. package/.agent/skills/_shared/context-loading.md +105 -0
  7. package/.agent/skills/_shared/difficulty-guide.md +55 -0
  8. package/.agent/skills/_shared/lessons-learned.md +113 -0
  9. package/.agent/skills/_shared/memory-protocol.md +79 -0
  10. package/.agent/skills/_shared/reasoning-templates.md +161 -0
  11. package/.agent/skills/_shared/skill-routing.md +80 -0
  12. package/.agent/skills/_shared/verify.sh +252 -0
  13. package/.agent/skills/backend-agent/SKILL.md +47 -0
  14. package/.agent/skills/backend-agent/resources/api-template.py +326 -0
  15. package/.agent/skills/backend-agent/resources/checklist.md +36 -0
  16. package/.agent/skills/backend-agent/resources/error-playbook.md +98 -0
  17. package/.agent/skills/backend-agent/resources/examples.md +85 -0
  18. package/.agent/skills/backend-agent/resources/execution-protocol.md +45 -0
  19. package/.agent/skills/backend-agent/resources/snippets.md +197 -0
  20. package/.agent/skills/backend-agent/resources/tech-stack.md +39 -0
  21. package/.agent/skills/commit/SKILL.md +121 -0
  22. package/.agent/skills/commit/config/commit-config.yaml +55 -0
  23. package/.agent/skills/commit/resources/conventional-commits.md +166 -0
  24. package/.agent/skills/debug-agent/SKILL.md +51 -0
  25. package/.agent/skills/debug-agent/resources/bug-report-template.md +332 -0
  26. package/.agent/skills/debug-agent/resources/checklist.md +30 -0
  27. package/.agent/skills/debug-agent/resources/common-patterns.md +734 -0
  28. package/.agent/skills/debug-agent/resources/debugging-checklist.md +362 -0
  29. package/.agent/skills/debug-agent/resources/error-playbook.md +94 -0
  30. package/.agent/skills/debug-agent/resources/examples.md +87 -0
  31. package/.agent/skills/debug-agent/resources/execution-protocol.md +51 -0
  32. package/.agent/skills/frontend-agent/SKILL.md +48 -0
  33. package/.agent/skills/frontend-agent/resources/checklist.md +38 -0
  34. package/.agent/skills/frontend-agent/resources/component-template.tsx +92 -0
  35. package/.agent/skills/frontend-agent/resources/error-playbook.md +108 -0
  36. package/.agent/skills/frontend-agent/resources/examples.md +77 -0
  37. package/.agent/skills/frontend-agent/resources/execution-protocol.md +49 -0
  38. package/.agent/skills/frontend-agent/resources/snippets.md +205 -0
  39. package/.agent/skills/frontend-agent/resources/tailwind-rules.md +343 -0
  40. package/.agent/skills/frontend-agent/resources/tech-stack.md +36 -0
  41. package/.agent/skills/mobile-agent/SKILL.md +46 -0
  42. package/.agent/skills/mobile-agent/resources/checklist.md +35 -0
  43. package/.agent/skills/mobile-agent/resources/error-playbook.md +106 -0
  44. package/.agent/skills/mobile-agent/resources/examples.md +79 -0
  45. package/.agent/skills/mobile-agent/resources/execution-protocol.md +49 -0
  46. package/.agent/skills/mobile-agent/resources/screen-template.dart +298 -0
  47. package/.agent/skills/mobile-agent/resources/snippets.md +235 -0
  48. package/.agent/skills/mobile-agent/resources/tech-stack.md +45 -0
  49. package/.agent/skills/orchestrator/SKILL.md +99 -0
  50. package/.agent/skills/orchestrator/config/cli-config.yaml +78 -0
  51. package/.agent/skills/orchestrator/resources/memory-schema.md +212 -0
  52. package/.agent/skills/orchestrator/resources/subagent-prompt-template.md +153 -0
  53. package/.agent/skills/orchestrator/scripts/parallel-run.sh +330 -0
  54. package/.agent/skills/orchestrator/scripts/spawn-agent.sh +263 -0
  55. package/.agent/skills/orchestrator/templates/backend-task.md +18 -0
  56. package/.agent/skills/orchestrator/templates/debug-task.md +16 -0
  57. package/.agent/skills/orchestrator/templates/frontend-task.md +17 -0
  58. package/.agent/skills/orchestrator/templates/mobile-task.md +17 -0
  59. package/.agent/skills/orchestrator/templates/qa-task.md +16 -0
  60. package/.agent/skills/orchestrator/templates/tasks-example.yaml +15 -0
  61. package/.agent/skills/pm-agent/SKILL.md +47 -0
  62. package/.agent/skills/pm-agent/resources/error-playbook.md +75 -0
  63. package/.agent/skills/pm-agent/resources/examples.md +121 -0
  64. package/.agent/skills/pm-agent/resources/execution-protocol.md +46 -0
  65. package/.agent/skills/pm-agent/resources/task-template.json +57 -0
  66. package/.agent/skills/qa-agent/SKILL.md +43 -0
  67. package/.agent/skills/qa-agent/resources/checklist.md +294 -0
  68. package/.agent/skills/qa-agent/resources/error-playbook.md +95 -0
  69. package/.agent/skills/qa-agent/resources/examples.md +100 -0
  70. package/.agent/skills/qa-agent/resources/execution-protocol.md +50 -0
  71. package/.agent/skills/qa-agent/resources/self-check.md +27 -0
  72. package/.agent/skills/workflow-guide/SKILL.md +57 -0
  73. package/.agent/skills/workflow-guide/resources/examples.md +68 -0
  74. package/README.ko.md +459 -0
  75. package/README.md +563 -0
  76. package/bin/cli.js +205 -0
  77. package/package.json +75 -0
@@ -0,0 +1,332 @@
1
+ # Bug Report Template
2
+
3
+ Use this template when documenting bugs in the Knowledge Base.
4
+
5
+ Save to: `.gemini/antigravity/brain/bugs/bug-YYYYMMDD-[short-description].md`
6
+
7
+ ---
8
+
9
+ # Bug: [Short Descriptive Title]
10
+
11
+ **Date Reported**: YYYY-MM-DD
12
+ **Date Fixed**: YYYY-MM-DD (or "In Progress")
13
+ **Reporter**: [User name or issue number]
14
+ **Assignee**: [Agent that fixed it]
15
+ **Severity**: 🔴 CRITICAL | 🟠 HIGH | 🟡 MEDIUM | 🔵 LOW
16
+ **Status**: 🐛 OPEN | 🔧 IN PROGRESS | ✅ FIXED | ⏸️ ON HOLD | ❌ WON'T FIX
17
+
18
+ ---
19
+
20
+ ## 📝 Problem Description
21
+
22
+ **What happened?**
23
+ [Clear description of the bug from user's perspective]
24
+
25
+ **What was expected?**
26
+ [What should have happened instead]
27
+
28
+ **Impact**:
29
+ - Users affected: [All | Specific role | Percentage]
30
+ - Business impact: [Revenue loss | User frustration | Security risk]
31
+ - Workaround available: [Yes/No - describe if yes]
32
+
33
+ ---
34
+
35
+ ## 🔄 Reproduction Steps
36
+
37
+ 1. Navigate to [page/route]
38
+ 2. Click on [button/element]
39
+ 3. Enter [data] in [field]
40
+ 4. Observe [unexpected behavior]
41
+
42
+ **Frequency**:
43
+ - [ ] Every time (100%)
44
+ - [ ] Intermittent (specify pattern: ___%)
45
+ - [ ] Specific conditions only (describe: ___)
46
+
47
+ ---
48
+
49
+ ## 🖼️ Evidence
50
+
51
+ **Error Messages**:
52
+ ```
53
+ [Exact error text from console/logs]
54
+ ```
55
+
56
+ **Stack Trace**:
57
+ ```
58
+ [Full stack trace if available]
59
+ ```
60
+
61
+ **Screenshots**:
62
+ - Before: [description or file path]
63
+ - After: [description or file path]
64
+ - Error state: [description or file path]
65
+
66
+ **Browser Console**:
67
+ ```javascript
68
+ // Relevant console errors
69
+ ```
70
+
71
+ **Network Requests**:
72
+ ```
73
+ Request URL: [URL]
74
+ Status Code: [200/404/500/etc]
75
+ Response: [relevant response data]
76
+ ```
77
+
78
+ ---
79
+
80
+ ## 🌍 Environment
81
+
82
+ **Frontend**:
83
+ - Browser: [Chrome 120 | Firefox 121 | Safari 17]
84
+ - OS: [Windows 11 | macOS 14 | iOS 17 | Android 14]
85
+ - Screen size: [Desktop | Tablet | Mobile]
86
+ - Browser extensions: [Any relevant extensions]
87
+
88
+ **Backend**:
89
+ - Environment: [Development | Staging | Production]
90
+ - Server version: [API version]
91
+ - Database: [PostgreSQL 16.1]
92
+
93
+ **Mobile** (if applicable):
94
+ - Device: [iPhone 15 | Samsung Galaxy S24]
95
+ - OS Version: [iOS 17.2 | Android 14]
96
+ - App Version: [1.2.3]
97
+
98
+ ---
99
+
100
+ ## 🔍 Investigation
101
+
102
+ ### Initial Analysis
103
+
104
+ **Hypothesis**:
105
+ [What you think is causing the bug]
106
+
107
+ **Investigation Steps Taken**:
108
+ 1. [What was checked]
109
+ 2. [What was ruled out]
110
+ 3. [Key findings]
111
+
112
+ ### Root Cause
113
+
114
+ **Technical Explanation**:
115
+ [Deep dive into why the bug occurs]
116
+
117
+ **Code Location**:
118
+ - File: `path/to/file.tsx`
119
+ - Line: 145
120
+ - Function: `handleSubmit()`
121
+
122
+ **Specific Issue**:
123
+ ```typescript
124
+ // Problem code
125
+ const user = data.user.profile.name; // Crashes if profile is undefined
126
+ ```
127
+
128
+ **Why it happens**:
129
+ [Explain the conditions that trigger this]
130
+
131
+ ---
132
+
133
+ ## 🔧 Solution
134
+
135
+ ### Fix Applied
136
+
137
+ **Approach**:
138
+ [High-level description of the fix strategy]
139
+
140
+ **Code Changes**:
141
+
142
+ ```typescript
143
+ // File: path/to/file.tsx (line 145)
144
+
145
+ // ❌ BEFORE (buggy code)
146
+ const user = data.user.profile.name;
147
+
148
+ // ✅ AFTER (fixed code)
149
+ const user = data?.user?.profile?.name ?? 'Unknown';
150
+ ```
151
+
152
+ **Why this works**:
153
+ [Explain the fix]
154
+
155
+ ### Files Modified
156
+
157
+ - ✏️ `src/components/UserProfile.tsx` - Added null check for profile
158
+ - ✏️ `src/lib/api/users.ts` - Improved error handling
159
+ - ➕ `src/components/UserProfile.test.tsx` - Added regression test
160
+
161
+ ### Migration/Deployment Notes
162
+
163
+ **Database Changes**: None | [Describe migrations needed]
164
+ **Configuration Changes**: None | [Describe config updates]
165
+ **Breaking Changes**: None | [Describe breaking changes]
166
+ **Rollback Plan**: [How to revert if needed]
167
+
168
+ ---
169
+
170
+ ## ✅ Verification
171
+
172
+ ### Testing Performed
173
+
174
+ - [x] **Regression test added**
175
+ - File: `src/components/UserProfile.test.tsx`
176
+ - Coverage: Null profile, undefined user, missing name
177
+
178
+ - [x] **Manual testing**
179
+ - Tested original reproduction steps
180
+ - Tested edge cases (null, undefined, empty)
181
+ - Verified fix works in all browsers
182
+
183
+ - [x] **Related areas checked**
184
+ - Found similar pattern in `TeamProfile.tsx` - also fixed
185
+ - Checked all `.profile.` usages - 3 more locations updated
186
+
187
+ - [x] **Performance impact**: None | [Describe if any]
188
+
189
+ ### Test Results
190
+
191
+ **Unit Tests**: ✅ 15/15 passing
192
+ **Integration Tests**: ✅ 8/8 passing
193
+ **E2E Tests**: ✅ 3/3 passing
194
+ **Manual QA**: ✅ Verified on Chrome, Firefox, Safari
195
+
196
+ ---
197
+
198
+ ## 📚 Prevention
199
+
200
+ ### How to Avoid Similar Bugs
201
+
202
+ 1. **Always check for null/undefined** before accessing nested properties
203
+ 2. **Use optional chaining (`?.`)** for safe property access
204
+ 3. **Provide default values** with nullish coalescing (`??`)
205
+ 4. **Add TypeScript strict null checks** to catch at compile time
206
+ 5. **Write defensive code** - assume data might be missing
207
+
208
+ ### Code Patterns to Follow
209
+
210
+ ```typescript
211
+ // ✅ GOOD: Safe access with fallback
212
+ const name = user?.profile?.name ?? 'Anonymous';
213
+
214
+ // ✅ GOOD: Explicit null check
215
+ if (user?.profile) {
216
+ const name = user.profile.name;
217
+ }
218
+
219
+ // ✅ GOOD: Early return
220
+ if (!user?.profile) {
221
+ return <div>No profile available</div>;
222
+ }
223
+
224
+ // ❌ BAD: Unsafe nested access
225
+ const name = user.profile.name; // Crashes if profile undefined
226
+ ```
227
+
228
+ ### Recommended Tools
229
+
230
+ - **TypeScript** with `strictNullChecks: true`
231
+ - **ESLint** rule: `no-unsafe-member-access`
232
+ - **Unit tests** for edge cases (null, undefined, empty)
233
+
234
+ ---
235
+
236
+ ## 🔗 Related
237
+
238
+ **Similar Bugs**:
239
+ - Bug #123: Similar null check issue in `CommentList`
240
+ - Bug #456: Related data loading pattern
241
+
242
+ **Dependent Issues**:
243
+ - Issue #789: Need to improve error handling across all API calls
244
+
245
+ **Documentation**:
246
+ - [Link to architecture decision record]
247
+ - [Link to API documentation]
248
+
249
+ **External References**:
250
+ - [Stack Overflow link if used]
251
+ - [GitHub issue in library if relevant]
252
+
253
+ ---
254
+
255
+ ## 📊 Metrics
256
+
257
+ **Time to Fix**: [2 hours | 1 day | 1 week]
258
+ **Lines Changed**: [+15 -5]
259
+ **Files Affected**: [3 files]
260
+ **Tests Added**: [5 new tests]
261
+
262
+ ---
263
+
264
+ ## 💬 Communication
265
+
266
+ **Notified**:
267
+ - [x] Product Manager - Impact assessment
268
+ - [x] QA Team - Additional testing needed
269
+ - [x] Users affected - Via email/announcement
270
+ - [ ] Other teams - [Specify]
271
+
272
+ **Changelog Entry**:
273
+ ```markdown
274
+ ### Fixed
275
+ - Fixed crash when user profile is missing ([#issue-number])
276
+ ```
277
+
278
+ ---
279
+
280
+ ## 🎓 Lessons Learned
281
+
282
+ **What went well**:
283
+ - Quick identification of root cause
284
+ - Proactive fix of similar patterns
285
+ - Comprehensive test coverage
286
+
287
+ **What could improve**:
288
+ - Should have caught this in code review
289
+ - TypeScript strict mode would have prevented this
290
+ - Need better null check linting rules
291
+
292
+ **Action Items**:
293
+ - [ ] Enable TypeScript strictNullChecks across project
294
+ - [ ] Add ESLint rule for unsafe member access
295
+ - [ ] Update code review checklist to include null checks
296
+ - [ ] Create coding standards doc for defensive programming
297
+
298
+ ---
299
+
300
+ ## 🏷️ Tags
301
+
302
+ `frontend` `null-check` `crash` `typescript` `user-profile` `high-priority`
303
+
304
+ ---
305
+
306
+ **Sign-off**: [Your name/agent name]
307
+ **Reviewed by**: [PM Agent | QA Agent | Frontend Agent]
308
+ **Approved for deploy**: [Yes/No]
309
+
310
+ ---
311
+
312
+ ## Template Notes
313
+
314
+ **How to use this template**:
315
+
316
+ 1. **Copy this template** when documenting a new bug
317
+ 2. **Fill in all sections** - don't skip parts
318
+ 3. **Be specific** - future developers need details
319
+ 4. **Include code** - show the before/after
320
+ 5. **Link related issues** - help connect patterns
321
+ 6. **Update status** as work progresses
322
+ 7. **Save to Knowledge Base** for future reference
323
+
324
+ **Sections you can skip**:
325
+ - Screenshots (if text description is clear)
326
+ - Stack trace (if no error thrown)
327
+ - Migration notes (if no DB/config changes)
328
+
329
+ **Optional sections to add**:
330
+ - Timeline (for long-running bugs)
331
+ - Cost impact (for business-critical bugs)
332
+ - Vendor communication (if third-party bug)
@@ -0,0 +1,30 @@
1
+ # Debug Agent - Self-Verification Checklist
2
+
3
+ Run through every item before submitting your fix.
4
+
5
+ ## Fix Quality
6
+ - [ ] Root cause identified (not just symptom patched)
7
+ - [ ] Fix is minimal and focused (no unrelated changes)
8
+ - [ ] Edge cases handled (null, empty, boundary values)
9
+ - [ ] No new bugs introduced
10
+
11
+ ## Regression Test
12
+ - [ ] Test written that fails without the fix
13
+ - [ ] Test passes with the fix
14
+ - [ ] Test covers the specific triggering condition
15
+ - [ ] All existing tests still pass
16
+
17
+ ## Similar Patterns
18
+ - [ ] Searched for same pattern elsewhere in codebase
19
+ - [ ] Reported or fixed similar occurrences
20
+ - [ ] Noted if systemic issue needs architectural fix
21
+
22
+ ## Documentation
23
+ - [ ] Bug report saved to `.gemini/antigravity/brain/bugs/`
24
+ - [ ] Root cause clearly explained
25
+ - [ ] Prevention advice included
26
+ - [ ] Files modified listed
27
+
28
+ ## Security Check (if applicable)
29
+ - [ ] Fix doesn't introduce SQL injection, XSS, or auth bypass
30
+ - [ ] Sensitive data not exposed in error messages or logs