llm-cli-council 1.0.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 +15 -0
- package/.claude-plugin/plugin.json +61 -0
- package/LICENSE +21 -0
- package/README.md +495 -0
- package/bin/install.js +299 -0
- package/config/providers.json +124 -0
- package/lib/platform-utils.sh +353 -0
- package/package.json +46 -0
- package/prompts/chairman-synthesis.md +153 -0
- package/prompts/code-review.md +134 -0
- package/prompts/plan-review.md +106 -0
- package/rules/council-orchestration.md +205 -0
- package/rules/synthesis-strategy.md +246 -0
- package/rules/triggers.md +182 -0
- package/skills/llm-cli-council.md +122 -0
- package/skills/review-code.md +225 -0
- package/skills/review-plan.md +191 -0
- package/skills/setup.md +164 -0
- package/skills/status.md +220 -0
- package/skills/uninstall.md +179 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "llm-cli-council-dev",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "GuitaristForEver"
|
|
5
|
+
},
|
|
6
|
+
"description": "Development marketplace for testing llm-cli-council plugin",
|
|
7
|
+
"plugins": [
|
|
8
|
+
{
|
|
9
|
+
"name": "llm-cli-council",
|
|
10
|
+
"source": "./",
|
|
11
|
+
"version": "1.0.0",
|
|
12
|
+
"description": "Get diverse AI perspectives on implementation plans and code reviews"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "llm-cli-council",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Get diverse AI perspectives on implementation plans and code reviews by orchestrating multiple LLM CLIs (Claude, Copilot, Codex, Gemini, Ollama) through a council approach",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "GuitaristForEver",
|
|
7
|
+
"url": "https://github.com/GuitaristForEver/llm-cli-council"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/GuitaristForEver/llm-cli-council.git"
|
|
12
|
+
},
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"llm",
|
|
16
|
+
"council",
|
|
17
|
+
"code-review",
|
|
18
|
+
"plan-review",
|
|
19
|
+
"multi-model",
|
|
20
|
+
"delegation",
|
|
21
|
+
"codex",
|
|
22
|
+
"copilot",
|
|
23
|
+
"gemini",
|
|
24
|
+
"ollama"
|
|
25
|
+
],
|
|
26
|
+
"skills": [
|
|
27
|
+
{
|
|
28
|
+
"name": "llm-cli-council",
|
|
29
|
+
"path": "./skills/llm-cli-council.md",
|
|
30
|
+
"description": "Main orchestration skill for multi-LLM council"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "llm-cli-council:setup",
|
|
34
|
+
"path": "./skills/setup.md",
|
|
35
|
+
"description": "Detect and configure available LLM CLIs"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "llm-cli-council:status",
|
|
39
|
+
"path": "./skills/status.md",
|
|
40
|
+
"description": "Show council configuration and provider status"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "llm-cli-council:review-plan",
|
|
44
|
+
"path": "./skills/review-plan.md",
|
|
45
|
+
"description": "Get council review of implementation plans"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "llm-cli-council:review-code",
|
|
49
|
+
"path": "./skills/review-code.md",
|
|
50
|
+
"description": "Get council review of code changes"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "llm-cli-council:uninstall",
|
|
54
|
+
"path": "./skills/uninstall.md",
|
|
55
|
+
"description": "Remove council configuration and rules"
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"engines": {
|
|
59
|
+
"claude-code": ">=0.1.0"
|
|
60
|
+
}
|
|
61
|
+
}
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 LLM CLI Council Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,495 @@
|
|
|
1
|
+
# LLM CLI Council
|
|
2
|
+
|
|
3
|
+
> **Get diverse AI perspectives on your implementation plans and code reviews**
|
|
4
|
+
|
|
5
|
+
A Claude Code skill that orchestrates multiple LLM command-line tools (Claude, Copilot, Codex, Gemini, Ollama) to provide comprehensive feedback through a "council" approach. Claude acts as Chairman, synthesizing insights from multiple AI assistants into clear, actionable guidance.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](https://github.com/username/llm-cli-council)
|
|
9
|
+
|
|
10
|
+
> **Inspired by:** [karpathy/llm-council](https://github.com/karpathy/llm-council) for the council orchestration concept and [jarrodwatts/claude-delegator](https://github.com/jarrodwatts/claude-delegator) for multi-model delegation patterns.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Why Use a Council?
|
|
15
|
+
|
|
16
|
+
Single LLMs can be biased toward certain solutions. By consulting multiple AI assistants:
|
|
17
|
+
|
|
18
|
+
- **🎯 Diverse perspectives** catch blind spots and assumptions
|
|
19
|
+
- **✅ Consensus** builds confidence in recommendations
|
|
20
|
+
- **⚠️ Dissent** highlights areas needing careful consideration
|
|
21
|
+
- **📊 Better coverage** different models excel at different tasks
|
|
22
|
+
|
|
23
|
+
### The Anti-Paralysis Principle
|
|
24
|
+
|
|
25
|
+
The council **never overwhelms** with conflicting advice. Instead, it:
|
|
26
|
+
|
|
27
|
+
- ✨ Synthesizes into **max 5 prioritized recommendations**
|
|
28
|
+
- 🎓 Resolves conflicts with **clear reasoning**
|
|
29
|
+
- ✅ Always provides a **decisive verdict**: APPROVE or REQUEST CHANGES
|
|
30
|
+
|
|
31
|
+
No endless debate. Just actionable guidance.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Features
|
|
36
|
+
|
|
37
|
+
- 🤝 **Multi-LLM orchestration** - Coordinates Claude, Copilot, Codex, Gemini, and Ollama
|
|
38
|
+
- 🎭 **Independent reviews** - Each provider reviews without seeing others' opinions
|
|
39
|
+
- ⚡ **Parallel execution** - All providers run simultaneously for speed
|
|
40
|
+
- 🪑 **Chairman synthesis** - Claude resolves conflicts and provides final verdict
|
|
41
|
+
- 🔒 **Privacy mode** - Local-only execution with Ollama (no data leaves your machine)
|
|
42
|
+
- 📈 **Smart routing** - Automatically selects best providers for each task type
|
|
43
|
+
- 🔧 **Configurable modes** - Quick (2 providers), Full (all providers), or Privacy (local only)
|
|
44
|
+
- 🌍 **Cross-platform** - Works on macOS, Linux, and Windows (WSL)
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Quick Start
|
|
49
|
+
|
|
50
|
+
Get your first council review in **5 minutes**:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# 1. Install the plugin
|
|
54
|
+
claude /plugin marketplace add GuitaristForEver/llm-cli-council
|
|
55
|
+
claude /plugin install llm-cli-council
|
|
56
|
+
|
|
57
|
+
# Restart Claude Code after installation
|
|
58
|
+
|
|
59
|
+
# 2. Setup and detect your LLM CLI tools
|
|
60
|
+
/llm-cli-council:setup
|
|
61
|
+
|
|
62
|
+
# 3. Review a plan
|
|
63
|
+
/llm-cli-council:review-plan PLAN.md
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
That's it! You'll get synthesized feedback from multiple AI perspectives.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Installation
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
npx llm-cli-council
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
This will detect your Claude Code directory and install the plugin files automatically.
|
|
77
|
+
|
|
78
|
+
**Options:**
|
|
79
|
+
- `npx llm-cli-council --dry-run` — preview what will be installed
|
|
80
|
+
- `npx llm-cli-council --yes` — skip the confirmation prompt
|
|
81
|
+
|
|
82
|
+
**Manual install:** If you prefer, copy files directly:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
git clone https://github.com/GuitaristForEver/llm-cli-council
|
|
86
|
+
cd llm-cli-council
|
|
87
|
+
cp -r skills/* ~/.claude/skills/
|
|
88
|
+
cp -r lib ~/.claude/lib/
|
|
89
|
+
cp -r prompts ~/.claude/prompts/
|
|
90
|
+
cp -r rules ~/.claude/rules/
|
|
91
|
+
cp config/providers.json ~/.claude/config/
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Available Commands
|
|
97
|
+
|
|
98
|
+
| Command | Description |
|
|
99
|
+
|---------|-------------|
|
|
100
|
+
| `/llm-cli-council:setup` | Detect and configure available LLM CLIs |
|
|
101
|
+
| `/llm-cli-council:review-plan` | Get council review of an implementation plan |
|
|
102
|
+
| `/llm-cli-council:review-code` | Get council review of code changes |
|
|
103
|
+
| `/llm-cli-council:status` | Show council configuration and provider status |
|
|
104
|
+
| `/llm-cli-council:uninstall` | Remove council configuration |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Basic Usage
|
|
109
|
+
|
|
110
|
+
### Review an Implementation Plan
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Review with default (quick) mode - 2 best providers
|
|
114
|
+
/llm-cli-council:review-plan
|
|
115
|
+
|
|
116
|
+
# Review specific plan file
|
|
117
|
+
/llm-cli-council:review-plan path/to/PLAN.md
|
|
118
|
+
|
|
119
|
+
# Use all available providers (comprehensive review)
|
|
120
|
+
/llm-cli-council:review-plan --mode=full
|
|
121
|
+
|
|
122
|
+
# Privacy mode - only local Ollama (no data sent externally)
|
|
123
|
+
/llm-cli-council:review-plan --mode=privacy
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Review Code Changes
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# Review staged changes
|
|
130
|
+
/llm-cli-council:review-code
|
|
131
|
+
|
|
132
|
+
# Review last commit
|
|
133
|
+
/llm-cli-council:review-code HEAD
|
|
134
|
+
|
|
135
|
+
# Review specific file
|
|
136
|
+
/llm-cli-council:review-code src/app.js
|
|
137
|
+
|
|
138
|
+
# Review range of commits
|
|
139
|
+
/llm-cli-council:review-code main..HEAD --mode=full
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Check Configuration
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# Show current configuration
|
|
146
|
+
/llm-cli-council:status
|
|
147
|
+
|
|
148
|
+
# Re-check provider availability
|
|
149
|
+
/llm-cli-council:status --check
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Council Modes
|
|
155
|
+
|
|
156
|
+
The council operates in three modes, each balancing speed, comprehensiveness, and privacy:
|
|
157
|
+
|
|
158
|
+
| Mode | Providers Used | Use Case | Speed |
|
|
159
|
+
|------|----------------|----------|-------|
|
|
160
|
+
| **quick** (default) | 2 best-match providers | Most reviews, fast feedback | ⚡⚡⚡ Fast |
|
|
161
|
+
| **full** | All available providers | High-stakes decisions, comprehensive analysis | ⚡⚡ Slower |
|
|
162
|
+
| **privacy** | Ollama only | Sensitive code, air-gapped environments | ⚡⚡⚡ Fast |
|
|
163
|
+
|
|
164
|
+
**Mode selection example:**
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# Quick mode (default) - 2 providers, ~30-60 seconds
|
|
168
|
+
/llm-cli-council:review-plan
|
|
169
|
+
|
|
170
|
+
# Full mode - all providers, ~60-120 seconds
|
|
171
|
+
/llm-cli-council:review-plan --mode=full
|
|
172
|
+
|
|
173
|
+
# Privacy mode - local only, ~30-90 seconds
|
|
174
|
+
/llm-cli-council:review-plan --mode=privacy
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Supported Providers
|
|
180
|
+
|
|
181
|
+
The council supports the following LLM CLI tools:
|
|
182
|
+
|
|
183
|
+
| Provider | CLI Command | Installation | Strengths |
|
|
184
|
+
|----------|-------------|--------------|-----------|
|
|
185
|
+
| **Claude** | `claude` | [Claude Code](https://github.com/anthropics/claude-code) | Reasoning, analysis, synthesis, planning |
|
|
186
|
+
| **Copilot** | `copilot` | `npm install -g @github/copilot-cli` | Code generation, GitHub integration |
|
|
187
|
+
| **Codex** | `codex` | [OpenAI Codex CLI](https://github.com/openai/codex-cli) | Code analysis, debugging, implementation |
|
|
188
|
+
| **Gemini** | `gemini` | [Gemini CLI](https://github.com/google/gemini-cli) | Multimodal analysis, broad knowledge |
|
|
189
|
+
| **Ollama** | `ollama` | [Ollama](https://ollama.ai) | Privacy, offline, local execution |
|
|
190
|
+
|
|
191
|
+
**Minimum requirement:** At least **2 providers** for meaningful council feedback.
|
|
192
|
+
**Recommendation:** Install 3-5 providers for diverse perspectives.
|
|
193
|
+
|
|
194
|
+
### Provider Setup
|
|
195
|
+
|
|
196
|
+
Each provider requires separate installation and authentication:
|
|
197
|
+
|
|
198
|
+
1. **Install the CLI tool** (see links above)
|
|
199
|
+
2. **Authenticate** (follow provider-specific instructions)
|
|
200
|
+
3. **Run setup:** `/llm-cli-council:setup`
|
|
201
|
+
4. **Verify:** `/llm-cli-council:status`
|
|
202
|
+
|
|
203
|
+
For detailed setup instructions, see [Provider Setup Guide](docs/provider-setup.md).
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Configuration
|
|
208
|
+
|
|
209
|
+
The council uses environment variables for flexible configuration:
|
|
210
|
+
|
|
211
|
+
### Environment Variables
|
|
212
|
+
|
|
213
|
+
| Variable | Default | Description |
|
|
214
|
+
|----------|---------|-------------|
|
|
215
|
+
| `CLAUDE_COUNCIL_CONFIG_DIR` | `~/.config/claude/council/` | Config directory location |
|
|
216
|
+
| `CLAUDE_COUNCIL_CONFIG_FILE` | `$CONFIG_DIR/config.json` | Specific config file override |
|
|
217
|
+
| `CLAUDE_COUNCIL_LOG_DIR` | `$CONFIG_DIR/logs/` | Log directory |
|
|
218
|
+
| `CLAUDE_SKILLS_DIR` | `~/.claude/skills/` | Skills installation directory |
|
|
219
|
+
| `CLAUDE_CONFIG_DIR` | `~/.claude/` | Claude's main config directory |
|
|
220
|
+
|
|
221
|
+
### Path Resolution Priority
|
|
222
|
+
|
|
223
|
+
When locating configuration, the council checks in this order:
|
|
224
|
+
|
|
225
|
+
1. `$CLAUDE_COUNCIL_CONFIG_DIR` (explicit override)
|
|
226
|
+
2. `$CLAUDE_CONFIG_DIR/council/` (Claude config + council subdir)
|
|
227
|
+
3. `$XDG_CONFIG_HOME/claude/council/` (XDG standard on Linux)
|
|
228
|
+
4. `~/.config/claude/council/` (XDG fallback)
|
|
229
|
+
5. `~/.claude/council/` (legacy compatibility)
|
|
230
|
+
|
|
231
|
+
### Configuration File
|
|
232
|
+
|
|
233
|
+
After running setup, your configuration is stored at `$COUNCIL_CONFIG_FILE`:
|
|
234
|
+
|
|
235
|
+
```json
|
|
236
|
+
{
|
|
237
|
+
"version": "1.0.0",
|
|
238
|
+
"providers": {
|
|
239
|
+
"claude": {
|
|
240
|
+
"available": true,
|
|
241
|
+
"path": "/usr/local/bin/claude",
|
|
242
|
+
"authenticated": true
|
|
243
|
+
},
|
|
244
|
+
"codex": {
|
|
245
|
+
"available": true,
|
|
246
|
+
"path": "/usr/local/bin/codex",
|
|
247
|
+
"authenticated": true
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
"defaultMode": "quick"
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
For detailed configuration options, see [Configuration Guide](docs/configuration.md).
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## How It Works
|
|
259
|
+
|
|
260
|
+
The council uses a **three-stage deliberation process**:
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
┌─────────────────────────────────────────────────────────┐
|
|
264
|
+
│ Stage 1: Independent Review │
|
|
265
|
+
├─────────────────────────────────────────────────────────┤
|
|
266
|
+
│ • Execute prompts in parallel across providers │
|
|
267
|
+
│ • Each provider reviews independently │
|
|
268
|
+
│ • No cross-contamination of opinions │
|
|
269
|
+
└─────────────────────────────────────────────────────────┘
|
|
270
|
+
↓
|
|
271
|
+
┌─────────────────────────────────────────────────────────┐
|
|
272
|
+
│ Stage 2: Collection & Analysis │
|
|
273
|
+
├─────────────────────────────────────────────────────────┤
|
|
274
|
+
│ • Gather all provider responses │
|
|
275
|
+
│ • Extract key recommendations │
|
|
276
|
+
│ • Identify consensus and dissent │
|
|
277
|
+
└─────────────────────────────────────────────────────────┘
|
|
278
|
+
↓
|
|
279
|
+
┌─────────────────────────────────────────────────────────┐
|
|
280
|
+
│ Stage 3: Chairman Synthesis (Claude) │
|
|
281
|
+
├─────────────────────────────────────────────────────────┤
|
|
282
|
+
│ • Synthesize into max 5 prioritized recommendations │
|
|
283
|
+
│ • Resolve conflicts with clear reasoning │
|
|
284
|
+
│ • Provide decisive verdict: APPROVE / REQUEST CHANGES │
|
|
285
|
+
└─────────────────────────────────────────────────────────┘
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Why Claude as Chairman?
|
|
289
|
+
|
|
290
|
+
Claude serves as Chairman because:
|
|
291
|
+
- **Context retention** - Best at synthesizing multiple perspectives
|
|
292
|
+
- **Reasoning depth** - Excels at explaining trade-offs and resolutions
|
|
293
|
+
- **Clarity** - Provides decisive, actionable guidance without paralysis
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Examples
|
|
298
|
+
|
|
299
|
+
### Example: Plan Review Output
|
|
300
|
+
|
|
301
|
+
```
|
|
302
|
+
╔═══════════════════════════════════════════════════════╗
|
|
303
|
+
║ LLM CLI COUNCIL REVIEW ║
|
|
304
|
+
║ Plan: Implementation Plan for Feature X ║
|
|
305
|
+
║ Mode: quick (2 providers) ║
|
|
306
|
+
╚═══════════════════════════════════════════════════════╝
|
|
307
|
+
|
|
308
|
+
VERDICT: REQUEST CHANGES
|
|
309
|
+
|
|
310
|
+
COUNCIL SYNTHESIS
|
|
311
|
+
─────────────────────────────────────────────────────────
|
|
312
|
+
|
|
313
|
+
Consensus (2/2 providers agree):
|
|
314
|
+
✓ Overall approach is sound and well-structured
|
|
315
|
+
✓ Clear separation of concerns
|
|
316
|
+
✗ Missing error handling strategy
|
|
317
|
+
✗ No consideration of database migration
|
|
318
|
+
|
|
319
|
+
TOP 5 RECOMMENDATIONS (Prioritized):
|
|
320
|
+
|
|
321
|
+
1. [CRITICAL] Add Database Migration Strategy
|
|
322
|
+
• Plan lacks migration approach for schema changes
|
|
323
|
+
• Risk: Data loss during deployment
|
|
324
|
+
• Suggested: Add migration rollback plan in Phase 2
|
|
325
|
+
|
|
326
|
+
2. [HIGH] Define Error Handling Approach
|
|
327
|
+
• No consistent error handling across services
|
|
328
|
+
• Both reviewers flagged this independently
|
|
329
|
+
• Suggested: Establish error handling patterns upfront
|
|
330
|
+
|
|
331
|
+
3. [MEDIUM] Add Performance Benchmarks
|
|
332
|
+
• Consider load testing before production
|
|
333
|
+
• Codex suggests: Define acceptable latency targets
|
|
334
|
+
|
|
335
|
+
4. [MEDIUM] Clarify Testing Strategy
|
|
336
|
+
• Integration tests mentioned but not detailed
|
|
337
|
+
• Suggested: Specify test coverage goals per phase
|
|
338
|
+
|
|
339
|
+
5. [LOW] Documentation Plan
|
|
340
|
+
• Consider API documentation approach
|
|
341
|
+
• Minor issue, can be addressed later
|
|
342
|
+
|
|
343
|
+
REASONING:
|
|
344
|
+
Database migration and error handling are architectural
|
|
345
|
+
decisions that affect all subsequent phases. Addressing
|
|
346
|
+
these upfront prevents costly refactoring later. The plan
|
|
347
|
+
is otherwise well-structured—these additions will make it
|
|
348
|
+
production-ready.
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
See more examples in the [examples/](examples/) directory.
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## Troubleshooting
|
|
356
|
+
|
|
357
|
+
### Common Issues
|
|
358
|
+
|
|
359
|
+
#### "Council not configured"
|
|
360
|
+
|
|
361
|
+
**Solution:** Run `/llm-cli-council:setup` to detect providers.
|
|
362
|
+
|
|
363
|
+
#### "No providers available"
|
|
364
|
+
|
|
365
|
+
**Cause:** No LLM CLI tools detected.
|
|
366
|
+
|
|
367
|
+
**Solution:**
|
|
368
|
+
1. Install at least 2 providers (see [Supported Providers](#supported-providers))
|
|
369
|
+
2. Ensure they're in your `PATH`
|
|
370
|
+
3. Run `/llm-cli-council:setup` again
|
|
371
|
+
|
|
372
|
+
#### "Provider authentication failed"
|
|
373
|
+
|
|
374
|
+
**Cause:** Provider CLI not authenticated.
|
|
375
|
+
|
|
376
|
+
**Solution:**
|
|
377
|
+
- **Claude:** `claude auth login`
|
|
378
|
+
- **Copilot:** `copilot auth login`
|
|
379
|
+
- **Codex:** `codex auth`
|
|
380
|
+
- **Gemini:** `gemini auth login`
|
|
381
|
+
- **Ollama:** No auth needed (ensure models downloaded: `ollama pull model-name`)
|
|
382
|
+
|
|
383
|
+
#### Timeout errors
|
|
384
|
+
|
|
385
|
+
**Cause:** Provider taking too long to respond.
|
|
386
|
+
|
|
387
|
+
**Solution:**
|
|
388
|
+
- Check network connection
|
|
389
|
+
- Try `--mode=privacy` if network is slow
|
|
390
|
+
- Increase timeout in config (advanced)
|
|
391
|
+
|
|
392
|
+
For more troubleshooting, see [Troubleshooting Guide](docs/troubleshooting.md).
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## Documentation
|
|
397
|
+
|
|
398
|
+
Comprehensive documentation is available in the `docs/` directory:
|
|
399
|
+
|
|
400
|
+
- **[Installation Guide](docs/installation.md)** - Detailed installation instructions
|
|
401
|
+
- **[Configuration Reference](docs/configuration.md)** - All configuration options explained
|
|
402
|
+
- **[Provider Setup](docs/provider-setup.md)** - Step-by-step setup for each provider
|
|
403
|
+
- **[Troubleshooting](docs/troubleshooting.md)** - Common issues and solutions
|
|
404
|
+
- **[Architecture](docs/architecture.md)** - How the council works internally
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
408
|
+
## Contributing
|
|
409
|
+
|
|
410
|
+
We welcome contributions! Here's how you can help:
|
|
411
|
+
|
|
412
|
+
### Ways to Contribute
|
|
413
|
+
|
|
414
|
+
- 🐛 **Report bugs** - Open an issue with reproduction steps
|
|
415
|
+
- 💡 **Suggest features** - Share your ideas in discussions
|
|
416
|
+
- 📝 **Improve docs** - Fix typos, add examples, clarify instructions
|
|
417
|
+
- 🔧 **Add providers** - Support additional LLM CLI tools
|
|
418
|
+
- ✨ **Submit PRs** - Fix bugs or implement features
|
|
419
|
+
|
|
420
|
+
### Development Setup
|
|
421
|
+
|
|
422
|
+
```bash
|
|
423
|
+
# Clone repository
|
|
424
|
+
git clone https://github.com/GuitaristForEver/llm-cli-council.git
|
|
425
|
+
cd llm-cli-council
|
|
426
|
+
|
|
427
|
+
# Install as local plugin
|
|
428
|
+
claude /plugin marketplace add .
|
|
429
|
+
claude /plugin install llm-cli-council@llm-cli-council-dev
|
|
430
|
+
|
|
431
|
+
# Restart Claude Code
|
|
432
|
+
|
|
433
|
+
# Make changes to skills/, prompts/, or rules/
|
|
434
|
+
|
|
435
|
+
# Test your changes
|
|
436
|
+
/llm-cli-council:setup
|
|
437
|
+
/llm-cli-council:review-plan test/fixtures/sample-plan.md
|
|
438
|
+
|
|
439
|
+
# To reload changes: uninstall and reinstall
|
|
440
|
+
claude /plugin uninstall llm-cli-council@llm-cli-council-dev
|
|
441
|
+
claude /plugin install llm-cli-council@llm-cli-council-dev
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### Adding a New Provider
|
|
445
|
+
|
|
446
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for step-by-step instructions on adding support for new LLM CLI tools.
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
## Roadmap
|
|
451
|
+
|
|
452
|
+
### v1.1.0 (Next Release)
|
|
453
|
+
|
|
454
|
+
- [ ] GitHub Action for automated PR reviews
|
|
455
|
+
- [ ] Customizable provider weights and priorities
|
|
456
|
+
- [ ] Review history and analytics
|
|
457
|
+
- [ ] Support for custom prompt templates
|
|
458
|
+
|
|
459
|
+
### Future
|
|
460
|
+
|
|
461
|
+
- [ ] Web UI for review visualization
|
|
462
|
+
- [ ] Docker container with pre-installed providers
|
|
463
|
+
- [ ] VS Code extension
|
|
464
|
+
- [ ] npm package distribution
|
|
465
|
+
- [ ] Multi-language support
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
## License
|
|
470
|
+
|
|
471
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
## Acknowledgments
|
|
476
|
+
|
|
477
|
+
- **Anthropic** for Claude and Claude Code CLI
|
|
478
|
+
- **GitHub** for Copilot CLI
|
|
479
|
+
- **OpenAI** for Codex
|
|
480
|
+
- **Google** for Gemini
|
|
481
|
+
- **Ollama** team for local LLM infrastructure
|
|
482
|
+
|
|
483
|
+
Special thanks to the open source community for feedback and contributions.
|
|
484
|
+
|
|
485
|
+
---
|
|
486
|
+
|
|
487
|
+
## Support
|
|
488
|
+
|
|
489
|
+
- **Issues:** [GitHub Issues](https://github.com/username/llm-cli-council/issues)
|
|
490
|
+
- **Discussions:** [GitHub Discussions](https://github.com/username/llm-cli-council/discussions)
|
|
491
|
+
- **Documentation:** [docs/](docs/)
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
**Built with ❤️ for developers who value diverse perspectives**
|