agestra 4.3.4 → 4.4.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.
@@ -7,55 +7,108 @@ You are executing the `/agestra review` command.
7
7
 
8
8
  **Target:** $ARGUMENTS
9
9
 
10
- ## Step 1: Determine review target
10
+ ## Step 1: Determine review scope
11
11
 
12
- If `$ARGUMENTS` is empty, ask the user what to review using AskUserQuestion:
13
- - "What would you like to review? (file path, directory, or description)"
12
+ If `$ARGUMENTS` is provided, use it as the review target and skip the scope question.
14
13
 
15
- ## Step 2: Check environment and available providers
14
+ If `$ARGUMENTS` is empty, ask the user using AskUserQuestion (in the user's language):
15
+
16
+ | Option | Description |
17
+ |--------|-------------|
18
+ | **전체 프로젝트** | 프로젝트 전체를 리뷰 |
19
+ | **일부 지정** | 특정 파일, 디렉토리, 또는 영역을 지정하여 리뷰 |
20
+
21
+ - If **"전체 프로젝트"**: set target to the project root.
22
+ - If **"일부 지정"**: ask a follow-up "What would you like to review? (file path, directory, or description)" and use the answer as the target.
23
+
24
+ ## Step 2: Choose review focus areas
25
+
26
+ Ask the user what to focus on using AskUserQuestion with **multiSelect: true** (in the user's language):
27
+
28
+ | Option | Description |
29
+ |--------|-------------|
30
+ | **전체 점검** | 아래 모든 항목을 점검 |
31
+ | **보안 취약점** | OWASP top 10 (인젝션, 인증, XSS 등) |
32
+ | **하드코딩** | 매직넘버, 하드코딩된 URL, 임베디드 자격증명 |
33
+ | **중복 코드** | 반복되는 로직, 복사-붙여넣기 코드 |
34
+ | **레거시 코드** | 더 이상 사용되지 않는 코드, 고아 시스템, 데드 코드 |
35
+ | **스파게티 코드** | 과도한 복잡성, 긴 함수, 깊은 중첩, 얽힌 의존성 |
36
+ | **테스트 커버리지** | 테스트 없는 공개 함수, 엣지케이스 미커버 |
37
+ | **i18n** | 번역 함수 없이 하드코딩된 UI 문자열 (i18n 시스템이 있는 경우만) |
38
+ | **스펙 불일치** | 설계 문서와 실제 구현의 차이 |
39
+
40
+ - If **"전체 점검"** is selected: use all focus areas.
41
+ - If specific items are selected: use only those areas.
42
+ - If **"Other"**: use the user's custom focus description.
43
+
44
+ Pass the selected focus areas to all reviewers (agent and external AIs) as part of the review instructions.
45
+
46
+ ## Step 3: Check environment and available providers
16
47
 
17
48
  Call `environment_check` to determine which providers and modes are available.
18
49
 
19
50
  If no providers are available, skip to running the `agestra-reviewer` agent directly (Claude only).
20
51
 
21
- ## Step 3: Present choices
52
+ ## Step 4: Select mode
22
53
 
23
54
  Use AskUserQuestion to present these options (in the user's language):
24
55
 
25
56
  | Option | Condition | Description |
26
57
  |--------|-----------|-------------|
27
58
  | **Claude only** | Always | 플러그인 전문 에이전트가 단독 리뷰 |
28
- | **각자 독립** | 1+ provider available | AI 독립 리뷰 후 진행자가 취합하여 문서 작성 |
29
- | **끝장토론** | 1+ provider available | 각자 독립 + 문서를 돌아가며 분석/피드백, 모두 동의할 때까지 |
59
+ | **각자 독립** | 1+ provider available | 에이전트 팀(moderator + reviewer + 외부 AI)이 각자 독립 리뷰 후 취합 문서 작성 |
60
+ | **끝장토론** | 1+ provider available | 각자 독립 리뷰 후 취합 문서를 돌아가며 분석/피드백, 모두 동의할 때까지 |
30
61
 
31
62
  Only show options whose conditions are met. If no providers are available, skip and run Claude only.
32
63
 
33
- ## Step 4: Execute based on selection
64
+ ## Step 5: Execute based on selection
34
65
 
35
66
  ### If "Claude only":
36
- Spawn the `agestra-reviewer` agent with the target as context. The reviewer will examine the code using its 7-point checklist (security, orphan systems, missing UI, hardcoding, i18n, spec drift, test coverage).
67
+ Spawn the `agestra-reviewer` agent with the target and selected focus areas as context.
37
68
 
38
69
  ### If "각자 독립":
70
+
71
+ **팀 구성:** `agestra-moderator` (리더) + `agestra-reviewer` (Claude) + 사용 가능한 외부 AI (gemini, codex, ollama 등)
72
+
39
73
  1. In parallel:
40
74
  - Spawn the `agestra-reviewer` agent for Claude's independent analysis.
41
- - For each available provider, call `ai_chat` with this prompt:
42
-
43
- > Review the following code for: security vulnerabilities (OWASP top 10), orphan systems, missing UI for user features, hardcoded config values, i18n issues, spec drift, and test coverage gaps. For each finding, provide severity (CRITICAL/HIGH/MEDIUM/LOW), file:line location, and evidence.
44
- >
45
- > Target: [the review target]
75
+ After the agent completes, save Claude's result as a document via `workspace_create_document`:
76
+ - **title:** `Code Review — claude/reviewer`
77
+ - **metadata:** `{ "Provider": "claude/reviewer", "Task": "{review target}", "Focus": "{selected focus areas}", "Mode": "Independent" }`
78
+ - **content:** The reviewer agent's full output.
79
+ - For each available provider, call `ai_chat` with `save_as_document` to let each AI produce its own document directly:
80
+ - **save_as_document.title:** `Code Review — {provider}`
81
+ - **save_as_document.metadata:** `{ "Task": "{review target}", "Focus": "{selected focus areas}", "Mode": "Independent" }`
82
+ - **prompt:**
83
+
84
+ > Review the following code. Focus on: [selected focus areas].
85
+ > For each finding, provide severity (CRITICAL/HIGH/MEDIUM/LOW), file:line location, and evidence.
86
+ >
87
+ > Target: [the review target]
88
+
89
+ 2. Collect all document IDs from step 1.
46
90
 
47
- 2. Collect all results (Claude's reviewer output + each provider's response).
48
91
  3. Spawn the `agestra-moderator` agent in **Independent Aggregation** mode:
49
- - Pass ALL results as input, tagged by source provider.
92
+ - Pass the **document ID list**.
93
+ - Moderator reads each document via `workspace_read`.
50
94
  - Moderator classifies: consensus findings, unique findings, disputed points.
51
- - Moderator generates an integrated document.
52
- 4. Present the integrated document to the user.
95
+ - Moderator creates an **aggregated document** via `workspace_create_document`.
96
+
97
+ 4. Present a **summary report** to the user:
98
+ - Key consensus findings (1-3 lines).
99
+ - Notable unique findings (if any).
100
+ - Disputed points (if any).
101
+ - Individual document IDs for reference.
102
+ - Aggregated document ID for the full integrated analysis.
53
103
 
54
104
  ### If "끝장토론":
105
+
106
+ **팀 구성:** `agestra-moderator` (리더) + `agestra-reviewer` (Claude) + 사용 가능한 외부 AI (gemini, codex, ollama 등)
107
+
55
108
  1. Execute "각자 독립" steps 1-3 above (independent work + initial aggregation).
56
109
  - The moderator's integrated document becomes the starting document.
57
110
 
58
- 2. Document review rounds (max 5):
111
+ 2. Document review rounds (no max — until all agree):
59
112
  a. Moderator sends the current document to each AI for review:
60
113
  - Claude: spawn `agestra-reviewer` → analyze document → write section-by-section feedback
61
114
  - Other providers: `agent_debate_turn` with the document as prompt, requesting agree/disagree per section
@@ -64,6 +117,7 @@ Spawn the `agestra-reviewer` agent with the target as context. The reviewer will
64
117
  d. Revise document incorporating disagreement feedback.
65
118
  e. If all providers agree on all sections → consensus reached.
66
119
  f. If not → next round with revised document.
120
+ g. **Every 10 rounds:** Ask the user via AskUserQuestion whether to continue or stop with current state.
67
121
 
68
122
  3. Present the final document:
69
123
  - Consensus sections: marked as agreed