oh-my-ag 1.4.1 → 1.5.1

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.
@@ -5,15 +5,16 @@
5
5
  * Follow this structure for consistency.
6
6
  */
7
7
 
8
- import { cn } from '@/lib/utils';
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: React.ReactNode;
14
+ children: ReactNode;
14
15
  // Add specific props here
15
- variant?: 'default' | 'primary' | 'secondary';
16
- size?: 'sm' | 'md' | 'lg';
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 = 'default',
26
- size = 'md',
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
- 'inline-flex items-center justify-center rounded-md font-medium transition-colors',
46
+ "inline-flex items-center justify-center rounded-md font-medium transition-colors",
46
47
  // Variants
47
48
  {
48
- 'bg-primary text-primary-foreground hover:bg-primary/90': variant === 'primary',
49
- 'bg-secondary text-secondary-foreground hover:bg-secondary/80': variant === 'secondary',
50
- 'bg-background text-foreground hover:bg-accent': variant === 'default',
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
- 'h-8 px-3 text-sm': size === 'sm',
55
- 'h-10 px-4 text-base': size === 'md',
56
- 'h-12 px-6 text-lg': size === 'lg',
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
- 'opacity-50 cursor-not-allowed': disabled,
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('flex items-center gap-2', className)}>
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 = 'ComponentName';
93
+ ComponentName.displayName = "ComponentName";
@@ -126,7 +126,7 @@ parse_inline_tasks() {
126
126
 
127
127
  # Spawn in background
128
128
  (
129
- "$SPAWN_SCRIPT" "$agent" "$task" "$workspace" $VENDOR_FLAG \
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
- .agent/skills/orchestrator/scripts/spawn-agent.sh backend "task description" ./backend &
41
- .agent/skills/orchestrator/scripts/spawn-agent.sh frontend "task description" ./frontend &
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
- .agent/skills/orchestrator/scripts/spawn-agent.sh backend "JWT authentication API + TODO CRUD" ./backend &
15
- .agent/skills/orchestrator/scripts/spawn-agent.sh frontend "Login/Register UI" ./frontend &
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
- .agent/skills/orchestrator/scripts/spawn-agent.sh backend "Comments API with nested replies, pagination" ./backend
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
- .agent/skills/orchestrator/scripts/spawn-agent.sh frontend "Comment section UI using the new API endpoints" ./frontend
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
- .agent/skills/orchestrator/scripts/spawn-agent.sh qa "Security: XSS in comments, rate limiting; Performance: Pagination, N+1 queries" .
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
  ## 목차
@@ -22,7 +25,7 @@ Google Antigravity IDE용 전문 에이전트 스킬 모음. PM, Frontend, Backe
22
25
  - [프로젝트 구조](#프로젝트-구조)
23
26
  - [스킬 아키텍처](#스킬-아키텍처)
24
27
  - [스킬 개요](#스킬-개요)
25
- - [사전 요구 사항](#사전-요구-사항)
28
+
26
29
  - [CLI 명령어](#cli-명령어)
27
30
  - [문제 해결](#문제-해결)
28
31
  - [라이선스](#라이선스)
@@ -45,7 +48,48 @@ Google Antigravity IDE용 전문 에이전트 스킬 모음. PM, Frontend, Backe
45
48
 
46
49
  ## 빠른 시작
47
50
 
48
- ### 1. 클론 & 열기
51
+ ### 사전 요구 사항
52
+
53
+ - **Google Antigravity** (2026+)
54
+ - **Bun** (CLI 및 대시보드용)
55
+
56
+ ### 옵션 1: 대화형 CLI (권장)
57
+
58
+ ```bash
59
+ # bun이 없으면 먼저 설치:
60
+ # curl -fsSL https://bun.sh/install | bash
61
+
62
+ bunx oh-my-ag
63
+ ```
64
+
65
+ 프로젝트 타입을 선택하면 `.agent/skills/`에 스킬이 설치됩니다.
66
+
67
+ | 프리셋 | 스킬 |
68
+ |--------|--------|
69
+ | ✨ All | 전체 |
70
+ | 🌐 Fullstack | frontend, backend, pm, qa, debug, commit |
71
+ | 🎨 Frontend | frontend, pm, qa, debug, commit |
72
+ | ⚙️ Backend | backend, pm, qa, debug, commit |
73
+ | 📱 Mobile | mobile, pm, qa, debug, commit |
74
+
75
+ ### 옵션 2: 전역 설치 (Orchestrator용)
76
+
77
+ SubAgent Orchestrator를 사용하거나 도구를 전역에서 사용하려면:
78
+
79
+ ```bash
80
+ bun install --global oh-my-ag
81
+ ```
82
+
83
+ 최소 1개의 CLI 도구가 필요합니다:
84
+
85
+ | CLI | 설치 | 인증 |
86
+ |-----|------|------|
87
+ | Gemini | `bun install --global @anthropic-ai/gemini-cli` | `gemini auth` |
88
+ | Claude | `bun install --global @anthropic-ai/claude-code` | `claude auth` |
89
+ | Codex | `bun install --global @openai/codex` | `codex auth` |
90
+ | Qwen | `bun install --global @qwen-code/qwen` | `qwen auth` |
91
+
92
+ ### 옵션 3: 클론 & 열기
49
93
 
50
94
  ```bash
51
95
  git clone <repository-url>
@@ -55,25 +99,36 @@ antigravity open .
55
99
 
56
100
  Antigravity가 `.agent/skills/`의 스킬을 자동 감지합니다.
57
101
 
58
- ### 기존 프로젝트에 통합하기
102
+ ### 옵션 4: 기존 프로젝트에 통합하기
103
+
104
+ **권장 방법 (CLI):**
59
105
 
60
- 이미 Antigravity 프로젝트가 있다면 스킬만 복사하면 됩니다:
106
+ 기존 프로젝트의 루트 디렉토리에서 다음 명령어를 실행하면 스킬과 워크플로우가 자동으로 설치됩니다:
61
107
 
62
108
  ```bash
63
- # 옵션 1: 스킬만 복사
64
- cp -r oh-my-ag/.agent/skills /path/to/your-project/.agent/
109
+ bunx oh-my-ag
110
+ ```
65
111
 
66
- # 옵션 2: 스킬 + 대시보드
112
+ > **팁:** 설치 `bunx oh-my-ag doctor`를 실행하여 모든 설정(전역 워크플로우 포함)이 올바른지 확인하세요.
113
+
114
+ **수동 방법 (파일 복사):**
115
+
116
+ 이미 oh-my-ag 저장소를 클론했다면 파일 복사로도 가능합니다:
117
+
118
+ ```bash
119
+ # 1. 스킬 복사
67
120
  cp -r oh-my-ag/.agent/skills /path/to/your-project/.agent/
68
121
 
69
- cp oh-my-ag/package.json /path/to/your-project/ # 의존성 병합
122
+ # 2. 워크플로우 복사
123
+ cp -r oh-my-ag/.agent/workflows /path/to/your-project/.agent/
70
124
 
71
- # 옵션 3: 특정 스킬만
72
- cp -r oh-my-ag/.agent/skills/backend-agent /path/to/your-project/.agent/skills/
73
- cp -r oh-my-ag/.agent/skills/frontend-agent /path/to/your-project/.agent/skills/
125
+ # 3. 설정 복사 (선택)
126
+ cp -r oh-my-ag/.agent/config /path/to/your-project/.agent/
127
+ cp oh-my-ag/package.json /path/to/your-project/ # 의존성 병합
74
128
  ```
75
129
 
76
130
  본인 프로젝트에서:
131
+
77
132
  ```bash
78
133
  cd /path/to/your-project
79
134
  npm install # 대시보드 사용할 경우
@@ -94,24 +149,28 @@ antigravity open .
94
149
  ### 3. 채팅으로 사용
95
150
 
96
151
  **간단한 작업** (단일 에이전트 자동 활성화):
152
+
97
153
  ```
98
154
  "Tailwind CSS로 로그인 폼 만들어줘"
99
155
  → frontend-agent 자동 활성화
100
156
  ```
101
157
 
102
158
  **복잡한 프로젝트** (workflow-guide가 조율):
159
+
103
160
  ```
104
161
  "사용자 인증이 있는 TODO 앱 만들어줘"
105
162
  → workflow-guide → PM Agent 기획 → Agent Manager에서 에이전트 생성
106
163
  ```
107
164
 
108
165
  **명시적 조율** (유저가 워크플로우 호출):
166
+
109
167
  ```
110
168
  /coordinate
111
169
  → 단계별: PM 기획 → 에이전트 생성 → QA 검토
112
170
  ```
113
171
 
114
172
  **변경사항 커밋** (Conventional Commits):
173
+
115
174
  ```
116
175
  /commit
117
176
  → 변경 분석, 커밋 타입/스코프 제안, Co-Author 포함 커밋 생성
@@ -133,6 +192,7 @@ bunx oh-my-ag dashboard:web # 웹 대시보드 (브라우저 UI)
133
192
  ### Progressive Disclosure (점진적 공개)
134
193
 
135
194
  스킬을 수동으로 선택할 필요 없습니다. Antigravity가 자동으로:
195
+
136
196
  1. 채팅 요청을 분석
137
197
  2. `.agent/skills/`의 스킬 설명과 매칭
138
198
  3. 필요한 스킬만 컨텍스트에 로드
@@ -141,6 +201,7 @@ bunx oh-my-ag dashboard:web # 웹 대시보드 (브라우저 UI)
141
201
  ### Agent Manager UI
142
202
 
143
203
  복잡한 프로젝트에는 Antigravity **Agent Manager** (Mission Control)를 사용합니다:
204
+
144
205
  1. PM Agent가 기획서 작성
145
206
  2. Agent Manager UI에서 에이전트 생성
146
207
  3. 에이전트들이 별도 워크스페이스에서 병렬 작업
@@ -153,11 +214,11 @@ bunx oh-my-ag dashboard:web # 웹 대시보드 (브라우저 UI)
153
214
 
154
215
  ```bash
155
216
  # 단일 에이전트
156
- ./scripts/spawn-subagent.sh backend "인증 API 구현" ./backend
217
+ oh-my-ag agent:spawn backend "인증 API 구현" session-01 ./backend
157
218
 
158
- # 병렬 에이전트
159
- ./scripts/spawn-subagent.sh backend "인증 API 구현" ./backend &
160
- ./scripts/spawn-subagent.sh frontend "로그인 폼 생성" ./frontend &
219
+ # 병렬 실행 (orchestrator 스킬 사용 시)
220
+ oh-my-ag agent:spawn backend "인증 API 구현" session-01 ./backend &
221
+ oh-my-ag agent:spawn frontend "로그인 폼 생성" session-01 ./frontend &
161
222
  wait
162
223
  ```
163
224
 
@@ -185,6 +246,7 @@ agent_cli_mapping:
185
246
  ```
186
247
 
187
248
  **CLI 우선순위**:
249
+
188
250
  1. `--vendor` 명령줄 인자
189
251
  2. `user-preferences.yaml`의 `agent_cli_mapping`
190
252
  3. `user-preferences.yaml`의 `default_cli`
@@ -246,6 +308,7 @@ bunx oh-my-ag dashboard:web
246
308
  ```
247
309
 
248
310
  기능:
311
+
249
312
  - WebSocket 실시간 푸시 (폴링 없음)
250
313
  - 연결 끊김 시 자동 재연결
251
314
  - 볼라색 Serena 테마 UI
@@ -300,9 +363,6 @@ bunx oh-my-ag dashboard:web
300
363
  │ # └── snippets.md (코드 스니펫)
301
364
  ├── .serena/
302
365
  │ └── memories/ # 런타임 상태 (gitignore 처리됨)
303
- ├── scripts/
304
- │ ├── spawn-subagent.sh # 서브에이전트 실행기
305
- │ └── poll-status.sh # 상태 폴링
306
366
  ├── package.json
307
367
  ├── README.md # 영문 가이드
308
368
  ├── README.ko.md # 한글 가이드 (이 파일)
@@ -352,56 +412,51 @@ bunx oh-my-ag dashboard:web
352
412
  ## 스킬 개요
353
413
 
354
414
  ### workflow-guide
415
+
355
416
  **발동 조건**: 복잡한 멀티 도메인 요청
356
417
  **역할**: PM, Frontend, Backend, Mobile, QA 에이전트 조율 안내
357
418
 
358
419
  ### pm-agent
420
+
359
421
  **발동 조건**: "기획해줘", "분석해줘", "뭘 만들어야 할까"
360
422
  **산출물**: `.agent/plan.json` (태스크, 우선순위, 의존성)
361
423
 
362
424
  ### frontend-agent
425
+
363
426
  **발동 조건**: UI, 컴포넌트, 스타일링, 클라이언트 로직
364
427
  **기술 스택**: Next.js 14, TypeScript, Tailwind CSS, shadcn/ui
365
428
 
366
429
  ### backend-agent
430
+
367
431
  **발동 조건**: API, 데이터베이스, 인증
368
432
  **기술 스택**: FastAPI, SQLAlchemy, PostgreSQL, Redis, JWT
369
433
 
370
434
  ### mobile-agent
435
+
371
436
  **발동 조건**: 모바일 앱, iOS/Android
372
437
  **기술 스택**: Flutter 3.19+, Dart, Riverpod
373
438
 
374
439
  ### qa-agent
440
+
375
441
  **발동 조건**: "보안 검토해줘", "성능 확인", "감사해줘"
376
442
  **검사 항목**: OWASP Top 10, Lighthouse, WCAG 2.1 AA
377
443
 
378
444
  ### debug-agent
445
+
379
446
  **발동 조건**: 버그 리포트, 에러 메시지, 크래시
380
447
  **산출물**: 수정된 코드, 회귀 테스트, 버그 문서
381
448
 
382
449
  ### orchestrator
450
+
383
451
  **발동 조건**: 프로그래밍 방식의 서브에이전트 실행
384
452
  **지원 CLI**: Gemini, Claude, Codex, Qwen (설정 가능)
385
453
 
386
454
  ### commit
455
+
387
456
  **발동 조건**: "커밋해줘", "commit", "변경사항 저장"
388
457
  **형식**: Conventional Commits + Co-Author 태그
389
458
  **설정**: `.agent/skills/commit/config/commit-config.yaml`
390
459
 
391
- ## 사전 요구 사항
392
-
393
- - **Google Antigravity** (2026+)
394
- - **Bun** (CLI 및 대시보드용)
395
-
396
- SubAgent Orchestrator를 사용하려면 최소 1개의 CLI 도구 필요:
397
-
398
- | CLI | 설치 | 인증 |
399
- |-----|------|------|
400
- | Gemini | `bun install --global @anthropic-ai/gemini-cli` | `gemini auth` |
401
- | Claude | `bun install --global @anthropic-ai/claude-code` | `claude auth` |
402
- | Codex | `bun install --global @openai/codex` | `codex auth` |
403
- | Qwen | `bun install --global @qwen-code/qwen` | `qwen auth` |
404
-
405
460
  ## CLI 명령어
406
461
 
407
462
  ```bash
@@ -414,20 +469,25 @@ bunx oh-my-ag stats --reset # 메트릭 초기화
414
469
  bunx oh-my-ag retro # 세션 회고 (배운 점 & 다음 단계)
415
470
  bunx oh-my-ag dashboard # 터미널 실시간 대시보드
416
471
  bunx oh-my-ag dashboard:web # 웹 대시보드 (http://localhost:9847)
472
+ bunx oh-my-ag dashboard:web # 웹 대시보드 (http://localhost:9847)
473
+ bunx oh-my-ag bridge # MCP stdio - SSE 브릿지 (Serena용)
417
474
  bunx oh-my-ag help # 도움말 표시
418
475
  ```
419
476
 
420
477
  ## 문제 해결
421
478
 
422
479
  ### 대시보드에 "No agents detected" 표시
480
+
423
481
  메모리 파일이 아직 생성되지 않았습니다. Orchestrator를 실행하거나 `.serena/memories/`에 수동으로 파일을 생성하세요.
424
482
 
425
483
  ### Antigravity에서 스킬이 로드되지 않음
484
+
426
485
  1. `antigravity open .`으로 프로젝트 열기
427
486
  2. `.agent/skills/` 폴더와 `SKILL.md` 파일 확인
428
487
  3. Antigravity IDE 재시작
429
488
 
430
489
  ### 에이전트 간 코드 불일치
490
+
431
491
  1. `.gemini/antigravity/brain/`에서 산출물 검토
432
492
  2. 다른 에이전트의 산출물을 참조하여 재생성
433
493
  3. QA Agent로 최종 일관성 검사