agestra 4.7.0 → 4.8.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.ja.md +8 -27
- package/README.ko.md +244 -263
- package/README.md +244 -263
- package/README.zh.md +8 -27
- package/agents/agestra-designer.md +20 -4
- package/agents/agestra-ideator.md +20 -5
- package/agents/agestra-moderator.md +34 -17
- package/agents/agestra-qa.md +20 -5
- package/agents/agestra-reviewer.md +20 -3
- package/agents/agestra-team-lead.md +93 -80
- package/commands/design.md +26 -56
- package/commands/idea.md +22 -56
- package/commands/review.md +63 -93
- package/dist/bundle.js +423 -624
- package/hooks/user-prompt-submit.js +90 -25
- package/package.json +1 -1
- package/skills/design.md +29 -52
- package/skills/idea.md +307 -212
- package/skills/provider-guide.md +15 -21
- package/skills/review.md +45 -66
- package/skills/setup.md +98 -0
- package/skills/trace.md +3 -2
package/README.ko.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
# Agestra
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/agestra)
|
|
4
|
-
[](LICENSE)
|
|
5
|
-
|
|
1
|
+
# Agestra
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/agestra)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
|
|
6
6
|
**Agent + Orchestra** — Claude Code, Codex CLI, Gemini CLI에서 공통으로 쓰는 멀티 호스트 오케스트레이션 툴킷.
|
|
7
|
-
|
|
7
|
+
|
|
8
8
|
[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [中文](README.zh.md)
|
|
9
|
-
|
|
10
|
-
Agestra는 Claude 호스트, Ollama(로컬), Gemini CLI, Codex CLI를 플러그형 공급자로 연결합니다. 독립 취합, 합의 토론, 자율 CLI 워커, 병렬 작업 분배, 교차 검증, 품질 기반 공급자
|
|
11
|
-
|
|
9
|
+
|
|
10
|
+
Agestra는 Claude 호스트, Ollama(로컬), Gemini CLI, Codex CLI를 플러그형 공급자로 연결합니다. 독립 취합, 합의 토론, 자율 CLI 워커, 병렬 작업 분배, 교차 검증, 품질 기반 공급자 라우팅을 25개 MCP 도구로 제공합니다.
|
|
11
|
+
|
|
12
12
|
## 빠른 시작
|
|
13
13
|
|
|
14
14
|
### Claude Code
|
|
@@ -74,17 +74,17 @@ Gemini는 저장소 루트의 [GEMINI.md](GEMINI.md)와 [`.gemini/commands/agest
|
|
|
74
74
|
- `/agestra:design`
|
|
75
75
|
- `/agestra:idea`
|
|
76
76
|
- `/agestra:implement`
|
|
77
|
-
|
|
78
|
-
### 사전 요구사항
|
|
79
|
-
|
|
80
|
-
최소 하나의 AI 공급자가 설치되어야 합니다:
|
|
81
|
-
|
|
82
|
-
| 공급자 | 설치 | 유형 |
|
|
83
|
-
|--------|------|------|
|
|
84
|
-
| [Ollama](https://ollama.com/) | `curl -fsSL https://ollama.com/install.sh \| sh` | 로컬 LLM |
|
|
85
|
-
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `npm install -g @google/gemini-cli` | 클라우드 |
|
|
86
|
-
| [Codex CLI](https://github.com/openai/codex) | `npm install -g @openai/codex` | 클라우드 |
|
|
87
|
-
|
|
77
|
+
|
|
78
|
+
### 사전 요구사항
|
|
79
|
+
|
|
80
|
+
최소 하나의 AI 공급자가 설치되어야 합니다:
|
|
81
|
+
|
|
82
|
+
| 공급자 | 설치 | 유형 |
|
|
83
|
+
|--------|------|------|
|
|
84
|
+
| [Ollama](https://ollama.com/) | `curl -fsSL https://ollama.com/install.sh \| sh` | 로컬 LLM |
|
|
85
|
+
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `npm install -g @google/gemini-cli` | 클라우드 |
|
|
86
|
+
| [Codex CLI](https://github.com/openai/codex) | `npm install -g @openai/codex` | 클라우드 |
|
|
87
|
+
|
|
88
88
|
선택 사항이지만 권장:
|
|
89
89
|
- **tmux** — 자율 실행 중 CLI 워커 패인을 시각적으로 확인 가능
|
|
90
90
|
- **Windows의 ripgrep (`rg`)** — Codex가 Store 앱 번들 경로의 `rg`를 잡아서 `Access is denied` 오류가 나면, 별도 ripgrep를 설치해 정상 `rg.exe`가 `PATH`에서 먼저 잡히게 하세요:
|
|
@@ -100,11 +100,11 @@ winget install BurntSushi.ripgrep.MSVC
|
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
---
|
|
103
|
-
|
|
104
|
-
## 철학
|
|
105
|
-
|
|
106
|
-
**멀티 AI는 검증을 위한 것이지, 토큰 절약을 위한 것이 아닙니다.** 리뷰, 설계 탐색, 아이디어 발굴 워크플로우는 검증 프로세스로 설계되었습니다 — 속도를 위한 병렬화가 아니라, 사각지대를 잡기 위해 여러 AI 공급자로부터 독립적인 의견을 얻는 것입니다.
|
|
107
|
-
|
|
103
|
+
|
|
104
|
+
## 철학
|
|
105
|
+
|
|
106
|
+
**멀티 AI는 검증을 위한 것이지, 토큰 절약을 위한 것이 아닙니다.** 리뷰, 설계 탐색, 아이디어 발굴 워크플로우는 검증 프로세스로 설계되었습니다 — 속도를 위한 병렬화가 아니라, 사각지대를 잡기 위해 여러 AI 공급자로부터 독립적인 의견을 얻는 것입니다.
|
|
107
|
+
|
|
108
108
|
## 호스트별 진입 방식
|
|
109
109
|
|
|
110
110
|
| 호스트 | 자연스러운 진입 방식 |
|
|
@@ -116,127 +116,121 @@ winget install BurntSushi.ripgrep.MSVC
|
|
|
116
116
|
세 호스트 모두 같은 MCP 서버와 `commands/*.md` 공유 워크플로우를 사용합니다.
|
|
117
117
|
|
|
118
118
|
## 커맨드
|
|
119
|
-
|
|
120
|
-
| 커맨드 | 설명 |
|
|
121
|
-
|--------|------|
|
|
119
|
+
|
|
120
|
+
| 커맨드 | 설명 |
|
|
121
|
+
|--------|------|
|
|
122
122
|
| `/agestra review [대상]` | 코드 품질, 보안, 통합 완성도 검증 |
|
|
123
123
|
| `/agestra idea [주제]` | 유사 프로젝트 비교를 통한 개선점 발굴 |
|
|
124
124
|
| `/agestra design [주제]` | 구현 전 아키텍처 및 설계 트레이드오프 탐색 |
|
|
125
|
+
| `/agestra setup` | 초기 AI 공급자 선택 및 설정 |
|
|
125
126
|
| `/agestra implement [작업]` | Claude only 또는 Multi-AI 모드로 실제 구현 진행 |
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
|
132
|
-
|
|
133
|
-
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
|
143
|
-
|
|
144
|
-
| `
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
|
149
|
-
|
|
150
|
-
| `
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
|
165
|
-
|--------|------|
|
|
166
|
-
| `@agestra/core` | `AIProvider` 인터페이스, 난이도 기반 라우팅 레지스트리, 설정 로더, CLI 러너, 원자적 쓰기, 작업 큐, 시크릿 스캐너, 워크트리 관리자, 태스크 매니페스트, CLI 워커 관리자 |
|
|
167
|
-
| `@agestra/provider-ollama` | Ollama HTTP 어댑터 (모델 자동 감지) |
|
|
168
|
-
| `@agestra/provider-gemini` | Google Gemini CLI 어댑터 |
|
|
169
|
-
| `@agestra/provider-codex` | OpenAI Codex CLI 어댑터 |
|
|
170
|
-
| `@agestra/agents` | 합의 검출 토론 엔진, 턴 품질 평가기, 작업 분배기, 교차 검증기, 작업 체인, 자동 QA, 파일 변경 추적기, 세션 관리자 |
|
|
127
|
+
|
|
128
|
+
외부 공급자가 있으면 텍스트 커맨드(review, design, idea)는 곧바로 끝장토론 모드로 진입하여 멀티 AI 교차 검증을 수행합니다. 공급자가 없으면 자동으로 Claude 단독 모드로 작동합니다.
|
|
129
|
+
|
|
130
|
+
## 에이전트
|
|
131
|
+
|
|
132
|
+
| 에이전트 | 모델 | 역할 |
|
|
133
|
+
|----------|------|------|
|
|
134
|
+
| `agestra-team-lead` | Sonnet | 풀 오케스트레이터 — 환경 체크, 품질 기반 공급자 라우팅, 작업 모드 선택, CLI 워커 감독, QA 루프 |
|
|
135
|
+
| `agestra-reviewer` | Opus | 엄격한 품질 검증 — 보안, 고아 시스템, 스펙 이탈, 테스트 공백 |
|
|
136
|
+
| `agestra-designer` | Opus | 아키텍처 탐색 — 소크라테스식 질문, 트레이드오프 분석 |
|
|
137
|
+
| `agestra-ideator` | Sonnet | 개선점 발굴 — 웹 리서치, 경쟁 분석 |
|
|
138
|
+
| `agestra-moderator` | Sonnet | 다목적 진행자 — 합의 검출 토론, 독립 취합, 문서 라운드 리뷰, 충돌 해결 |
|
|
139
|
+
| `agestra-qa` | Opus | QA 검증 — 설계 준수, PASS/FAIL 판정 |
|
|
140
|
+
|
|
141
|
+
## 스킬
|
|
142
|
+
|
|
143
|
+
| 스킬 | 설명 |
|
|
144
|
+
|------|------|
|
|
145
|
+
| `provider-guide` | 공급자 라우팅, 모드 참조, 오케스트레이션 파이프라인 |
|
|
146
|
+
| `worker-manage` | CLI 워커 목록, 상태 확인, 결과 수집, 중지 |
|
|
147
|
+
| `cancel` | 워커, 토론, 체인, 작업의 정상 종료 |
|
|
148
|
+
| `build-fix` | 빌드/타입체크/린트 에러 자동 진단 및 수정 |
|
|
149
|
+
| `trace` | 에이전트 실행 타임라인 및 흐름 다이어그램 조회 |
|
|
150
|
+
| `design` | 멀티 AI 모드 선택이 포함된 아키텍처 탐색 워크플로우 |
|
|
151
|
+
| `idea` | 멀티 AI 모드 선택이 포함된 개선점 발굴 워크플로우 |
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 아키텍처
|
|
156
|
+
|
|
157
|
+
Turborepo 모노레포, 9개 패키지:
|
|
158
|
+
|
|
159
|
+
| 패키지 | 설명 |
|
|
160
|
+
|--------|------|
|
|
161
|
+
| `@agestra/core` | `AIProvider` 인터페이스, 난이도 기반 라우팅 레지스트리, 설정 로더, CLI 러너, 원자적 쓰기, 작업 큐, 시크릿 스캐너, 워크트리 관리자, 태스크 매니페스트, CLI 워커 관리자 |
|
|
162
|
+
| `@agestra/provider-ollama` | Ollama HTTP 어댑터 (모델 자동 감지) |
|
|
163
|
+
| `@agestra/provider-gemini` | Google Gemini CLI 어댑터 |
|
|
164
|
+
| `@agestra/provider-codex` | OpenAI Codex CLI 어댑터 |
|
|
165
|
+
| `@agestra/agents` | 합의 검출 토론 엔진, 턴 품질 평가기, 작업 분배기, 교차 검증기, 작업 체인, 자동 QA, 파일 변경 추적기, 세션 관리자 |
|
|
171
166
|
| `@agestra/workspace` | 리뷰, 분석 메모, 통합 보고서를 위한 워크스페이스 문서 관리자 |
|
|
172
|
-
| `@agestra/
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
167
|
+
| `@agestra/mcp-server` | MCP 프로토콜 레이어, 25개 도구, 환경별 도구 필터링, 디스패치 |
|
|
168
|
+
|
|
169
|
+
### 설계 원칙
|
|
170
|
+
|
|
177
171
|
- **공급자 추상화** — 모든 백엔드가 `AIProvider`(`chat`, `healthCheck`, `getCapabilities`)를 구현. 새 공급자 추가는 전용 패키지 구현과 팩토리 등록으로 분리됩니다.
|
|
178
|
-
- **제로 설정** — 시작 시 공급자를 자동 감지. 수동 설정 불필요.
|
|
172
|
+
- **제로 설정** — 시작 시 공급자를 자동 감지. 수동 설정 불필요.
|
|
179
173
|
- **호스트 네이티브** — Claude는 플러그인 번들을, Codex는 `AGENTS.md`를, Gemini는 `GEMINI.md`와 프로젝트 커맨드를 사용하지만 내부 MCP 서버와 워크플로우 코어는 공통으로 공유합니다.
|
|
180
|
-
- **모듈형 디스패치** — 각 도구 카테고리가 `getTools()` + `handleTool()`을 내보내는 독립 모듈. 서버가 동적으로 수집·디스패치.
|
|
181
|
-
- **원자적 쓰기** — 모든 파일 연산이 임시 파일 → rename 방식. 크래시 시 손상 방지.
|
|
182
|
-
- **실패 추적** — 실패한 접근법이
|
|
183
|
-
- **사전 보안 검증** — CLI 워커 스폰 시 시크릿 스캔 + 배열 기반 프로세스 인자로 인젝션 방지.
|
|
184
|
-
|
|
185
|
-
### 작업 모드
|
|
186
|
-
|
|
187
|
-
**텍스트 작업** (리뷰, 설계, 아이디어):
|
|
188
|
-
|
|
189
|
-
**구현 작업** (team-lead 오케스트레이션):
|
|
190
|
-
- **Claude만으로** — Claude가 프로젝트/전역 에이전트를 활용해 직접 구현.
|
|
191
|
-
- **다른 AI도 함께** — CLI 워커(Codex/Gemini)가 격리된 git worktree에서 자율 코딩, Ollama가 단순 작업 처리, Claude가 감독 및 병합.
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## 도구 (
|
|
196
|
-
|
|
197
|
-
### AI 채팅 (3개)
|
|
198
|
-
|
|
199
|
-
| 도구 | 설명 |
|
|
200
|
-
|------|------|
|
|
174
|
+
- **모듈형 디스패치** — 각 도구 카테고리가 `getTools()` + `handleTool()`을 내보내는 독립 모듈. 서버가 동적으로 수집·디스패치.
|
|
175
|
+
- **원자적 쓰기** — 모든 파일 연산이 임시 파일 → rename 방식. 크래시 시 손상 방지.
|
|
176
|
+
- **실패 추적** — 실패한 접근법이 자동 기록, 이후 프롬프트에 주입.
|
|
177
|
+
- **사전 보안 검증** — CLI 워커 스폰 시 시크릿 스캔 + 배열 기반 프로세스 인자로 인젝션 방지.
|
|
178
|
+
|
|
179
|
+
### 작업 모드
|
|
180
|
+
|
|
181
|
+
**텍스트 작업** (리뷰, 설계, 아이디어): 공급자 있으면 → 끝장토론; 없으면 → Claude only
|
|
182
|
+
|
|
183
|
+
**구현 작업** (team-lead 오케스트레이션):
|
|
184
|
+
- **Claude만으로** — Claude가 프로젝트/전역 에이전트를 활용해 직접 구현.
|
|
185
|
+
- **다른 AI도 함께** — CLI 워커(Codex/Gemini)가 격리된 git worktree에서 자율 코딩, Ollama가 단순 작업 처리, Claude가 감독 및 병합.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 도구 (25개)
|
|
190
|
+
|
|
191
|
+
### AI 채팅 (3개)
|
|
192
|
+
|
|
193
|
+
| 도구 | 설명 |
|
|
194
|
+
|------|------|
|
|
201
195
|
| `ai_chat` | 특정 공급자와 채팅 (품질 기반 자동 라우팅: `"auto"`); 필요하면 `save_as_document`로 응답을 문서로 저장 |
|
|
202
|
-
| `ai_analyze_files` | 파일을 디스크에서 읽어 공급자에게 질문과 함께 전송 |
|
|
203
|
-
| `ai_compare` | 같은 프롬프트를 여러 공급자에 보내 응답 비교 |
|
|
204
|
-
|
|
205
|
-
### 에이전트 오케스트레이션 (0개)
|
|
206
|
-
|
|
207
|
-
| 도구 | 설명 |
|
|
208
|
-
|------|------|
|
|
209
|
-
| `agent_debate_start` | 다중 공급자 토론 시작 (논블로킹, 품질 루프 + 검증자 옵션) |
|
|
210
|
-
| `agent_debate_status` | 토론 상태 및 트랜스크립트 확인 |
|
|
211
|
-
| `agent_debate_create` | 턴 기반 토론 세션 생성 (토론 ID 반환) |
|
|
212
|
-
| `agent_debate_turn` | 공급자 1턴 실행; `provider: "claude"`로 Claude 독립 참여 지원 |
|
|
213
|
-
| `agent_debate_conclude` | 토론 종료 및 최종 트랜스크립트 생성 |
|
|
196
|
+
| `ai_analyze_files` | 파일을 디스크에서 읽어 공급자에게 질문과 함께 전송 |
|
|
197
|
+
| `ai_compare` | 같은 프롬프트를 여러 공급자에 보내 응답 비교 |
|
|
198
|
+
|
|
199
|
+
### 에이전트 오케스트레이션 (0개)
|
|
200
|
+
|
|
201
|
+
| 도구 | 설명 |
|
|
202
|
+
|------|------|
|
|
203
|
+
| `agent_debate_start` | 다중 공급자 토론 시작 (논블로킹, 품질 루프 + 검증자 옵션) |
|
|
204
|
+
| `agent_debate_status` | 토론 상태 및 트랜스크립트 확인 |
|
|
205
|
+
| `agent_debate_create` | 턴 기반 토론 세션 생성 (토론 ID 반환) |
|
|
206
|
+
| `agent_debate_turn` | 공급자 1턴 실행; `provider: "claude"`로 Claude 독립 참여 지원 |
|
|
207
|
+
| `agent_debate_conclude` | 토론 종료 및 최종 트랜스크립트 생성 |
|
|
214
208
|
| `agent_debate_moderate` | 완전 자동화 토론 — 세션 생성, provider 라운드 실행, Specialist 선택 기록, 가능할 때 Claude host-backed 턴에 반영, 합의 검출, 요약만 반환 |
|
|
215
|
-
| `agent_debate_review` | 문서를 여러 공급자에게 독립적으로 리뷰 요청 |
|
|
216
|
-
| `agent_cross_validate` | 출력 교차 검증 (에이전트 등급 검증자만 가능) |
|
|
217
|
-
| `agent_changes_review` | 격리된 작업의 파일 변경 리뷰 |
|
|
218
|
-
| `agent_changes_accept` | 격리된 작업의 변경 수락 및 병합 |
|
|
219
|
-
| `agent_changes_reject` | 변경 거부 및 격리 워크트리 정리 |
|
|
220
|
-
|
|
221
|
-
### CLI 워커 (4개)
|
|
222
|
-
|
|
223
|
-
| 도구 | 설명 |
|
|
224
|
-
|------|------|
|
|
225
|
-
| `cli_worker_spawn` | CLI AI(Codex/Gemini)를 자율 모드로 스폰 — git worktree 격리 + 사전 보안 검증 |
|
|
226
|
-
| `cli_worker_status` | 워커 FSM 상태, 하트비트, 출력 미리보기 확인 |
|
|
227
|
-
| `cli_worker_collect` | 완료된 워커 결과 수집 (git diff, 출력, 종료 코드) |
|
|
228
|
-
| `cli_worker_stop` | 실행 중인 워커 중지 (SIGTERM → SIGKILL) + 워크트리 정리 |
|
|
229
|
-
|
|
230
|
-
### 환경 (1개)
|
|
231
|
-
|
|
232
|
-
| 도구 | 설명 |
|
|
233
|
-
|------|------|
|
|
234
|
-
| `environment_check` | CLI 도구, Ollama 모델 티어, tmux, git worktree 지원 여부, 사용 가능 모드 탐지 |
|
|
235
|
-
|
|
209
|
+
| `agent_debate_review` | 문서를 여러 공급자에게 독립적으로 리뷰 요청 |
|
|
210
|
+
| `agent_cross_validate` | 출력 교차 검증 (에이전트 등급 검증자만 가능) |
|
|
211
|
+
| `agent_changes_review` | 격리된 작업의 파일 변경 리뷰 |
|
|
212
|
+
| `agent_changes_accept` | 격리된 작업의 변경 수락 및 병합 |
|
|
213
|
+
| `agent_changes_reject` | 변경 거부 및 격리 워크트리 정리 |
|
|
214
|
+
|
|
215
|
+
### CLI 워커 (4개)
|
|
216
|
+
|
|
217
|
+
| 도구 | 설명 |
|
|
218
|
+
|------|------|
|
|
219
|
+
| `cli_worker_spawn` | CLI AI(Codex/Gemini)를 자율 모드로 스폰 — git worktree 격리 + 사전 보안 검증 |
|
|
220
|
+
| `cli_worker_status` | 워커 FSM 상태, 하트비트, 출력 미리보기 확인 |
|
|
221
|
+
| `cli_worker_collect` | 완료된 워커 결과 수집 (git diff, 출력, 종료 코드) |
|
|
222
|
+
| `cli_worker_stop` | 실행 중인 워커 중지 (SIGTERM → SIGKILL) + 워크트리 정리 |
|
|
223
|
+
|
|
224
|
+
### 환경 (1개)
|
|
225
|
+
|
|
226
|
+
| 도구 | 설명 |
|
|
227
|
+
|------|------|
|
|
228
|
+
| `environment_check` | CLI 도구, Ollama 모델 티어, tmux, git worktree 지원 여부, 사용 가능 모드 탐지 |
|
|
229
|
+
|
|
236
230
|
### 워크스페이스 (7개)
|
|
237
|
-
|
|
238
|
-
| 도구 | 설명 |
|
|
239
|
-
|------|------|
|
|
231
|
+
|
|
232
|
+
| 도구 | 설명 |
|
|
233
|
+
|------|------|
|
|
240
234
|
| `workspace_create_review` | 파일과 규칙이 포함된 코드 리뷰 문서 생성 |
|
|
241
235
|
| `workspace_request_review` | 공급자에게 문서 리뷰 요청 |
|
|
242
236
|
| `workspace_review_status` | 리뷰 완료 상태 확인 |
|
|
@@ -244,36 +238,25 @@ Turborepo 모노레포, 9개 패키지:
|
|
|
244
238
|
| `workspace_create_document` | 제목, 마크다운 본문, 선택 메타데이터를 가진 범용 워크스페이스 문서 생성 |
|
|
245
239
|
| `workspace_read` | 문서 내용 읽기 |
|
|
246
240
|
| `workspace_list` | 워크스페이스의 모든 문서 목록 조회 |
|
|
247
|
-
|
|
248
|
-
### 공급자 관리 (2개)
|
|
249
|
-
|
|
250
|
-
| 도구 | 설명 |
|
|
251
|
-
|------|------|
|
|
252
|
-
| `provider_list` | 공급자 목록 (상태, 능력 포함) |
|
|
253
|
-
| `provider_health` | 공급자 상태 체크 |
|
|
254
|
-
|
|
255
|
-
### Ollama (2개)
|
|
256
|
-
|
|
257
|
-
| 도구 | 설명 |
|
|
258
|
-
|------|------|
|
|
259
|
-
| `ollama_models` | 설치된 모델 및 크기, 티어 분류 목록 |
|
|
260
|
-
| `ollama_pull` | 모델 다운로드 |
|
|
261
|
-
|
|
262
|
-
###
|
|
263
|
-
|
|
264
|
-
| 도구 | 설명 |
|
|
265
|
-
|------|------|
|
|
266
|
-
| `memory_search` | 하이브리드 검색 (FTS5 + 벡터 + 그래프) |
|
|
267
|
-
| `memory_index` | 파일/디렉토리를 메모리에 인덱싱 |
|
|
268
|
-
| `memory_store` | 지식 노드 저장 (fact, decision, dead_end, finding) |
|
|
269
|
-
| `memory_dead_ends` | 이전 실패 접근법 검색 (반복 방지) |
|
|
270
|
-
| `memory_context` | 토큰 예산 내 관련 컨텍스트 조립 |
|
|
271
|
-
| `memory_add_edge` | 지식 노드 간 관계 엣지 생성 |
|
|
272
|
-
|
|
273
|
-
### 작업 (2개)
|
|
274
|
-
|
|
275
|
-
| 도구 | 설명 |
|
|
276
|
-
|------|------|
|
|
241
|
+
|
|
242
|
+
### 공급자 관리 (2개)
|
|
243
|
+
|
|
244
|
+
| 도구 | 설명 |
|
|
245
|
+
|------|------|
|
|
246
|
+
| `provider_list` | 공급자 목록 (상태, 능력 포함) |
|
|
247
|
+
| `provider_health` | 공급자 상태 체크 |
|
|
248
|
+
|
|
249
|
+
### Ollama (2개)
|
|
250
|
+
|
|
251
|
+
| 도구 | 설명 |
|
|
252
|
+
|------|------|
|
|
253
|
+
| `ollama_models` | 설치된 모델 및 크기, 티어 분류 목록 |
|
|
254
|
+
| `ollama_pull` | 모델 다운로드 |
|
|
255
|
+
|
|
256
|
+
### 작업 (2개)
|
|
257
|
+
|
|
258
|
+
| 도구 | 설명 |
|
|
259
|
+
|------|------|
|
|
277
260
|
| `cli_job_submit` | 장시간 CLI 작업을 백그라운드에 제출 |
|
|
278
261
|
| `cli_job_status` | 작업 상태 확인 및 출력 조회 |
|
|
279
262
|
|
|
@@ -282,62 +265,61 @@ Turborepo 모노레포, 9개 패키지:
|
|
|
282
265
|
| 도구 | 설명 |
|
|
283
266
|
|------|------|
|
|
284
267
|
| `qa_run` | 자동 QA 실행: 빌드/테스트 감지 및 PASS/FAIL 요약 |
|
|
285
|
-
|
|
286
|
-
### 추적 / 관측성 (3개)
|
|
287
|
-
|
|
288
|
-
| 도구 | 설명 |
|
|
289
|
-
|------|------|
|
|
290
|
-
| `trace_query` | 조건별 추적 레코드 조회 (공급자, 작업, 기간) |
|
|
291
|
-
| `trace_summary` | 공급자별 품질 통계, 성능 지표, 난이도 자격 확인 |
|
|
292
|
-
| `trace_visualize` | 추적된 작업 흐름의 Mermaid 다이어그램 생성 |
|
|
293
|
-
|
|
294
|
-
---
|
|
295
|
-
|
|
296
|
-
## 설정
|
|
297
|
-
|
|
298
|
-
### providers.config.json (선택)
|
|
299
|
-
|
|
300
|
-
Agestra는 시작 시 공급자를 자동 감지합니다. 수동 제어가 필요하면 프로젝트 루트에 `providers.config.json`을 생성하세요:
|
|
301
|
-
|
|
302
|
-
| 필드 | 설명 |
|
|
303
|
-
|------|------|
|
|
304
|
-
| `defaultProvider` | 미지정 시 사용할 공급자 ID |
|
|
305
|
-
| `providers[].id` | 고유 식별자 |
|
|
306
|
-
| `providers[].type` | `ollama`, `gemini-cli`, `codex-cli` |
|
|
307
|
-
| `providers[].enabled` | 시작 시 로드 여부 |
|
|
308
|
-
| `providers[].config` | 타입별 설정 (host, timeout 등) |
|
|
309
|
-
|
|
310
|
-
### 런타임 데이터
|
|
311
|
-
|
|
312
|
-
`.agestra/` 아래 저장 (gitignore 대상):
|
|
313
|
-
|
|
314
|
-
| 경로 | 용도 |
|
|
315
|
-
|------|------|
|
|
316
|
-
| `.agestra/sessions/` | 토론 및 작업 세션 상태 |
|
|
268
|
+
|
|
269
|
+
### 추적 / 관측성 (3개)
|
|
270
|
+
|
|
271
|
+
| 도구 | 설명 |
|
|
272
|
+
|------|------|
|
|
273
|
+
| `trace_query` | 조건별 추적 레코드 조회 (공급자, 작업, 기간) |
|
|
274
|
+
| `trace_summary` | 공급자별 품질 통계, 성능 지표, 난이도 자격 확인 |
|
|
275
|
+
| `trace_visualize` | 추적된 작업 흐름의 Mermaid 다이어그램 생성 |
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 설정
|
|
280
|
+
|
|
281
|
+
### providers.config.json (선택)
|
|
282
|
+
|
|
283
|
+
Agestra는 시작 시 공급자를 자동 감지합니다. 수동 제어가 필요하면 프로젝트 루트에 `providers.config.json`을 생성하세요:
|
|
284
|
+
|
|
285
|
+
| 필드 | 설명 |
|
|
286
|
+
|------|------|
|
|
287
|
+
| `defaultProvider` | 미지정 시 사용할 공급자 ID |
|
|
288
|
+
| `providers[].id` | 고유 식별자 |
|
|
289
|
+
| `providers[].type` | `ollama`, `gemini-cli`, `codex-cli` |
|
|
290
|
+
| `providers[].enabled` | 시작 시 로드 여부 |
|
|
291
|
+
| `providers[].config` | 타입별 설정 (host, timeout 등) |
|
|
292
|
+
|
|
293
|
+
### 런타임 데이터
|
|
294
|
+
|
|
295
|
+
`.agestra/` 아래 저장 (gitignore 대상):
|
|
296
|
+
|
|
297
|
+
| 경로 | 용도 |
|
|
298
|
+
|------|------|
|
|
299
|
+
| `.agestra/sessions/` | 토론 및 작업 세션 상태 |
|
|
317
300
|
| `.agestra/workspace/` | 워크스페이스 문서 (리뷰, 메모, 보고서) |
|
|
318
|
-
| `.agestra
|
|
319
|
-
| `.agestra/.
|
|
320
|
-
| `.agestra
|
|
321
|
-
| `.agestra/
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
npm
|
|
330
|
-
npm
|
|
331
|
-
npm
|
|
332
|
-
npm run
|
|
333
|
-
npm run
|
|
334
|
-
npm run
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
```
|
|
301
|
+
| `.agestra/.jobs/` | 백그라운드 작업 큐 |
|
|
302
|
+
| `.agestra/.workers/` | CLI 워커 상태, 매니페스트, 출력 로그 |
|
|
303
|
+
| `.agestra/worktrees/` | CLI 워커 격리 실행용 git worktree |
|
|
304
|
+
| `.agestra/traces/` | 공급자 추적 JSONL (30일 후 자동 정리) |
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## 개발
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
npm install # 의존성 설치
|
|
312
|
+
npm run build # 전체 빌드 (Turborepo)
|
|
313
|
+
npm test # 전체 테스트 (Vitest)
|
|
314
|
+
npm run bundle # 단일 파일 플러그인 번들 (esbuild)
|
|
315
|
+
npm run dev # 워치 모드
|
|
316
|
+
npm run lint # 린트 (ESLint)
|
|
317
|
+
npm run clean # dist/ 삭제
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### 프로젝트 구조
|
|
321
|
+
|
|
322
|
+
```
|
|
341
323
|
agestra/
|
|
342
324
|
├── AGENTS.md # Codex 호스트용 지침
|
|
343
325
|
├── GEMINI.md # Gemini 호스트용 지침
|
|
@@ -356,48 +338,47 @@ agestra/
|
|
|
356
338
|
│ ├── idea.md # /agestra idea — 개선점 발굴
|
|
357
339
|
│ ├── design.md # /agestra design — 아키텍처 탐색
|
|
358
340
|
│ └── implement.md # /agestra implement — 실제 구현 진행
|
|
359
|
-
├── agents/
|
|
360
|
-
│ ├── agestra-reviewer.md # 엄격한 품질 검증자 (Opus)
|
|
361
|
-
│ ├── agestra-designer.md # 아키텍처 탐색자 (Opus)
|
|
362
|
-
│ ├── agestra-ideator.md # 개선점 발굴자 (Sonnet)
|
|
363
|
-
│ ├── agestra-moderator.md # 다목적 진행자 (Sonnet)
|
|
364
|
-
│ ├── agestra-qa.md # QA 검증자 (Opus, 코드 쓰기 불가)
|
|
365
|
-
│ └── agestra-team-lead.md # 풀 오케스트레이터 (Sonnet, 코드 쓰기 불가)
|
|
366
|
-
├── skills/
|
|
367
|
-
│ ├── provider-guide.md # 공급자 라우팅 및 모드 참조
|
|
368
|
-
│ ├── worker-manage.md # CLI 워커 관리
|
|
369
|
-
│ ├── cancel.md # 정상 작업 취소
|
|
370
|
-
│ ├── build-fix.md # 빌드 에러 자동 수정
|
|
371
|
-
│ └── trace.md # 실행 타임라인 조회
|
|
372
|
-
├── hooks/
|
|
373
|
-
│ └── user-prompt-submit.md # 도구 추천 hook
|
|
374
|
-
├── dist/
|
|
375
|
-
│ └── bundle.js # 단일 파일 MCP 서버 번들
|
|
341
|
+
├── agents/
|
|
342
|
+
│ ├── agestra-reviewer.md # 엄격한 품질 검증자 (Opus)
|
|
343
|
+
│ ├── agestra-designer.md # 아키텍처 탐색자 (Opus)
|
|
344
|
+
│ ├── agestra-ideator.md # 개선점 발굴자 (Sonnet)
|
|
345
|
+
│ ├── agestra-moderator.md # 다목적 진행자 (Sonnet)
|
|
346
|
+
│ ├── agestra-qa.md # QA 검증자 (Opus, 코드 쓰기 불가)
|
|
347
|
+
│ └── agestra-team-lead.md # 풀 오케스트레이터 (Sonnet, 코드 쓰기 불가)
|
|
348
|
+
├── skills/
|
|
349
|
+
│ ├── provider-guide.md # 공급자 라우팅 및 모드 참조
|
|
350
|
+
│ ├── worker-manage.md # CLI 워커 관리
|
|
351
|
+
│ ├── cancel.md # 정상 작업 취소
|
|
352
|
+
│ ├── build-fix.md # 빌드 에러 자동 수정
|
|
353
|
+
│ └── trace.md # 실행 타임라인 조회
|
|
354
|
+
├── hooks/
|
|
355
|
+
│ └── user-prompt-submit.md # 도구 추천 hook
|
|
356
|
+
├── dist/
|
|
357
|
+
│ └── bundle.js # 단일 파일 MCP 서버 번들
|
|
376
358
|
├── scripts/
|
|
377
359
|
│ ├── bundle.mjs # esbuild 번들 스크립트
|
|
378
360
|
│ ├── install-host-mcp.mjs # Codex/Gemini에 Agestra 등록
|
|
379
361
|
│ └── uninstall-host-mcp.mjs # Codex/Gemini에서 Agestra 제거
|
|
380
362
|
├── packages/
|
|
381
|
-
│ ├── core/ # AIProvider 인터페이스, 레지스트리, 보안, 워커
|
|
382
|
-
│ ├── provider-ollama/ # Ollama HTTP 어댑터
|
|
383
|
-
│ ├── provider-gemini/ # Gemini CLI 어댑터
|
|
384
|
-
│ ├── provider-codex/ # Codex CLI 어댑터
|
|
385
|
-
│ ├── agents/ # 토론 엔진, 분배기, 교차 검증기
|
|
363
|
+
│ ├── core/ # AIProvider 인터페이스, 레지스트리, 보안, 워커
|
|
364
|
+
│ ├── provider-ollama/ # Ollama HTTP 어댑터
|
|
365
|
+
│ ├── provider-gemini/ # Gemini CLI 어댑터
|
|
366
|
+
│ ├── provider-codex/ # Codex CLI 어댑터
|
|
367
|
+
│ ├── agents/ # 토론 엔진, 분배기, 교차 검증기
|
|
386
368
|
│ ├── workspace/ # 워크스페이스 문서 관리자
|
|
387
|
-
│
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
369
|
+
│ └── mcp-server/ # MCP 서버, 25개 도구, 환경별 필터링, 디스패치
|
|
370
|
+
├── package.json # 워크스페이스 루트
|
|
371
|
+
└── turbo.json # Turborepo 파이프라인
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### 새 공급자 추가
|
|
375
|
+
|
|
376
|
+
1. `packages/provider-<이름>/`에 `AIProvider` 구현.
|
|
377
|
+
2. `packages/mcp-server/src/index.ts`에 팩토리 추가.
|
|
378
|
+
3. `npm run build && npm test`
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
401
382
|
## 제거
|
|
402
383
|
|
|
403
384
|
Claude Code:
|
|
@@ -419,9 +400,9 @@ npm run uninstall:gemini
|
|
|
419
400
|
```
|
|
420
401
|
|
|
421
402
|
프로젝트에 생성된 데이터까지 지우려면 `.agestra/` 디렉터리를 수동으로 삭제하세요.
|
|
422
|
-
|
|
423
|
-
---
|
|
424
|
-
|
|
425
|
-
## 라이선스
|
|
426
|
-
|
|
427
|
-
[GPL-3.0](LICENSE)
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## 라이선스
|
|
407
|
+
|
|
408
|
+
[GPL-3.0](LICENSE)
|