oh-my-customcode 0.8.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/README.md +10 -2
- package/dist/cli/index.js +517 -274
- package/dist/index.js +303 -101
- package/package.json +1 -1
- package/templates/.codex/agents/arch-documenter.md +97 -0
- package/templates/.codex/agents/arch-speckit-agent.md +134 -0
- package/templates/.codex/agents/be-express-expert.md +80 -0
- package/templates/.codex/agents/be-fastapi-expert.md +43 -0
- package/templates/.codex/agents/be-go-backend-expert.md +43 -0
- package/templates/.codex/agents/be-nestjs-expert.md +60 -0
- package/templates/.codex/agents/be-springboot-expert.md +85 -0
- package/templates/.codex/agents/db-postgres-expert.md +106 -0
- package/templates/.codex/agents/db-redis-expert.md +101 -0
- package/templates/.codex/agents/db-supabase-expert.md +71 -0
- package/templates/.codex/agents/de-airflow-expert.md +71 -0
- package/templates/.codex/agents/de-dbt-expert.md +72 -0
- package/templates/.codex/agents/de-kafka-expert.md +81 -0
- package/templates/.codex/agents/de-pipeline-expert.md +92 -0
- package/templates/.codex/agents/de-snowflake-expert.md +89 -0
- package/templates/.codex/agents/de-spark-expert.md +80 -0
- package/templates/.codex/agents/fe-svelte-agent.md +65 -0
- package/templates/.codex/agents/fe-vercel-agent.md +69 -0
- package/templates/.codex/agents/fe-vuejs-agent.md +65 -0
- package/templates/.codex/agents/infra-aws-expert.md +47 -0
- package/templates/.codex/agents/infra-docker-expert.md +47 -0
- package/templates/.codex/agents/lang-golang-expert.md +43 -0
- package/templates/.codex/agents/lang-java21-expert.md +65 -0
- package/templates/.codex/agents/lang-kotlin-expert.md +43 -0
- package/templates/.codex/agents/lang-python-expert.md +43 -0
- package/templates/.codex/agents/lang-rust-expert.md +43 -0
- package/templates/.codex/agents/lang-typescript-expert.md +43 -0
- package/templates/.codex/agents/mgr-claude-code-bible.md +246 -0
- package/templates/.codex/agents/mgr-creator.md +120 -0
- package/templates/.codex/agents/mgr-gitnerd.md +113 -0
- package/templates/.codex/agents/mgr-sauron.md +154 -0
- package/templates/.codex/agents/mgr-supplier.md +120 -0
- package/templates/.codex/agents/mgr-sync-checker.md +99 -0
- package/templates/.codex/agents/mgr-updater.md +103 -0
- package/templates/.codex/agents/qa-engineer.md +96 -0
- package/templates/.codex/agents/qa-planner.md +74 -0
- package/templates/.codex/agents/qa-writer.md +97 -0
- package/templates/.codex/agents/sys-memory-keeper.md +117 -0
- package/templates/.codex/agents/sys-naggy.md +90 -0
- package/templates/.codex/agents/tool-bun-expert.md +71 -0
- package/templates/.codex/agents/tool-npm-expert.md +88 -0
- package/templates/.codex/agents/tool-optimizer.md +87 -0
- package/templates/.codex/codex-native-hash.txt +1 -0
- package/templates/.codex/contexts/dev.md +20 -0
- package/templates/.codex/contexts/ecomode.md +63 -0
- package/templates/.codex/contexts/index.yaml +41 -0
- package/templates/.codex/contexts/research.md +28 -0
- package/templates/.codex/contexts/review.md +23 -0
- package/templates/.codex/hooks/hooks.json +151 -0
- package/templates/.codex/install-hooks.sh +100 -0
- package/templates/.codex/rules/MAY-optimization.md +93 -0
- package/templates/.codex/rules/MUST-agent-design.md +162 -0
- package/templates/.codex/rules/MUST-agent-identification.md +108 -0
- package/templates/.codex/rules/MUST-continuous-improvement.md +132 -0
- package/templates/.codex/rules/MUST-intent-transparency.md +199 -0
- package/templates/.codex/rules/MUST-language-policy.md +62 -0
- package/templates/.codex/rules/MUST-orchestrator-coordination.md +471 -0
- package/templates/.codex/rules/MUST-parallel-execution.md +469 -0
- package/templates/.codex/rules/MUST-permissions.md +84 -0
- package/templates/.codex/rules/MUST-safety.md +69 -0
- package/templates/.codex/rules/MUST-sync-verification.md +281 -0
- package/templates/.codex/rules/MUST-tool-identification.md +195 -0
- package/templates/.codex/rules/SHOULD-agent-teams.md +183 -0
- package/templates/.codex/rules/SHOULD-ecomode.md +145 -0
- package/templates/.codex/rules/SHOULD-error-handling.md +102 -0
- package/templates/.codex/rules/SHOULD-hud-statusline.md +112 -0
- package/templates/.codex/rules/SHOULD-interaction.md +103 -0
- package/templates/.codex/rules/SHOULD-memory-integration.md +132 -0
- package/templates/.codex/rules/index.yaml +141 -0
- package/templates/.codex/skills/airflow-best-practices/SKILL.md +56 -0
- package/templates/.codex/skills/audit-agents/SKILL.md +116 -0
- package/templates/.codex/skills/aws-best-practices/SKILL.md +280 -0
- package/templates/.codex/skills/claude-code-bible/SKILL.md +180 -0
- package/templates/.codex/skills/claude-code-bible/scripts/fetch-docs.js +244 -0
- package/templates/.codex/skills/create-agent/SKILL.md +91 -0
- package/templates/.codex/skills/dbt-best-practices/SKILL.md +54 -0
- package/templates/.codex/skills/de-lead-routing/SKILL.md +230 -0
- package/templates/.codex/skills/dev-lead-routing/SKILL.md +253 -0
- package/templates/.codex/skills/dev-refactor/SKILL.md +123 -0
- package/templates/.codex/skills/dev-review/SKILL.md +81 -0
- package/templates/.codex/skills/docker-best-practices/SKILL.md +275 -0
- package/templates/.codex/skills/fastapi-best-practices/SKILL.md +270 -0
- package/templates/.codex/skills/fix-refs/SKILL.md +107 -0
- package/templates/.codex/skills/go-backend-best-practices/SKILL.md +338 -0
- package/templates/.codex/skills/go-best-practices/CLAUDE.md +9 -0
- package/templates/.codex/skills/go-best-practices/SKILL.md +203 -0
- package/templates/.codex/skills/help/SKILL.md +125 -0
- package/templates/.codex/skills/intent-detection/SKILL.md +215 -0
- package/templates/.codex/skills/intent-detection/patterns/agent-triggers.yaml +349 -0
- package/templates/.codex/skills/kafka-best-practices/SKILL.md +52 -0
- package/templates/.codex/skills/kotlin-best-practices/SKILL.md +256 -0
- package/templates/.codex/skills/lists/SKILL.md +78 -0
- package/templates/.codex/skills/memory-management/SKILL.md +195 -0
- package/templates/.codex/skills/memory-recall/SKILL.md +152 -0
- package/templates/.codex/skills/memory-save/SKILL.md +126 -0
- package/templates/.codex/skills/monitoring-setup/SKILL.md +115 -0
- package/templates/.codex/skills/npm-audit/SKILL.md +72 -0
- package/templates/.codex/skills/npm-publish/SKILL.md +63 -0
- package/templates/.codex/skills/npm-version/SKILL.md +75 -0
- package/templates/.codex/skills/optimize-analyze/SKILL.md +55 -0
- package/templates/.codex/skills/optimize-bundle/SKILL.md +67 -0
- package/templates/.codex/skills/optimize-report/SKILL.md +74 -0
- package/templates/.codex/skills/pipeline-architecture-patterns/SKILL.md +83 -0
- package/templates/.codex/skills/postgres-best-practices/SKILL.md +66 -0
- package/templates/.codex/skills/python-best-practices/SKILL.md +222 -0
- package/templates/.codex/skills/qa-lead-routing/SKILL.md +277 -0
- package/templates/.codex/skills/react-best-practices/SKILL.md +101 -0
- package/templates/.codex/skills/redis-best-practices/SKILL.md +83 -0
- package/templates/.codex/skills/result-aggregation/SKILL.md +164 -0
- package/templates/.codex/skills/rust-best-practices/SKILL.md +267 -0
- package/templates/.codex/skills/sauron-watch/SKILL.md +144 -0
- package/templates/.codex/skills/secretary-routing/SKILL.md +190 -0
- package/templates/.codex/skills/snowflake-best-practices/SKILL.md +65 -0
- package/templates/.codex/skills/spark-best-practices/SKILL.md +52 -0
- package/templates/.codex/skills/springboot-best-practices/SKILL.md +357 -0
- package/templates/.codex/skills/status/SKILL.md +153 -0
- package/templates/.codex/skills/supabase-postgres-best-practices/SKILL.md +99 -0
- package/templates/.codex/skills/typescript-best-practices/SKILL.md +321 -0
- package/templates/.codex/skills/update-docs/SKILL.md +140 -0
- package/templates/.codex/skills/update-external/SKILL.md +149 -0
- package/templates/.codex/skills/vercel-deploy/SKILL.md +73 -0
- package/templates/.codex/skills/web-design-guidelines/SKILL.md +118 -0
- package/templates/.codex/skills/writing-clearly-and-concisely/SKILL.md +64 -0
- package/templates/.codex/uninstall-hooks.sh +52 -0
- package/templates/AGENTS.md.en +39 -0
- package/templates/AGENTS.md.ko +39 -0
- package/templates/manifest.codex.json +43 -0
- package/templates/manifest.json +5 -5
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: intent-detection
|
|
3
|
+
description: Automatically detect user intent and route to appropriate agent
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Automatically detect user intent and route to the appropriate agent with full transparency.
|
|
10
|
+
|
|
11
|
+
## Detection Algorithm
|
|
12
|
+
|
|
13
|
+
### 1. Input Analysis
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
User Input: "Go 코드 리뷰해줘"
|
|
17
|
+
│
|
|
18
|
+
▼
|
|
19
|
+
┌─────────────────────────────┐
|
|
20
|
+
│ Tokenize & Extract │
|
|
21
|
+
├─────────────────────────────┤
|
|
22
|
+
│ Keywords: ["Go"] │
|
|
23
|
+
│ Actions: ["리뷰"] │
|
|
24
|
+
│ File refs: [] │
|
|
25
|
+
│ Context: [] │
|
|
26
|
+
└─────────────────────────────┘
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 2. Pattern Matching
|
|
30
|
+
|
|
31
|
+
Match extracted tokens against agent triggers:
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
# For each agent in agent-triggers.yaml
|
|
35
|
+
match_score = 0
|
|
36
|
+
|
|
37
|
+
# Keyword match
|
|
38
|
+
for keyword in user_keywords:
|
|
39
|
+
if keyword in agent.keywords:
|
|
40
|
+
match_score += agent.keyword_weight (default: 40)
|
|
41
|
+
|
|
42
|
+
# Action match
|
|
43
|
+
for action in user_actions:
|
|
44
|
+
if action in agent.actions:
|
|
45
|
+
match_score += agent.action_weight (default: 40)
|
|
46
|
+
|
|
47
|
+
# File pattern match
|
|
48
|
+
for pattern in user_file_refs:
|
|
49
|
+
if matches(pattern, agent.file_patterns):
|
|
50
|
+
match_score += agent.file_weight (default: 30)
|
|
51
|
+
|
|
52
|
+
# Context bonus
|
|
53
|
+
if agent == recent_agent:
|
|
54
|
+
match_score += context_bonus (default: 10)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 3. Confidence Calculation
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
confidence = min(100, match_score)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 4. Decision
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
if confidence >= 90:
|
|
67
|
+
auto_execute()
|
|
68
|
+
elif confidence >= 70:
|
|
69
|
+
request_confirmation()
|
|
70
|
+
else:
|
|
71
|
+
list_options()
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Detection Patterns
|
|
75
|
+
|
|
76
|
+
### Keyword Patterns
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
# Korean keywords
|
|
80
|
+
korean:
|
|
81
|
+
- "고" → go
|
|
82
|
+
- "파이썬" → python
|
|
83
|
+
- "러스트" → rust
|
|
84
|
+
- "타입스크립트" → typescript
|
|
85
|
+
|
|
86
|
+
# Action verbs (Korean)
|
|
87
|
+
actions_kr:
|
|
88
|
+
- "리뷰" → review
|
|
89
|
+
- "분석" → analyze
|
|
90
|
+
- "수정" → fix
|
|
91
|
+
- "생성" → create
|
|
92
|
+
- "만들어" → create
|
|
93
|
+
- "확인" → check
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### File Pattern Matching
|
|
97
|
+
|
|
98
|
+
```yaml
|
|
99
|
+
patterns:
|
|
100
|
+
go: ["*.go", "go.mod", "go.sum"]
|
|
101
|
+
python: ["*.py", "requirements.txt", "pyproject.toml", "setup.py"]
|
|
102
|
+
rust: ["*.rs", "Cargo.toml"]
|
|
103
|
+
typescript: ["*.ts", "*.tsx", "tsconfig.json"]
|
|
104
|
+
kotlin: ["*.kt", "*.kts", "build.gradle.kts"]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Output Format
|
|
108
|
+
|
|
109
|
+
### High Confidence
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
[Intent Detected]
|
|
113
|
+
├── Input: "Go 코드 리뷰해줘"
|
|
114
|
+
├── Agent: lang-golang-expert
|
|
115
|
+
├── Confidence: 95%
|
|
116
|
+
└── Reason: "Go" keyword + "리뷰" action
|
|
117
|
+
|
|
118
|
+
┌─ Agent: lang-golang-expert (sw-engineer)
|
|
119
|
+
└─ Task: Code review
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Medium Confidence
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
[Intent Detected]
|
|
126
|
+
├── Input: "백엔드 API 확인해줘"
|
|
127
|
+
├── Detected: be-go-backend-expert (?)
|
|
128
|
+
├── Confidence: 78%
|
|
129
|
+
└── Alternatives available
|
|
130
|
+
|
|
131
|
+
Select agent:
|
|
132
|
+
1. be-go-backend-expert (78%)
|
|
133
|
+
2. be-fastapi-expert (72%)
|
|
134
|
+
3. be-springboot-expert (68%)
|
|
135
|
+
|
|
136
|
+
Choice [1-3, or agent name]:
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Override
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
[Override Detected]
|
|
143
|
+
├── Input: "@lang-python-expert review api.py"
|
|
144
|
+
├── Agent: lang-python-expert (explicit)
|
|
145
|
+
└── Bypassing intent detection
|
|
146
|
+
|
|
147
|
+
┌─ Agent: lang-python-expert (sw-engineer)
|
|
148
|
+
└─ Task: Review api.py
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Integration
|
|
152
|
+
|
|
153
|
+
### With Secretary
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
Secretary uses this skill to:
|
|
157
|
+
1. Parse incoming user requests
|
|
158
|
+
2. Detect intent and select agent
|
|
159
|
+
3. Display reasoning
|
|
160
|
+
4. Handle confirmations
|
|
161
|
+
5. Route to selected agent
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### With Agent Triggers
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
Load triggers from:
|
|
168
|
+
.codex/skills/intent-detection/patterns/agent-triggers.yaml
|
|
169
|
+
|
|
170
|
+
Each agent defines:
|
|
171
|
+
- keywords (language names, tech terms)
|
|
172
|
+
- file_patterns (extensions, config files)
|
|
173
|
+
- actions (supported actions)
|
|
174
|
+
- weights (scoring factors)
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Error Handling
|
|
178
|
+
|
|
179
|
+
### No Match
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
[Intent Unclear]
|
|
183
|
+
├── Input: "도와줘"
|
|
184
|
+
├── Confidence: < 30%
|
|
185
|
+
└── Too generic to detect intent
|
|
186
|
+
|
|
187
|
+
How can I help? Please be more specific:
|
|
188
|
+
- What type of task? (review, create, fix, ...)
|
|
189
|
+
- What language/technology? (Go, Python, ...)
|
|
190
|
+
- What file or project?
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Ambiguous Match
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
[Intent Ambiguous]
|
|
197
|
+
├── Input: "코드 리뷰"
|
|
198
|
+
├── Top matches:
|
|
199
|
+
│ └── All experts: ~50% each
|
|
200
|
+
└── Need file context or language hint
|
|
201
|
+
|
|
202
|
+
Specify the language or provide a file path.
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Configuration
|
|
206
|
+
|
|
207
|
+
```yaml
|
|
208
|
+
intent_detection:
|
|
209
|
+
enabled: true
|
|
210
|
+
auto_execute_threshold: 90
|
|
211
|
+
confirm_threshold: 70
|
|
212
|
+
show_reasoning: true
|
|
213
|
+
max_alternatives: 3
|
|
214
|
+
korean_support: true
|
|
215
|
+
```
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
# Agent Triggers for Intent Detection
|
|
2
|
+
# Used by intent-detection skill to match user input to agents
|
|
3
|
+
|
|
4
|
+
# Score weights
|
|
5
|
+
weights:
|
|
6
|
+
keyword: 40
|
|
7
|
+
file_pattern: 30
|
|
8
|
+
action: 20
|
|
9
|
+
context: 10
|
|
10
|
+
|
|
11
|
+
# Action verbs (both Korean and English)
|
|
12
|
+
action_verbs:
|
|
13
|
+
review:
|
|
14
|
+
korean: [리뷰, 검토, 확인, 체크]
|
|
15
|
+
english: [review, check, analyze, audit]
|
|
16
|
+
create:
|
|
17
|
+
korean: [생성, 만들어, 추가]
|
|
18
|
+
english: [create, make, add, new]
|
|
19
|
+
fix:
|
|
20
|
+
korean: [수정, 고쳐, 버그, 에러]
|
|
21
|
+
english: [fix, repair, debug, solve]
|
|
22
|
+
refactor:
|
|
23
|
+
korean: [리팩토링, 개선, 정리]
|
|
24
|
+
english: [refactor, improve, clean, optimize]
|
|
25
|
+
explain:
|
|
26
|
+
korean: [설명, 알려줘, 뭐야]
|
|
27
|
+
english: [explain, what, how, why]
|
|
28
|
+
|
|
29
|
+
# Agent definitions
|
|
30
|
+
agents:
|
|
31
|
+
# SW Engineers - Language
|
|
32
|
+
lang-golang-expert:
|
|
33
|
+
keywords:
|
|
34
|
+
korean: [고, 고랭, "go 언어"]
|
|
35
|
+
english: [go, golang]
|
|
36
|
+
file_patterns: ["*.go", "go.mod", "go.sum"]
|
|
37
|
+
supported_actions: [review, fix, refactor, explain]
|
|
38
|
+
base_confidence: 40
|
|
39
|
+
|
|
40
|
+
lang-python-expert:
|
|
41
|
+
keywords:
|
|
42
|
+
korean: [파이썬, 파이선]
|
|
43
|
+
english: [python, py]
|
|
44
|
+
file_patterns: ["*.py", "requirements.txt", "pyproject.toml", "setup.py", "Pipfile"]
|
|
45
|
+
supported_actions: [review, fix, refactor, explain]
|
|
46
|
+
base_confidence: 40
|
|
47
|
+
|
|
48
|
+
lang-rust-expert:
|
|
49
|
+
keywords:
|
|
50
|
+
korean: [러스트]
|
|
51
|
+
english: [rust, rs]
|
|
52
|
+
file_patterns: ["*.rs", "Cargo.toml", "Cargo.lock"]
|
|
53
|
+
supported_actions: [review, fix, refactor, explain]
|
|
54
|
+
base_confidence: 40
|
|
55
|
+
|
|
56
|
+
lang-kotlin-expert:
|
|
57
|
+
keywords:
|
|
58
|
+
korean: [코틀린]
|
|
59
|
+
english: [kotlin, kt]
|
|
60
|
+
file_patterns: ["*.kt", "*.kts", "build.gradle.kts"]
|
|
61
|
+
supported_actions: [review, fix, refactor, explain]
|
|
62
|
+
base_confidence: 40
|
|
63
|
+
|
|
64
|
+
lang-typescript-expert:
|
|
65
|
+
keywords:
|
|
66
|
+
korean: [타입스크립트]
|
|
67
|
+
english: [typescript, ts]
|
|
68
|
+
file_patterns: ["*.ts", "*.tsx", "tsconfig.json"]
|
|
69
|
+
supported_actions: [review, fix, refactor, explain]
|
|
70
|
+
base_confidence: 40
|
|
71
|
+
|
|
72
|
+
lang-java21-expert:
|
|
73
|
+
keywords:
|
|
74
|
+
korean: [자바, 자바21]
|
|
75
|
+
english: [java, java21, jdk21, jdk]
|
|
76
|
+
file_patterns: ["*.java", "pom.xml", "build.gradle"]
|
|
77
|
+
supported_actions: [review, create, fix, refactor]
|
|
78
|
+
base_confidence: 35
|
|
79
|
+
|
|
80
|
+
# SW Engineers - Frontend
|
|
81
|
+
fe-vercel-agent:
|
|
82
|
+
keywords:
|
|
83
|
+
korean: [리액트, 버셀, 넥스트]
|
|
84
|
+
english: [react, vercel, next, nextjs]
|
|
85
|
+
file_patterns: ["*.jsx", "*.tsx", "next.config.*", "vercel.json"]
|
|
86
|
+
supported_actions: [review, create, fix, refactor]
|
|
87
|
+
base_confidence: 40
|
|
88
|
+
|
|
89
|
+
fe-vuejs-agent:
|
|
90
|
+
keywords:
|
|
91
|
+
korean: [뷰, 뷰제이에스, 피니아]
|
|
92
|
+
english: [vue, vuejs, "vue.js", vue3, pinia, "vue router"]
|
|
93
|
+
file_patterns: ["*.vue", "vite.config.*", "vue.config.*"]
|
|
94
|
+
supported_actions: [review, create, fix, refactor]
|
|
95
|
+
base_confidence: 40
|
|
96
|
+
|
|
97
|
+
fe-svelte-agent:
|
|
98
|
+
keywords:
|
|
99
|
+
korean: [스벨트, 스벨트킷]
|
|
100
|
+
english: [svelte, sveltekit, "svelte kit"]
|
|
101
|
+
file_patterns: ["*.svelte", "svelte.config.*"]
|
|
102
|
+
supported_actions: [review, create, fix, refactor]
|
|
103
|
+
base_confidence: 40
|
|
104
|
+
|
|
105
|
+
# SW Engineers - Backend
|
|
106
|
+
be-fastapi-expert:
|
|
107
|
+
keywords:
|
|
108
|
+
korean: [패스트에이피아이, 패스트api]
|
|
109
|
+
english: [fastapi, starlette]
|
|
110
|
+
file_patterns: ["main.py", "app.py", "routers/*.py"]
|
|
111
|
+
supported_actions: [review, create, fix, refactor]
|
|
112
|
+
base_confidence: 35
|
|
113
|
+
|
|
114
|
+
be-springboot-expert:
|
|
115
|
+
keywords:
|
|
116
|
+
korean: [스프링, 스프링부트]
|
|
117
|
+
english: [spring, springboot, "spring boot", java]
|
|
118
|
+
file_patterns: ["*.java", "pom.xml", "build.gradle", "application.yml", "application.properties"]
|
|
119
|
+
supported_actions: [review, create, fix, refactor]
|
|
120
|
+
base_confidence: 35
|
|
121
|
+
|
|
122
|
+
be-go-backend-expert:
|
|
123
|
+
keywords:
|
|
124
|
+
korean: [고 백엔드, "go 백엔드", "go api"]
|
|
125
|
+
english: ["go backend", "go api", gin, echo, fiber]
|
|
126
|
+
file_patterns: ["*.go", "go.mod"]
|
|
127
|
+
supported_actions: [review, create, fix, refactor]
|
|
128
|
+
base_confidence: 35
|
|
129
|
+
|
|
130
|
+
# SW Engineers - Backend (continued)
|
|
131
|
+
be-express-expert:
|
|
132
|
+
keywords:
|
|
133
|
+
korean: [익스프레스, 노드]
|
|
134
|
+
english: [express, expressjs, "express.js", node]
|
|
135
|
+
file_patterns: ["*.js", "*.ts", "package.json", "app.js", "server.js"]
|
|
136
|
+
supported_actions: [review, create, fix, refactor]
|
|
137
|
+
base_confidence: 35
|
|
138
|
+
|
|
139
|
+
be-nestjs-expert:
|
|
140
|
+
keywords:
|
|
141
|
+
korean: [네스트, 네스트제이에스]
|
|
142
|
+
english: [nestjs, nest, "nest.js"]
|
|
143
|
+
file_patterns: ["*.ts", "nest-cli.json", "*.module.ts", "*.controller.ts"]
|
|
144
|
+
supported_actions: [review, create, fix, refactor]
|
|
145
|
+
base_confidence: 35
|
|
146
|
+
|
|
147
|
+
# SW Engineers - Tooling
|
|
148
|
+
tool-bun-expert:
|
|
149
|
+
keywords:
|
|
150
|
+
korean: [번, 번런타임]
|
|
151
|
+
english: [bun, bunx, "bun.js", bunfig]
|
|
152
|
+
file_patterns: ["bunfig.toml", "bun.lockb", "*.bun.ts"]
|
|
153
|
+
supported_actions: [build, test, run, migrate, review]
|
|
154
|
+
base_confidence: 40
|
|
155
|
+
|
|
156
|
+
tool-npm-expert:
|
|
157
|
+
keywords:
|
|
158
|
+
korean: [npm, 패키지, 배포, 퍼블리시]
|
|
159
|
+
english: [npm, publish, package, registry, version]
|
|
160
|
+
file_patterns: ["package.json", ".npmrc", ".npmignore"]
|
|
161
|
+
supported_actions: [publish, version, audit, pack]
|
|
162
|
+
base_confidence: 40
|
|
163
|
+
|
|
164
|
+
tool-optimizer:
|
|
165
|
+
keywords:
|
|
166
|
+
korean: [최적화, 번들, 성능, 트리쉐이킹]
|
|
167
|
+
english: [optimize, bundle, performance, "tree-shaking", "dead code"]
|
|
168
|
+
file_patterns: []
|
|
169
|
+
supported_actions: [analyze, optimize, report, bundle]
|
|
170
|
+
base_confidence: 40
|
|
171
|
+
|
|
172
|
+
# SW Engineers - Database
|
|
173
|
+
db-supabase-expert:
|
|
174
|
+
keywords:
|
|
175
|
+
korean: [수퍼베이스, 수파베이스]
|
|
176
|
+
english: [supabase, postgres, postgresql]
|
|
177
|
+
file_patterns: ["*.sql", "supabase/*"]
|
|
178
|
+
supported_actions: [review, create, fix, migrate]
|
|
179
|
+
base_confidence: 40
|
|
180
|
+
|
|
181
|
+
# SW Architects
|
|
182
|
+
arch-documenter:
|
|
183
|
+
keywords:
|
|
184
|
+
korean: [문서, 설명서, 리드미]
|
|
185
|
+
english: [document, docs, readme, documentation]
|
|
186
|
+
file_patterns: ["*.md", "README*", "CHANGELOG*"]
|
|
187
|
+
supported_actions: [create, review]
|
|
188
|
+
base_confidence: 35
|
|
189
|
+
|
|
190
|
+
arch-speckit-agent:
|
|
191
|
+
keywords:
|
|
192
|
+
korean: [스펙, 명세, 스펙키트]
|
|
193
|
+
english: [spec, specification, speckit, design]
|
|
194
|
+
file_patterns: ["*.spec.md", "*.spec.yaml", "specs/*"]
|
|
195
|
+
supported_actions: [spec, design, document]
|
|
196
|
+
base_confidence: 40
|
|
197
|
+
|
|
198
|
+
# Infra Engineers
|
|
199
|
+
infra-docker-expert:
|
|
200
|
+
keywords:
|
|
201
|
+
korean: [도커, 컨테이너]
|
|
202
|
+
english: [docker, container, dockerfile]
|
|
203
|
+
file_patterns: ["Dockerfile", "docker-compose.yml", "docker-compose.yaml", ".dockerignore"]
|
|
204
|
+
supported_actions: [review, create, fix, explain]
|
|
205
|
+
base_confidence: 40
|
|
206
|
+
|
|
207
|
+
infra-aws-expert:
|
|
208
|
+
keywords:
|
|
209
|
+
korean: [에이더블유에스, 아마존, 클라우드]
|
|
210
|
+
english: [aws, amazon, cloud, s3, ec2, lambda, ecs, eks]
|
|
211
|
+
file_patterns: ["*.tf", "serverless.yml", "template.yaml", "cloudformation.*"]
|
|
212
|
+
supported_actions: [review, create, fix, explain]
|
|
213
|
+
base_confidence: 40
|
|
214
|
+
|
|
215
|
+
# Managers
|
|
216
|
+
mgr-creator:
|
|
217
|
+
keywords:
|
|
218
|
+
korean: [에이전트 생성, 에이전트 만들어]
|
|
219
|
+
english: ["create agent", "new agent"]
|
|
220
|
+
file_patterns: []
|
|
221
|
+
supported_actions: [create]
|
|
222
|
+
base_confidence: 50
|
|
223
|
+
|
|
224
|
+
mgr-updater:
|
|
225
|
+
keywords:
|
|
226
|
+
korean: [업데이트, 동기화]
|
|
227
|
+
english: [update, sync]
|
|
228
|
+
file_patterns: []
|
|
229
|
+
supported_actions: [review, fix]
|
|
230
|
+
base_confidence: 50
|
|
231
|
+
|
|
232
|
+
mgr-supplier:
|
|
233
|
+
keywords:
|
|
234
|
+
korean: [검사, 의존성, 감사]
|
|
235
|
+
english: [audit, check, dependency, validate]
|
|
236
|
+
file_patterns: []
|
|
237
|
+
supported_actions: [review]
|
|
238
|
+
base_confidence: 50
|
|
239
|
+
|
|
240
|
+
# QA Team
|
|
241
|
+
qa-planner:
|
|
242
|
+
keywords:
|
|
243
|
+
korean: [테스트 계획, QA 계획, 테스트 전략]
|
|
244
|
+
english: ["test plan", "qa plan", "test strategy", "test scenarios"]
|
|
245
|
+
file_patterns: []
|
|
246
|
+
supported_actions: [plan, scenarios, criteria]
|
|
247
|
+
base_confidence: 40
|
|
248
|
+
|
|
249
|
+
qa-writer:
|
|
250
|
+
keywords:
|
|
251
|
+
korean: [테스트 케이스, 테스트 문서, 테스트 리포트]
|
|
252
|
+
english: ["test case", "test documentation", "test report", "qa documentation"]
|
|
253
|
+
file_patterns: []
|
|
254
|
+
supported_actions: [write, report, template]
|
|
255
|
+
base_confidence: 40
|
|
256
|
+
|
|
257
|
+
qa-engineer:
|
|
258
|
+
keywords:
|
|
259
|
+
korean: [테스트 실행, 테스트 수행, 회귀 테스트, 자동화 테스트]
|
|
260
|
+
english: ["run tests", "execute tests", "regression", "automate test", "verify fix"]
|
|
261
|
+
file_patterns: ["*_test.*", "*.spec.*", "test_*.*"]
|
|
262
|
+
supported_actions: [execute, verify, automate, regress]
|
|
263
|
+
base_confidence: 40
|
|
264
|
+
|
|
265
|
+
# QA Lead (Orchestrator)
|
|
266
|
+
qa-lead:
|
|
267
|
+
keywords:
|
|
268
|
+
korean: [품질 리드, QA 리드, 테스트 조율]
|
|
269
|
+
english: ["qa lead", "quality lead", "test coordination"]
|
|
270
|
+
file_patterns: []
|
|
271
|
+
supported_actions: [coordinate, review, lead]
|
|
272
|
+
base_confidence: 40
|
|
273
|
+
|
|
274
|
+
# System Agents
|
|
275
|
+
sys-naggy:
|
|
276
|
+
keywords:
|
|
277
|
+
korean: [할일, 태스크, 리마인드, 알림]
|
|
278
|
+
english: [todo, task, remind, reminder]
|
|
279
|
+
file_patterns: []
|
|
280
|
+
supported_actions: [list, add, done, complete, priority, remind]
|
|
281
|
+
base_confidence: 40
|
|
282
|
+
|
|
283
|
+
sys-memory-keeper:
|
|
284
|
+
keywords:
|
|
285
|
+
korean: [메모리, 기억, 저장, 회상]
|
|
286
|
+
english: [memory, remember, recall, save]
|
|
287
|
+
file_patterns: []
|
|
288
|
+
supported_actions: [save, recall, remember]
|
|
289
|
+
base_confidence: 40
|
|
290
|
+
|
|
291
|
+
# Managers (continued)
|
|
292
|
+
mgr-gitnerd:
|
|
293
|
+
keywords:
|
|
294
|
+
korean: [커밋, 브랜치, 푸시, 풀, 머지, 리베이스]
|
|
295
|
+
english: [git, commit, branch, pr, push, pull, merge, rebase]
|
|
296
|
+
file_patterns: [".gitignore", ".gitattributes"]
|
|
297
|
+
supported_actions: [commit, branch, pr, sync, status, push, pull, merge]
|
|
298
|
+
base_confidence: 40
|
|
299
|
+
|
|
300
|
+
mgr-sync-checker:
|
|
301
|
+
keywords:
|
|
302
|
+
korean: [동기화, 싱크, 검증]
|
|
303
|
+
english: [sync, synchronization, check, verify]
|
|
304
|
+
file_patterns: ["index.yaml", "AGENTS.md", "COMMANDS.md"]
|
|
305
|
+
supported_actions: [check, agents, commands, docs, fix]
|
|
306
|
+
base_confidence: 40
|
|
307
|
+
|
|
308
|
+
mgr-sauron:
|
|
309
|
+
keywords:
|
|
310
|
+
korean: [검증, 전체검증, 무결성, 사우론]
|
|
311
|
+
english: [verify, verification, sauron, "full check", "system integrity", "r017"]
|
|
312
|
+
file_patterns: []
|
|
313
|
+
supported_actions: [watch, quick, report, verify]
|
|
314
|
+
base_confidence: 40
|
|
315
|
+
|
|
316
|
+
mgr-claude-code-bible:
|
|
317
|
+
keywords:
|
|
318
|
+
korean: [공식문서, 바이블, 클로드코드 문서]
|
|
319
|
+
english: ["claude code docs", "official docs", bible, "code.codex.com", "native verification"]
|
|
320
|
+
file_patterns: []
|
|
321
|
+
supported_actions: [fetch, verify, check]
|
|
322
|
+
base_confidence: 40
|
|
323
|
+
|
|
324
|
+
# Master
|
|
325
|
+
planner:
|
|
326
|
+
keywords:
|
|
327
|
+
korean: [계획, 설계, 전략, 아키텍처]
|
|
328
|
+
english: [plan, architect, strategy, design]
|
|
329
|
+
file_patterns: []
|
|
330
|
+
supported_actions: [plan, design, architect]
|
|
331
|
+
base_confidence: 40
|
|
332
|
+
|
|
333
|
+
# Orchestrators
|
|
334
|
+
dev-lead:
|
|
335
|
+
keywords:
|
|
336
|
+
korean: [조율, 리뷰, 리드, 개발리드]
|
|
337
|
+
english: [lead, coordinate, review, "dev lead"]
|
|
338
|
+
file_patterns: []
|
|
339
|
+
supported_actions: [coordinate, review, lead]
|
|
340
|
+
base_confidence: 40
|
|
341
|
+
|
|
342
|
+
secretary:
|
|
343
|
+
keywords:
|
|
344
|
+
korean: [에이전트, 관리, 오케스트레이션]
|
|
345
|
+
english: [manage, agent, orchestrate]
|
|
346
|
+
file_patterns: []
|
|
347
|
+
supported_actions: [manage, create, coordinate]
|
|
348
|
+
base_confidence: 40
|
|
349
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kafka-best-practices
|
|
3
|
+
description: Apache Kafka best practices for event streaming, topic design, and producer-consumer patterns
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Apache Kafka Best Practices
|
|
8
|
+
|
|
9
|
+
## Producer Patterns
|
|
10
|
+
|
|
11
|
+
### Idempotent Producer (CRITICAL)
|
|
12
|
+
- Enable `enable.idempotence=true`
|
|
13
|
+
- Prevents duplicate messages
|
|
14
|
+
- Requires `acks=all`, `retries > 0`, `max.in.flight.requests.per.connection <= 5`
|
|
15
|
+
|
|
16
|
+
### Exactly-Once Semantics
|
|
17
|
+
- Use transactional API: `initTransactions()`, `beginTransaction()`, `commitTransaction()`
|
|
18
|
+
- For exactly-once end-to-end processing
|
|
19
|
+
|
|
20
|
+
### Performance
|
|
21
|
+
- Batching: `linger.ms` (wait for batch to fill)
|
|
22
|
+
- Compression: `compression.type=snappy` or `lz4`
|
|
23
|
+
- `batch.size`: 16KB default, tune based on message size
|
|
24
|
+
|
|
25
|
+
## Consumer Patterns
|
|
26
|
+
|
|
27
|
+
### Offset Management
|
|
28
|
+
- Auto-commit: `enable.auto.commit=true` (at-least-once)
|
|
29
|
+
- Manual commit: `commitSync()` or `commitAsync()` (better control)
|
|
30
|
+
|
|
31
|
+
### Rebalancing
|
|
32
|
+
- Cooperative sticky assignor: minimal rebalancing disruption
|
|
33
|
+
- `session.timeout.ms` and `heartbeat.interval.ms` tuning
|
|
34
|
+
|
|
35
|
+
### At-Least-Once vs Exactly-Once
|
|
36
|
+
- At-least-once: default, idempotent processing required
|
|
37
|
+
- Exactly-once: transactional consumer + producer
|
|
38
|
+
|
|
39
|
+
## Topic Design
|
|
40
|
+
|
|
41
|
+
### Partitioning
|
|
42
|
+
- Partition count: based on throughput (MB/s ÷ partition throughput)
|
|
43
|
+
- Key-based partitioning for ordering guarantees
|
|
44
|
+
- More partitions = higher throughput (but more overhead)
|
|
45
|
+
|
|
46
|
+
### Retention
|
|
47
|
+
- Time-based: `retention.ms`
|
|
48
|
+
- Size-based: `retention.bytes`
|
|
49
|
+
- Log compaction: for changelog topics (`cleanup.policy=compact`)
|
|
50
|
+
|
|
51
|
+
## References
|
|
52
|
+
- [Kafka Documentation](https://kafka.apache.org/documentation/)
|