oh-my-ag 1.4.0 → 1.5.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/.agent/skills/frontend-agent/resources/component-template.tsx +20 -19
- package/.agent/skills/orchestrator/scripts/parallel-run.sh +1 -1
- package/.agent/skills/workflow-guide/SKILL.md +12 -2
- package/.agent/skills/workflow-guide/resources/examples.md +8 -5
- package/README.ko.md +42 -21
- package/README.md +40 -20
- package/bin/cli.js +148 -143
- package/package.json +7 -2
- package/.agent/skills/orchestrator/scripts/spawn-agent.sh +0 -263
|
@@ -5,15 +5,16 @@
|
|
|
5
5
|
* Follow this structure for consistency.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import type { ReactNode } from "react";
|
|
9
|
+
import { cn } from "@/lib/utils";
|
|
9
10
|
|
|
10
11
|
// 1. Type Definitions
|
|
11
12
|
interface ComponentNameProps {
|
|
12
13
|
className?: string;
|
|
13
|
-
children:
|
|
14
|
+
children: ReactNode;
|
|
14
15
|
// Add specific props here
|
|
15
|
-
variant?:
|
|
16
|
-
size?:
|
|
16
|
+
variant?: "default" | "primary" | "secondary";
|
|
17
|
+
size?: "sm" | "md" | "lg";
|
|
17
18
|
onClick?: () => void;
|
|
18
19
|
disabled?: boolean;
|
|
19
20
|
}
|
|
@@ -22,8 +23,8 @@ interface ComponentNameProps {
|
|
|
22
23
|
export function ComponentName({
|
|
23
24
|
className,
|
|
24
25
|
children,
|
|
25
|
-
variant =
|
|
26
|
-
size =
|
|
26
|
+
variant = "default",
|
|
27
|
+
size = "md",
|
|
27
28
|
onClick,
|
|
28
29
|
disabled = false,
|
|
29
30
|
}: ComponentNameProps) {
|
|
@@ -42,24 +43,26 @@ export function ComponentName({
|
|
|
42
43
|
// 6. Computed Values
|
|
43
44
|
const classes = cn(
|
|
44
45
|
// Base styles
|
|
45
|
-
|
|
46
|
+
"inline-flex items-center justify-center rounded-md font-medium transition-colors",
|
|
46
47
|
// Variants
|
|
47
48
|
{
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
"bg-primary text-primary-foreground hover:bg-primary/90":
|
|
50
|
+
variant === "primary",
|
|
51
|
+
"bg-secondary text-secondary-foreground hover:bg-secondary/80":
|
|
52
|
+
variant === "secondary",
|
|
53
|
+
"bg-background text-foreground hover:bg-accent": variant === "default",
|
|
51
54
|
},
|
|
52
55
|
// Sizes
|
|
53
56
|
{
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
"h-8 px-3 text-sm": size === "sm",
|
|
58
|
+
"h-10 px-4 text-base": size === "md",
|
|
59
|
+
"h-12 px-6 text-lg": size === "lg",
|
|
57
60
|
},
|
|
58
61
|
// States
|
|
59
62
|
{
|
|
60
|
-
|
|
63
|
+
"opacity-50 cursor-not-allowed": disabled,
|
|
61
64
|
},
|
|
62
|
-
className
|
|
65
|
+
className,
|
|
63
66
|
);
|
|
64
67
|
|
|
65
68
|
// 7. Render
|
|
@@ -82,11 +85,9 @@ ComponentName.Slot = function ComponentNameSlot({
|
|
|
82
85
|
children,
|
|
83
86
|
}: ComponentNameProps) {
|
|
84
87
|
return (
|
|
85
|
-
<div className={cn(
|
|
86
|
-
{children}
|
|
87
|
-
</div>
|
|
88
|
+
<div className={cn("flex items-center gap-2", className)}>{children}</div>
|
|
88
89
|
);
|
|
89
90
|
};
|
|
90
91
|
|
|
91
92
|
// 9. Display Name (for debugging)
|
|
92
|
-
ComponentName.displayName =
|
|
93
|
+
ComponentName.displayName = "ComponentName";
|
|
@@ -126,7 +126,7 @@ parse_inline_tasks() {
|
|
|
126
126
|
|
|
127
127
|
# Spawn in background
|
|
128
128
|
(
|
|
129
|
-
|
|
129
|
+
oh-my-ag agent:spawn "$agent" "$task" "parallel-${TIMESTAMP}" "$workspace" \
|
|
130
130
|
> "${RUN_DIR}/${agent}-${idx}.log" 2>&1
|
|
131
131
|
) &
|
|
132
132
|
|
|
@@ -6,16 +6,19 @@ description: Guide for coordinating PM, Frontend, Backend, Mobile, and QA agents
|
|
|
6
6
|
# Multi-Agent Workflow Guide
|
|
7
7
|
|
|
8
8
|
## When to use
|
|
9
|
+
|
|
9
10
|
- Complex feature spanning multiple domains (full-stack, mobile)
|
|
10
11
|
- Coordination needed between frontend, backend, mobile, and QA
|
|
11
12
|
- User wants step-by-step guidance for multi-agent coordination
|
|
12
13
|
|
|
13
14
|
## When NOT to use
|
|
15
|
+
|
|
14
16
|
- Simple single-domain task -> use the specific agent directly
|
|
15
17
|
- User wants automated execution -> use orchestrator
|
|
16
18
|
- Quick bug fixes or minor changes
|
|
17
19
|
|
|
18
20
|
## Core Rules
|
|
21
|
+
|
|
19
22
|
1. Always start with PM Agent for task decomposition
|
|
20
23
|
2. Spawn independent tasks in parallel (same priority tier)
|
|
21
24
|
3. Define API contracts before frontend/mobile tasks
|
|
@@ -27,31 +30,38 @@ description: Guide for coordinating PM, Frontend, Backend, Mobile, and QA agents
|
|
|
27
30
|
## Workflow
|
|
28
31
|
|
|
29
32
|
### Step 1: Plan with PM Agent
|
|
33
|
+
|
|
30
34
|
PM Agent analyzes requirements, selects tech stack, creates task breakdown with priorities.
|
|
31
35
|
|
|
32
36
|
### Step 2: Spawn Agents by Priority
|
|
37
|
+
|
|
33
38
|
Spawn agents via CLI:
|
|
39
|
+
|
|
34
40
|
1. Use spawn-agent.sh for each task
|
|
35
41
|
2. CLI selection follows agent_cli_mapping in user-preferences.yaml
|
|
36
42
|
3. Spawn all same-priority tasks in parallel using background processes
|
|
37
43
|
|
|
38
44
|
```bash
|
|
39
45
|
# Example: spawn backend and frontend in parallel
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
oh-my-ag agent:spawn backend "task description" session-id ./backend &
|
|
47
|
+
oh-my-ag agent:spawn frontend "task description" session-id ./frontend &
|
|
42
48
|
wait
|
|
43
49
|
```
|
|
44
50
|
|
|
45
51
|
### Step 3: Monitor & Coordinate
|
|
52
|
+
|
|
46
53
|
- Use memory read tool to poll `progress-{agent}.md` files
|
|
47
54
|
- Verify API contracts align between agents
|
|
48
55
|
- Ensure shared data models are consistent
|
|
49
56
|
|
|
50
57
|
### Step 4: QA Review
|
|
58
|
+
|
|
51
59
|
Spawn QA Agent last to review all deliverables. Address CRITICAL issues by re-spawning agents.
|
|
52
60
|
|
|
53
61
|
## Automated Alternative
|
|
62
|
+
|
|
54
63
|
For fully automated execution without manual spawning, use the **orchestrator** skill instead.
|
|
55
64
|
|
|
56
65
|
## References
|
|
66
|
+
|
|
57
67
|
- Workflow examples: `resources/examples.md`
|
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
**Input**: "JWT 인증이 있는 TODO 앱을 만들어줘"
|
|
6
6
|
|
|
7
7
|
**Workflow**:
|
|
8
|
+
|
|
8
9
|
```
|
|
9
10
|
Step 1: PM Agent plans the project
|
|
10
11
|
-> 5 tasks: auth API, CRUD API, login UI, todo UI, QA review
|
|
11
12
|
|
|
12
13
|
Step 2: Spawn Priority 1 agents via CLI
|
|
13
14
|
# Run in parallel using background processes
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
oh-my-ag agent:spawn backend "JWT authentication API + TODO CRUD" session-id ./backend &
|
|
16
|
+
oh-my-ag agent:spawn frontend "Login/Register UI" session-id ./frontend &
|
|
16
17
|
wait
|
|
17
18
|
|
|
18
19
|
Step 3: Monitor progress
|
|
@@ -35,19 +36,20 @@ Step 6: Address QA findings
|
|
|
35
36
|
**Input**: "블로그에 댓글 기능을 추가해줘"
|
|
36
37
|
|
|
37
38
|
**Workflow**:
|
|
39
|
+
|
|
38
40
|
```
|
|
39
41
|
Step 1: PM Agent analyzes existing codebase and plans
|
|
40
42
|
-> 2 tasks: Comments API, Comment Section UI
|
|
41
43
|
|
|
42
44
|
Step 2: Spawn Backend Agent first (API-first)
|
|
43
|
-
|
|
45
|
+
oh-my-ag agent:spawn backend "Comments API with nested replies, pagination" session-id ./backend
|
|
44
46
|
|
|
45
47
|
Step 3: After backend completes, spawn Frontend Agent
|
|
46
|
-
|
|
48
|
+
oh-my-ag agent:spawn frontend "Comment section UI using the new API endpoints" session-id ./frontend
|
|
47
49
|
(Sequential because frontend depends on API contracts)
|
|
48
50
|
|
|
49
51
|
Step 4: QA review
|
|
50
|
-
|
|
52
|
+
oh-my-ag agent:spawn qa "Security: XSS in comments, rate limiting; Performance: Pagination, N+1 queries" session-id .
|
|
51
53
|
```
|
|
52
54
|
|
|
53
55
|
## Example 3: When to Use Orchestrator Instead
|
|
@@ -55,6 +57,7 @@ Step 4: QA review
|
|
|
55
57
|
**User**: "자동으로 실행해줘" / "Run everything automatically"
|
|
56
58
|
|
|
57
59
|
**Response**:
|
|
60
|
+
|
|
58
61
|
```
|
|
59
62
|
"You want fully automated execution. Let me switch to the
|
|
60
63
|
orchestrator skill instead, which will:
|
package/README.ko.md
CHANGED
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
Google Antigravity IDE용 전문 에이전트 스킬 모음. PM, Frontend, Backend, Mobile, QA, Debug 전문 에이전트가 Agent Manager, CLI 기반 SubAgent Orchestrator, 실시간 Serena Memory 대시보드를 통해 협업합니다.
|
|
4
4
|
|
|
5
5
|
> **마음에 드셨나요?** 스타 눌러주세요!
|
|
6
|
+
>
|
|
6
7
|
> ```bash
|
|
7
8
|
> gh repo star first-fluke/oh-my-ag
|
|
8
9
|
> ```
|
|
9
10
|
>
|
|
10
11
|
> **풀스택 개발이 처음이신가요?** 최적화된 스타터 템플릿으로 시작필보세요:
|
|
12
|
+
>
|
|
11
13
|
> ```bash
|
|
12
14
|
> git clone https://github.com/first-fluke/fullstack-starter
|
|
13
15
|
> ```
|
|
16
|
+
>
|
|
14
17
|
> 이 스킬들이 미리 설정되어 있어 바로 멀티 에이전트 협업이 가능합니다.
|
|
15
18
|
|
|
16
19
|
## 목차
|
|
@@ -74,6 +77,7 @@ cp -r oh-my-ag/.agent/skills/frontend-agent /path/to/your-project/.agent/skills/
|
|
|
74
77
|
```
|
|
75
78
|
|
|
76
79
|
본인 프로젝트에서:
|
|
80
|
+
|
|
77
81
|
```bash
|
|
78
82
|
cd /path/to/your-project
|
|
79
83
|
npm install # 대시보드 사용할 경우
|
|
@@ -94,24 +98,28 @@ antigravity open .
|
|
|
94
98
|
### 3. 채팅으로 사용
|
|
95
99
|
|
|
96
100
|
**간단한 작업** (단일 에이전트 자동 활성화):
|
|
101
|
+
|
|
97
102
|
```
|
|
98
103
|
"Tailwind CSS로 로그인 폼 만들어줘"
|
|
99
104
|
→ frontend-agent 자동 활성화
|
|
100
105
|
```
|
|
101
106
|
|
|
102
107
|
**복잡한 프로젝트** (workflow-guide가 조율):
|
|
108
|
+
|
|
103
109
|
```
|
|
104
110
|
"사용자 인증이 있는 TODO 앱 만들어줘"
|
|
105
111
|
→ workflow-guide → PM Agent 기획 → Agent Manager에서 에이전트 생성
|
|
106
112
|
```
|
|
107
113
|
|
|
108
114
|
**명시적 조율** (유저가 워크플로우 호출):
|
|
115
|
+
|
|
109
116
|
```
|
|
110
117
|
/coordinate
|
|
111
118
|
→ 단계별: PM 기획 → 에이전트 생성 → QA 검토
|
|
112
119
|
```
|
|
113
120
|
|
|
114
121
|
**변경사항 커밋** (Conventional Commits):
|
|
122
|
+
|
|
115
123
|
```
|
|
116
124
|
/commit
|
|
117
125
|
→ 변경 분석, 커밋 타입/스코프 제안, Co-Author 포함 커밋 생성
|
|
@@ -133,6 +141,7 @@ bunx oh-my-ag dashboard:web # 웹 대시보드 (브라우저 UI)
|
|
|
133
141
|
### Progressive Disclosure (점진적 공개)
|
|
134
142
|
|
|
135
143
|
스킬을 수동으로 선택할 필요 없습니다. Antigravity가 자동으로:
|
|
144
|
+
|
|
136
145
|
1. 채팅 요청을 분석
|
|
137
146
|
2. `.agent/skills/`의 스킬 설명과 매칭
|
|
138
147
|
3. 필요한 스킬만 컨텍스트에 로드
|
|
@@ -141,6 +150,7 @@ bunx oh-my-ag dashboard:web # 웹 대시보드 (브라우저 UI)
|
|
|
141
150
|
### Agent Manager UI
|
|
142
151
|
|
|
143
152
|
복잡한 프로젝트에는 Antigravity **Agent Manager** (Mission Control)를 사용합니다:
|
|
153
|
+
|
|
144
154
|
1. PM Agent가 기획서 작성
|
|
145
155
|
2. Agent Manager UI에서 에이전트 생성
|
|
146
156
|
3. 에이전트들이 별도 워크스페이스에서 병렬 작업
|
|
@@ -153,11 +163,11 @@ bunx oh-my-ag dashboard:web # 웹 대시보드 (브라우저 UI)
|
|
|
153
163
|
|
|
154
164
|
```bash
|
|
155
165
|
# 단일 에이전트
|
|
156
|
-
|
|
166
|
+
oh-my-ag agent:spawn backend "인증 API 구현" session-01 ./backend
|
|
157
167
|
|
|
158
|
-
# 병렬
|
|
159
|
-
|
|
160
|
-
|
|
168
|
+
# 병렬 실행 (orchestrator 스킬 사용 시)
|
|
169
|
+
oh-my-ag agent:spawn backend "인증 API 구현" session-01 ./backend &
|
|
170
|
+
oh-my-ag agent:spawn frontend "로그인 폼 생성" session-01 ./frontend &
|
|
161
171
|
wait
|
|
162
172
|
```
|
|
163
173
|
|
|
@@ -185,6 +195,7 @@ agent_cli_mapping:
|
|
|
185
195
|
```
|
|
186
196
|
|
|
187
197
|
**CLI 우선순위**:
|
|
198
|
+
|
|
188
199
|
1. `--vendor` 명령줄 인자
|
|
189
200
|
2. `user-preferences.yaml`의 `agent_cli_mapping`
|
|
190
201
|
3. `user-preferences.yaml`의 `default_cli`
|
|
@@ -246,6 +257,7 @@ bunx oh-my-ag dashboard:web
|
|
|
246
257
|
```
|
|
247
258
|
|
|
248
259
|
기능:
|
|
260
|
+
|
|
249
261
|
- WebSocket 실시간 푸시 (폴링 없음)
|
|
250
262
|
- 연결 끊김 시 자동 재연결
|
|
251
263
|
- 볼라색 Serena 테마 UI
|
|
@@ -300,9 +312,6 @@ bunx oh-my-ag dashboard:web
|
|
|
300
312
|
│ # └── snippets.md (코드 스니펫)
|
|
301
313
|
├── .serena/
|
|
302
314
|
│ └── memories/ # 런타임 상태 (gitignore 처리됨)
|
|
303
|
-
├── scripts/
|
|
304
|
-
│ ├── spawn-subagent.sh # 서브에이전트 실행기
|
|
305
|
-
│ └── poll-status.sh # 상태 폴링
|
|
306
315
|
├── package.json
|
|
307
316
|
├── README.md # 영문 가이드
|
|
308
317
|
├── README.ko.md # 한글 가이드 (이 파일)
|
|
@@ -352,38 +361,47 @@ bunx oh-my-ag dashboard:web
|
|
|
352
361
|
## 스킬 개요
|
|
353
362
|
|
|
354
363
|
### workflow-guide
|
|
364
|
+
|
|
355
365
|
**발동 조건**: 복잡한 멀티 도메인 요청
|
|
356
366
|
**역할**: PM, Frontend, Backend, Mobile, QA 에이전트 조율 안내
|
|
357
367
|
|
|
358
368
|
### pm-agent
|
|
369
|
+
|
|
359
370
|
**발동 조건**: "기획해줘", "분석해줘", "뭘 만들어야 할까"
|
|
360
371
|
**산출물**: `.agent/plan.json` (태스크, 우선순위, 의존성)
|
|
361
372
|
|
|
362
373
|
### frontend-agent
|
|
374
|
+
|
|
363
375
|
**발동 조건**: UI, 컴포넌트, 스타일링, 클라이언트 로직
|
|
364
376
|
**기술 스택**: Next.js 14, TypeScript, Tailwind CSS, shadcn/ui
|
|
365
377
|
|
|
366
378
|
### backend-agent
|
|
379
|
+
|
|
367
380
|
**발동 조건**: API, 데이터베이스, 인증
|
|
368
381
|
**기술 스택**: FastAPI, SQLAlchemy, PostgreSQL, Redis, JWT
|
|
369
382
|
|
|
370
383
|
### mobile-agent
|
|
384
|
+
|
|
371
385
|
**발동 조건**: 모바일 앱, iOS/Android
|
|
372
386
|
**기술 스택**: Flutter 3.19+, Dart, Riverpod
|
|
373
387
|
|
|
374
388
|
### qa-agent
|
|
389
|
+
|
|
375
390
|
**발동 조건**: "보안 검토해줘", "성능 확인", "감사해줘"
|
|
376
391
|
**검사 항목**: OWASP Top 10, Lighthouse, WCAG 2.1 AA
|
|
377
392
|
|
|
378
393
|
### debug-agent
|
|
394
|
+
|
|
379
395
|
**발동 조건**: 버그 리포트, 에러 메시지, 크래시
|
|
380
396
|
**산출물**: 수정된 코드, 회귀 테스트, 버그 문서
|
|
381
397
|
|
|
382
398
|
### orchestrator
|
|
399
|
+
|
|
383
400
|
**발동 조건**: 프로그래밍 방식의 서브에이전트 실행
|
|
384
401
|
**지원 CLI**: Gemini, Claude, Codex, Qwen (설정 가능)
|
|
385
402
|
|
|
386
403
|
### commit
|
|
404
|
+
|
|
387
405
|
**발동 조건**: "커밋해줘", "commit", "변경사항 저장"
|
|
388
406
|
**형식**: Conventional Commits + Co-Author 태그
|
|
389
407
|
**설정**: `.agent/skills/commit/config/commit-config.yaml`
|
|
@@ -391,17 +409,22 @@ bunx oh-my-ag dashboard:web
|
|
|
391
409
|
## 사전 요구 사항
|
|
392
410
|
|
|
393
411
|
- **Google Antigravity** (2026+)
|
|
394
|
-
- **
|
|
395
|
-
|
|
412
|
+
- **Bun** (CLI 및 대시보드용)
|
|
413
|
+
|
|
414
|
+
SubAgent Orchestrator를 사용하려면 먼저 패키지를 전역으로 설치해야 합니다:
|
|
396
415
|
|
|
397
|
-
|
|
416
|
+
```bash
|
|
417
|
+
bun install --global oh-my-ag
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
그 후 최소 1개의 CLI 도구가 필요합니다:
|
|
398
421
|
|
|
399
422
|
| CLI | 설치 | 인증 |
|
|
400
423
|
|-----|------|------|
|
|
401
|
-
| Gemini | `
|
|
402
|
-
| Claude | `
|
|
403
|
-
| Codex | `
|
|
404
|
-
| Qwen | `
|
|
424
|
+
| Gemini | `bun install --global @anthropic-ai/gemini-cli` | `gemini auth` |
|
|
425
|
+
| Claude | `bun install --global @anthropic-ai/claude-code` | `claude auth` |
|
|
426
|
+
| Codex | `bun install --global @openai/codex` | `codex auth` |
|
|
427
|
+
| Qwen | `bun install --global @qwen-code/qwen` | `qwen auth` |
|
|
405
428
|
|
|
406
429
|
## CLI 명령어
|
|
407
430
|
|
|
@@ -415,27 +438,25 @@ bunx oh-my-ag stats --reset # 메트릭 초기화
|
|
|
415
438
|
bunx oh-my-ag retro # 세션 회고 (배운 점 & 다음 단계)
|
|
416
439
|
bunx oh-my-ag dashboard # 터미널 실시간 대시보드
|
|
417
440
|
bunx oh-my-ag dashboard:web # 웹 대시보드 (http://localhost:9847)
|
|
441
|
+
bunx oh-my-ag dashboard:web # 웹 대시보드 (http://localhost:9847)
|
|
442
|
+
bunx oh-my-ag bridge # MCP stdio - SSE 브릿지 (Serena용)
|
|
418
443
|
bunx oh-my-ag help # 도움말 표시
|
|
419
444
|
```
|
|
420
445
|
|
|
421
446
|
## 문제 해결
|
|
422
447
|
|
|
423
448
|
### 대시보드에 "No agents detected" 표시
|
|
424
|
-
메모리 파일이 아직 생성되지 않았습니다. Orchestrator를 실행하거나 `.serena/memories/`에 수동으로 파일을 생성하세요.
|
|
425
|
-
|
|
426
|
-
### 웹 대시보드가 시작되지 않음
|
|
427
|
-
먼저 `npm install`로 `chokidar`와 `ws` 의존성을 설치하세요.
|
|
428
449
|
|
|
429
|
-
|
|
430
|
-
macOS: `brew install fswatch`
|
|
431
|
-
Linux: `apt install inotify-tools`
|
|
450
|
+
메모리 파일이 아직 생성되지 않았습니다. Orchestrator를 실행하거나 `.serena/memories/`에 수동으로 파일을 생성하세요.
|
|
432
451
|
|
|
433
452
|
### Antigravity에서 스킬이 로드되지 않음
|
|
453
|
+
|
|
434
454
|
1. `antigravity open .`으로 프로젝트 열기
|
|
435
455
|
2. `.agent/skills/` 폴더와 `SKILL.md` 파일 확인
|
|
436
456
|
3. Antigravity IDE 재시작
|
|
437
457
|
|
|
438
458
|
### 에이전트 간 코드 불일치
|
|
459
|
+
|
|
439
460
|
1. `.gemini/antigravity/brain/`에서 산출물 검토
|
|
440
461
|
2. 다른 에이전트의 산출물을 참조하여 재생성
|
|
441
462
|
3. QA Agent로 최종 일관성 검사
|
package/README.md
CHANGED
|
@@ -5,14 +5,17 @@
|
|
|
5
5
|
Professional agent skills for Google Antigravity IDE featuring specialized PM, Frontend, Backend, Mobile, QA, and Debug agents — coordinated through Antigravity's Agent Manager, CLI-based SubAgent Orchestrator, and real-time Serena Memory dashboards.
|
|
6
6
|
|
|
7
7
|
> **Like this project?** Give it a star!
|
|
8
|
+
>
|
|
8
9
|
> ```bash
|
|
9
10
|
> gh api --method PUT /user/starred/first-fluke/oh-my-ag
|
|
10
11
|
> ```
|
|
11
12
|
>
|
|
12
13
|
> **New to fullstack development?** Try our optimized starter template:
|
|
14
|
+
>
|
|
13
15
|
> ```bash
|
|
14
16
|
> git clone https://github.com/first-fluke/fullstack-starter
|
|
15
17
|
> ```
|
|
18
|
+
>
|
|
16
19
|
> Pre-configured with these skills for instant multi-agent collaboration.
|
|
17
20
|
|
|
18
21
|
## Table of Contents
|
|
@@ -130,24 +133,28 @@ This creates `.agent/config/user-preferences.yaml` for your project.
|
|
|
130
133
|
### 3. Chat
|
|
131
134
|
|
|
132
135
|
**Simple task** (single agent auto-activates):
|
|
136
|
+
|
|
133
137
|
```
|
|
134
138
|
"Create a login form with Tailwind CSS and form validation"
|
|
135
139
|
→ frontend-agent activates
|
|
136
140
|
```
|
|
137
141
|
|
|
138
142
|
**Complex project** (workflow-guide coordinates):
|
|
143
|
+
|
|
139
144
|
```
|
|
140
145
|
"Build a TODO app with user authentication"
|
|
141
146
|
→ workflow-guide → PM Agent plans → agents spawned in Agent Manager
|
|
142
147
|
```
|
|
143
148
|
|
|
144
149
|
**Explicit coordination** (user-triggered workflow):
|
|
150
|
+
|
|
145
151
|
```
|
|
146
152
|
/coordinate
|
|
147
153
|
→ Step-by-step: PM planning → agent spawning → QA review
|
|
148
154
|
```
|
|
149
155
|
|
|
150
156
|
**Commit changes** (conventional commits):
|
|
157
|
+
|
|
151
158
|
```
|
|
152
159
|
/commit
|
|
153
160
|
→ Analyze changes, suggest commit type/scope, create commit with Co-Author
|
|
@@ -166,6 +173,7 @@ bunx oh-my-ag dashboard:web # Web dashboard (Node.js)
|
|
|
166
173
|
### Progressive Disclosure
|
|
167
174
|
|
|
168
175
|
You don't manually select skills. Antigravity automatically:
|
|
176
|
+
|
|
169
177
|
1. Scans your chat request
|
|
170
178
|
2. Matches against skill descriptions in `.agent/skills/`
|
|
171
179
|
3. Loads the relevant skill only when needed
|
|
@@ -174,6 +182,7 @@ You don't manually select skills. Antigravity automatically:
|
|
|
174
182
|
### Agent Manager UI
|
|
175
183
|
|
|
176
184
|
For complex projects, use Antigravity's **Agent Manager** (Mission Control):
|
|
185
|
+
|
|
177
186
|
1. PM Agent creates a plan
|
|
178
187
|
2. You spawn agents in the Agent Manager UI
|
|
179
188
|
3. Agents work in parallel with separate workspaces
|
|
@@ -186,11 +195,11 @@ For programmatic parallel execution:
|
|
|
186
195
|
|
|
187
196
|
```bash
|
|
188
197
|
# Single agent
|
|
189
|
-
|
|
198
|
+
oh-my-ag agent:spawn backend "Implement auth API" session-01 ./backend
|
|
190
199
|
|
|
191
200
|
# Parallel agents via orchestrator skill
|
|
192
|
-
|
|
193
|
-
|
|
201
|
+
oh-my-ag agent:spawn backend "Implement auth API" session-01 ./backend &
|
|
202
|
+
oh-my-ag agent:spawn frontend "Create login form" session-01 ./frontend &
|
|
194
203
|
wait
|
|
195
204
|
```
|
|
196
205
|
|
|
@@ -218,6 +227,7 @@ agent_cli_mapping:
|
|
|
218
227
|
```
|
|
219
228
|
|
|
220
229
|
**CLI Resolution Priority**:
|
|
230
|
+
|
|
221
231
|
1. `--vendor` command line argument
|
|
222
232
|
2. `agent_cli_mapping` from user-preferences.yaml
|
|
223
233
|
3. `default_cli` from user-preferences.yaml
|
|
@@ -276,6 +286,7 @@ bunx oh-my-ag dashboard:web
|
|
|
276
286
|
```
|
|
277
287
|
|
|
278
288
|
Features:
|
|
289
|
+
|
|
279
290
|
- Real-time WebSocket push (no polling)
|
|
280
291
|
- Auto-reconnect on disconnection
|
|
281
292
|
- Purple Serena-themed UI
|
|
@@ -330,9 +341,6 @@ Features:
|
|
|
330
341
|
│ # └── snippets.md (copy-paste patterns)
|
|
331
342
|
├── .serena/
|
|
332
343
|
│ └── memories/ # Runtime state (gitignored)
|
|
333
|
-
├── scripts/
|
|
334
|
-
│ ├── spawn-subagent.sh # Sub-agent spawner
|
|
335
|
-
│ └── poll-status.sh # Status polling
|
|
336
344
|
├── package.json
|
|
337
345
|
├── README.md # This file (English)
|
|
338
346
|
├── README.ko.md # Korean guide
|
|
@@ -382,38 +390,47 @@ Each skill provides domain-specific resources:
|
|
|
382
390
|
## Skills Overview
|
|
383
391
|
|
|
384
392
|
### workflow-guide
|
|
393
|
+
|
|
385
394
|
**Triggers**: Complex multi-domain requests
|
|
386
395
|
**Does**: Guides coordination of PM, Frontend, Backend, Mobile, QA agents
|
|
387
396
|
|
|
388
397
|
### pm-agent
|
|
398
|
+
|
|
389
399
|
**Triggers**: "plan this", "break down", "what should we build"
|
|
390
400
|
**Output**: `.agent/plan.json` with tasks, priorities, dependencies
|
|
391
401
|
|
|
392
402
|
### frontend-agent
|
|
403
|
+
|
|
393
404
|
**Triggers**: UI, components, styling, client-side logic
|
|
394
405
|
**Stack**: Next.js 14, TypeScript, Tailwind CSS, shadcn/ui
|
|
395
406
|
|
|
396
407
|
### backend-agent
|
|
408
|
+
|
|
397
409
|
**Triggers**: APIs, databases, authentication
|
|
398
410
|
**Stack**: FastAPI, SQLAlchemy, PostgreSQL, Redis, JWT
|
|
399
411
|
|
|
400
412
|
### mobile-agent
|
|
413
|
+
|
|
401
414
|
**Triggers**: Mobile apps, iOS/Android
|
|
402
415
|
**Stack**: Flutter 3.19+, Dart, Riverpod
|
|
403
416
|
|
|
404
417
|
### qa-agent
|
|
418
|
+
|
|
405
419
|
**Triggers**: "review security", "check performance", "audit"
|
|
406
420
|
**Checks**: OWASP Top 10, Lighthouse, WCAG 2.1 AA
|
|
407
421
|
|
|
408
422
|
### debug-agent
|
|
423
|
+
|
|
409
424
|
**Triggers**: Bug reports, error messages, crashes
|
|
410
425
|
**Output**: Fixed code, regression tests, bug documentation
|
|
411
426
|
|
|
412
427
|
### orchestrator
|
|
428
|
+
|
|
413
429
|
**Triggers**: Programmatic sub-agent execution
|
|
414
430
|
**CLIs**: Gemini, Claude, Codex, Qwen (configurable)
|
|
415
431
|
|
|
416
432
|
### commit
|
|
433
|
+
|
|
417
434
|
**Triggers**: "commit", "커밋해줘", "save changes"
|
|
418
435
|
**Format**: Conventional Commits with Co-Author tag
|
|
419
436
|
**Config**: `.agent/skills/commit/config/commit-config.yaml`
|
|
@@ -421,17 +438,22 @@ Each skill provides domain-specific resources:
|
|
|
421
438
|
## Prerequisites
|
|
422
439
|
|
|
423
440
|
- **Google Antigravity** (2026+)
|
|
424
|
-
- **
|
|
425
|
-
|
|
441
|
+
- **Bun** (for CLI and dashboards)
|
|
442
|
+
|
|
443
|
+
To use the core tools, install the package globally:
|
|
426
444
|
|
|
427
|
-
|
|
445
|
+
```bash
|
|
446
|
+
bun install --global oh-my-ag
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
For SubAgent Orchestrator, you'll also need at least one CLI tool:
|
|
428
450
|
|
|
429
451
|
| CLI | Install | Auth |
|
|
430
452
|
|-----|---------|------|
|
|
431
|
-
| Gemini | `
|
|
432
|
-
| Claude | `
|
|
433
|
-
| Codex | `
|
|
434
|
-
| Qwen | `
|
|
453
|
+
| Gemini | `bun install --global @anthropic-ai/gemini-cli` | `gemini auth` |
|
|
454
|
+
| Claude | `bun install --global @anthropic-ai/claude-code` | `claude auth` |
|
|
455
|
+
| Codex | `bun install --global @openai/codex` | `codex auth` |
|
|
456
|
+
| Qwen | `bun install --global @qwen-code/qwen` | `qwen auth` |
|
|
435
457
|
|
|
436
458
|
## CLI Commands
|
|
437
459
|
|
|
@@ -445,27 +467,25 @@ bunx oh-my-ag stats --reset # Reset metrics
|
|
|
445
467
|
bunx oh-my-ag retro # Session retrospective (learnings & next steps)
|
|
446
468
|
bunx oh-my-ag dashboard # Terminal real-time dashboard
|
|
447
469
|
bunx oh-my-ag dashboard:web # Web dashboard (http://localhost:9847)
|
|
470
|
+
bunx oh-my-ag dashboard:web # Web dashboard (http://localhost:9847)
|
|
471
|
+
bunx oh-my-ag bridge # Bridge MCP stdio to SSE (for Serena)
|
|
448
472
|
bunx oh-my-ag help # Show help
|
|
449
473
|
```
|
|
450
474
|
|
|
451
475
|
## Troubleshooting
|
|
452
476
|
|
|
453
477
|
### Dashboard shows "No agents detected"
|
|
454
|
-
Memory files haven't been created yet. Run the orchestrator or manually create files in `.serena/memories/`.
|
|
455
|
-
|
|
456
|
-
### Web dashboard won't start
|
|
457
|
-
Run `npm install` first to install `chokidar` and `ws` dependencies.
|
|
458
478
|
|
|
459
|
-
|
|
460
|
-
macOS: `brew install fswatch`
|
|
461
|
-
Linux: `apt install inotify-tools`
|
|
479
|
+
Memory files haven't been created yet. Run the orchestrator or manually create files in `.serena/memories/`.
|
|
462
480
|
|
|
463
481
|
### Skills not loading in Antigravity
|
|
482
|
+
|
|
464
483
|
1. Open project with `antigravity open .`
|
|
465
484
|
2. Verify `.agent/skills/` folder and `SKILL.md` files exist
|
|
466
485
|
3. Restart Antigravity IDE
|
|
467
486
|
|
|
468
487
|
### Agents producing incompatible code
|
|
488
|
+
|
|
469
489
|
1. Review outputs in `.gemini/antigravity/brain/`
|
|
470
490
|
2. Re-spawn one agent referencing the other's output
|
|
471
491
|
3. Use QA Agent for final consistency check
|