@qoder-ai/qodercli 0.2.3 → 0.2.4-beta
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/README.md +327 -2
- package/bundle/builtin/agent-creator/SKILL.md +327 -0
- package/bundle/builtin/hook-config/SKILL.md +480 -0
- package/bundle/builtin/mcp-config/SKILL.md +155 -0
- package/bundle/builtin/skill-creator/SKILL.md +294 -0
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/client/main.js +101 -0
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.d.ts +7 -0
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js +9 -0
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.d.ts +48 -0
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js +323 -0
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.d.ts +36 -0
- package/bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js +7 -0
- package/bundle/node_modules/@google/gemini-cli-devtools/package.json +34 -0
- package/bundle/policies/sandbox-default.toml +19 -0
- package/bundle/qodercli.js +5170 -0
- package/bundle/sandbox-macos-permissive-open.sb +27 -0
- package/bundle/sandbox-macos-permissive-proxied.sb +37 -0
- package/bundle/sandbox-macos-restrictive-open.sb +96 -0
- package/bundle/sandbox-macos-restrictive-proxied.sb +98 -0
- package/bundle/sandbox-macos-strict-open.sb +131 -0
- package/bundle/sandbox-macos-strict-proxied.sb +133 -0
- package/package.json +28 -81
- package/bin/qodercli +0 -47
- package/scripts/install.js +0 -647
package/README.md
CHANGED
|
@@ -1,13 +1,38 @@
|
|
|
1
1
|
# qodercli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Gemini CLI is an open-source AI agent that brings the power of Gemini directly
|
|
4
4
|
into your terminal. It provides lightweight access to Gemini, giving you the
|
|
5
5
|
most direct path from your prompt to our model.
|
|
6
6
|
|
|
7
|
+
Learn all about Gemini CLI in our [documentation](https://geminicli.com/docs/).
|
|
7
8
|
|
|
9
|
+
## 🚀 Why Gemini CLI?
|
|
10
|
+
|
|
11
|
+
- **🎯 Free tier**: 60 requests/min and 1,000 requests/day with personal Google
|
|
12
|
+
account.
|
|
13
|
+
- **🧠 Powerful Gemini 3 models**: Access to improved reasoning and 1M token
|
|
14
|
+
context window.
|
|
15
|
+
- **🔧 Built-in tools**: Google Search grounding, file operations, shell
|
|
16
|
+
commands, web fetching.
|
|
17
|
+
- **🔌 Extensible**: MCP (Model Context Protocol) support for custom
|
|
18
|
+
integrations.
|
|
19
|
+
- **💻 Terminal-first**: Designed for developers who live in the command line.
|
|
20
|
+
- **🛡️ Open source**: Apache 2.0 licensed.
|
|
8
21
|
|
|
9
22
|
## 📦 Installation
|
|
10
23
|
|
|
24
|
+
See
|
|
25
|
+
[Gemini CLI installation, execution, and releases](https://www.geminicli.com/docs/get-started/installation)
|
|
26
|
+
for recommended system specifications and a detailed installation guide.
|
|
27
|
+
|
|
28
|
+
### Quick Install
|
|
29
|
+
|
|
30
|
+
#### Run instantly with npx
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Using npx (no installation required)
|
|
34
|
+
npx @qoder-ai/qodercli
|
|
35
|
+
```
|
|
11
36
|
|
|
12
37
|
#### Install globally with npm
|
|
13
38
|
|
|
@@ -15,6 +40,50 @@ most direct path from your prompt to our model.
|
|
|
15
40
|
npm install -g @qoder-ai/qodercli
|
|
16
41
|
```
|
|
17
42
|
|
|
43
|
+
#### Install with Anaconda (for restricted environments)
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Create and activate a new environment
|
|
47
|
+
conda create -y -n gemini_env -c conda-forge nodejs
|
|
48
|
+
conda activate gemini_env
|
|
49
|
+
|
|
50
|
+
# Install qodercli globally via npm (inside the environment)
|
|
51
|
+
npm install -g @qoder-ai/qodercli
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Release Channels
|
|
55
|
+
|
|
56
|
+
See [Releases](https://www.geminicli.com/docs/changelogs) for more details.
|
|
57
|
+
|
|
58
|
+
### Preview
|
|
59
|
+
|
|
60
|
+
New preview releases will be published each week at UTC 23:59 on Tuesdays. These
|
|
61
|
+
releases will not have been fully vetted and may contain regressions or other
|
|
62
|
+
outstanding issues. Please help us test and install with `preview` tag.
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npm install -g @qoder-ai/qodercli@preview
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Stable
|
|
69
|
+
|
|
70
|
+
- New stable releases will be published each week at UTC 20:00 on Tuesdays, this
|
|
71
|
+
will be the full promotion of last week's `preview` release + any bug fixes
|
|
72
|
+
and validations. Use `latest` tag.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm install -g @qoder-ai/qodercli@latest
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Nightly
|
|
79
|
+
|
|
80
|
+
- New releases will be published each day at UTC 00:00. This will be all changes
|
|
81
|
+
from the main branch as represented at time of release. It should be assumed
|
|
82
|
+
there are pending validations and issues. Use `nightly` tag.
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
npm install -g @qoder-ai/qodercli@nightly
|
|
86
|
+
```
|
|
18
87
|
|
|
19
88
|
## 📋 Key Features
|
|
20
89
|
|
|
@@ -34,10 +103,266 @@ npm install -g @qoder-ai/qodercli
|
|
|
34
103
|
|
|
35
104
|
### Advanced Capabilities
|
|
36
105
|
|
|
37
|
-
- Ground your queries with built-
|
|
106
|
+
- Ground your queries with built-in
|
|
107
|
+
[Google Search](https://ai.google.dev/gemini-api/docs/grounding) for real-time
|
|
38
108
|
information
|
|
39
109
|
- Conversation checkpointing to save and resume complex sessions
|
|
40
110
|
- Custom context files (GEMINI.md) to tailor behavior for your projects
|
|
41
111
|
|
|
112
|
+
## 🔐 Authentication Options
|
|
113
|
+
|
|
114
|
+
Choose the authentication method that best fits your needs:
|
|
115
|
+
|
|
116
|
+
### Option 1: Sign in with Google (OAuth login using your Google Account)
|
|
117
|
+
|
|
118
|
+
**✨ Best for:** Individual developers as well as anyone who has a Gemini Code
|
|
119
|
+
Assist License. (see
|
|
120
|
+
[quota limits and terms of service](https://cloud.google.com/gemini/docs/quotas)
|
|
121
|
+
for details)
|
|
122
|
+
|
|
123
|
+
**Benefits:**
|
|
124
|
+
|
|
125
|
+
- **Free tier**: 60 requests/min and 1,000 requests/day
|
|
126
|
+
- **Gemini 3 models** with 1M token context window
|
|
127
|
+
- **No API key management** - just sign in with your Google account
|
|
128
|
+
- **Automatic updates** to latest models
|
|
129
|
+
|
|
130
|
+
#### Start Gemini CLI, then choose _Sign in with Google_ and follow the browser authentication flow when prompted
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
qodercli
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
#### If you are using a paid Code Assist License from your organization, remember to set the Google Cloud Project
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
# Set your Google Cloud Project
|
|
140
|
+
export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"
|
|
141
|
+
qodercli
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Option 2: Gemini API Key
|
|
145
|
+
|
|
146
|
+
**✨ Best for:** Developers who need specific model control or paid tier access
|
|
147
|
+
|
|
148
|
+
**Benefits:**
|
|
149
|
+
|
|
150
|
+
- **Free tier**: 1000 requests/day with Gemini 3 (mix of flash and pro)
|
|
151
|
+
- **Model selection**: Choose specific Gemini models
|
|
152
|
+
- **Usage-based billing**: Upgrade for higher limits when needed
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Get your key from https://aistudio.google.com/apikey
|
|
156
|
+
export GEMINI_API_KEY="YOUR_API_KEY"
|
|
157
|
+
qodercli
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Option 3: Vertex AI
|
|
161
|
+
|
|
162
|
+
**✨ Best for:** Enterprise teams and production workloads
|
|
163
|
+
|
|
164
|
+
**Benefits:**
|
|
165
|
+
|
|
166
|
+
- **Enterprise features**: Advanced security and compliance
|
|
167
|
+
- **Scalable**: Higher rate limits with billing account
|
|
168
|
+
- **Integration**: Works with existing Google Cloud infrastructure
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
# Get your key from Google Cloud Console
|
|
172
|
+
export GOOGLE_API_KEY="YOUR_API_KEY"
|
|
173
|
+
export GOOGLE_GENAI_USE_VERTEXAI=true
|
|
174
|
+
qodercli
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
For Google Workspace accounts and other authentication methods, see the
|
|
178
|
+
[authentication guide](https://www.geminicli.com/docs/get-started/authentication).
|
|
179
|
+
|
|
180
|
+
## 🚀 Getting Started
|
|
181
|
+
|
|
182
|
+
### Basic Usage
|
|
183
|
+
|
|
184
|
+
#### Start in current directory
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
qodercli
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
#### Include multiple directories
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
qodercli --include-directories ../lib,../docs
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
#### Use specific model
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
qodercli -m gemini-2.5-flash
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
#### Non-interactive mode for scripts
|
|
203
|
+
|
|
204
|
+
Get a simple text response:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
qodercli -p "Explain the architecture of this codebase"
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
For more advanced scripting, including how to parse JSON and handle errors, use
|
|
211
|
+
the `--output-format json` flag to get structured output:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
qodercli -p "Explain the architecture of this codebase" --output-format json
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
For real-time event streaming (useful for monitoring long-running operations),
|
|
218
|
+
use `--output-format stream-json` to get newline-delimited JSON events:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
qodercli -p "Run tests and deploy" --output-format stream-json
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Quick Examples
|
|
225
|
+
|
|
226
|
+
#### Start a new project
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
cd new-project/
|
|
230
|
+
qodercli
|
|
231
|
+
> Write me a Discord bot that answers questions using a FAQ.md file I will provide
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
#### Analyze existing code
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
git clone <repository-url>
|
|
238
|
+
cd qodercli
|
|
239
|
+
qodercli
|
|
240
|
+
> Give me a summary of all of the changes that went in yesterday
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## 📚 Documentation
|
|
244
|
+
|
|
245
|
+
### Getting Started
|
|
246
|
+
|
|
247
|
+
- [**Quickstart Guide**](https://www.geminicli.com/docs/get-started) - Get up
|
|
248
|
+
and running quickly.
|
|
249
|
+
- [**Authentication Setup**](https://www.geminicli.com/docs/get-started/authentication) -
|
|
250
|
+
Detailed auth configuration.
|
|
251
|
+
- [**Configuration Guide**](https://www.geminicli.com/docs/reference/configuration) -
|
|
252
|
+
Settings and customization.
|
|
253
|
+
- [**Keyboard Shortcuts**](https://www.geminicli.com/docs/reference/keyboard-shortcuts) -
|
|
254
|
+
Productivity tips.
|
|
255
|
+
|
|
256
|
+
### Core Features
|
|
257
|
+
|
|
258
|
+
- [**Commands Reference**](https://www.geminicli.com/docs/reference/commands) -
|
|
259
|
+
All slash commands (`/help`, `/chat`, etc).
|
|
260
|
+
- [**Custom Commands**](https://www.geminicli.com/docs/cli/custom-commands) -
|
|
261
|
+
Create your own reusable commands.
|
|
262
|
+
- [**Context Files (GEMINI.md)**](https://www.geminicli.com/docs/cli/gemini-md) -
|
|
263
|
+
Provide persistent context to Gemini CLI.
|
|
264
|
+
- [**Checkpointing**](https://www.geminicli.com/docs/cli/checkpointing) - Save
|
|
265
|
+
and resume conversations.
|
|
266
|
+
- [**Token Caching**](https://www.geminicli.com/docs/cli/token-caching) -
|
|
267
|
+
Optimize token usage.
|
|
268
|
+
|
|
269
|
+
### Tools & Extensions
|
|
270
|
+
|
|
271
|
+
- [**Built-in Tools Overview**](https://www.geminicli.com/docs/reference/tools)
|
|
272
|
+
- [File System Operations](https://www.geminicli.com/docs/tools/file-system)
|
|
273
|
+
- [Shell Commands](https://www.geminicli.com/docs/tools/shell)
|
|
274
|
+
- [Web Fetch & Search](https://www.geminicli.com/docs/tools/web-fetch)
|
|
275
|
+
- [**MCP Server Integration**](https://www.geminicli.com/docs/tools/mcp-server) -
|
|
276
|
+
Extend with custom tools.
|
|
277
|
+
- [**Custom Extensions**](https://geminicli.com/docs/extensions/writing-extensions) -
|
|
278
|
+
Build and share your own commands.
|
|
279
|
+
|
|
280
|
+
### Advanced Topics
|
|
281
|
+
|
|
282
|
+
- [**Headless Mode (Scripting)**](https://www.geminicli.com/docs/cli/headless) -
|
|
283
|
+
Use Gemini CLI in automated workflows.
|
|
284
|
+
- [**IDE Integration**](https://www.geminicli.com/docs/ide-integration) - VS
|
|
285
|
+
Code companion.
|
|
286
|
+
- [**Sandboxing & Security**](https://www.geminicli.com/docs/cli/sandbox) - Safe
|
|
287
|
+
execution environments.
|
|
288
|
+
- [**Trusted Folders**](https://www.geminicli.com/docs/cli/trusted-folders) -
|
|
289
|
+
Control execution policies by folder.
|
|
290
|
+
- [**Enterprise Guide**](https://www.geminicli.com/docs/cli/enterprise) - Deploy
|
|
291
|
+
and manage in a corporate environment.
|
|
292
|
+
- [**Telemetry & Monitoring**](https://www.geminicli.com/docs/cli/telemetry) -
|
|
293
|
+
Usage tracking.
|
|
294
|
+
- [**Tools reference**](https://www.geminicli.com/docs/reference/tools) -
|
|
295
|
+
Built-in tools overview.
|
|
296
|
+
- [**Local development**](https://www.geminicli.com/docs/local-development) -
|
|
297
|
+
Local development tooling.
|
|
298
|
+
|
|
299
|
+
### Troubleshooting & Support
|
|
300
|
+
|
|
301
|
+
- [**Troubleshooting Guide**](https://www.geminicli.com/docs/resources/troubleshooting) -
|
|
302
|
+
Common issues and solutions.
|
|
303
|
+
- [**FAQ**](https://www.geminicli.com/docs/resources/faq) - Frequently asked
|
|
304
|
+
questions.
|
|
305
|
+
- Use `/bug` command to report issues directly from the CLI.
|
|
306
|
+
|
|
307
|
+
### Using MCP Servers
|
|
308
|
+
|
|
309
|
+
User-level settings live in `~/.qoder/settings.json` by default. Set
|
|
310
|
+
`QODER_CONFIG_DIR` to use a different complete config root:
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
QODER_CONFIG_DIR=/tmp/qoder-dev qodercli
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
That example reads settings from `/tmp/qoder-dev/settings.json`; it does not
|
|
317
|
+
append `.qoder` to the configured path.
|
|
318
|
+
|
|
319
|
+
Configure MCP servers in the user settings file to extend Gemini CLI with custom
|
|
320
|
+
tools:
|
|
321
|
+
|
|
322
|
+
```text
|
|
323
|
+
> @slack Send a summary of today's commits to #dev channel
|
|
324
|
+
> @database Run a query to find inactive users
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
See the
|
|
328
|
+
[MCP Server Integration guide](https://www.geminicli.com/docs/tools/mcp-server)
|
|
329
|
+
for setup instructions.
|
|
330
|
+
|
|
331
|
+
## 🤝 Contributing
|
|
332
|
+
|
|
333
|
+
We welcome contributions! Gemini CLI is fully open source (Apache 2.0), and we
|
|
334
|
+
encourage the community to:
|
|
335
|
+
|
|
336
|
+
- Report bugs and suggest features.
|
|
337
|
+
- Improve documentation.
|
|
338
|
+
- Submit code improvements.
|
|
339
|
+
- Share your MCP servers and extensions.
|
|
340
|
+
|
|
341
|
+
See our [Contributing Guide](./CONTRIBUTING.md) for development setup, coding
|
|
342
|
+
standards, and how to submit pull requests.
|
|
343
|
+
|
|
344
|
+
## 📖 Resources
|
|
345
|
+
|
|
346
|
+
- **[Official Roadmap](./ROADMAP.md)** - See what's coming next.
|
|
347
|
+
- **[Changelog](https://www.geminicli.com/docs/changelogs)** - See recent
|
|
348
|
+
notable updates.
|
|
349
|
+
- **[NPM Package](https://www.npmjs.com/package/@qoder-ai/qodercli)** - Package
|
|
350
|
+
registry.
|
|
351
|
+
|
|
352
|
+
### Uninstall
|
|
353
|
+
|
|
354
|
+
See the [Uninstall Guide](https://www.geminicli.com/docs/resources/uninstall)
|
|
355
|
+
for removal instructions.
|
|
356
|
+
|
|
357
|
+
## 📄 Legal
|
|
358
|
+
|
|
359
|
+
- **License**: [Apache License 2.0](LICENSE)
|
|
360
|
+
- **Terms of Service**:
|
|
361
|
+
[Terms & Privacy](https://www.geminicli.com/docs/resources/tos-privacy)
|
|
362
|
+
- **Security**: [Security Policy](SECURITY.md)
|
|
42
363
|
|
|
43
364
|
---
|
|
365
|
+
|
|
366
|
+
<p align="center">
|
|
367
|
+
Built with ❤️ by Google and the open source community
|
|
368
|
+
</p>
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-creator
|
|
3
|
+
description:
|
|
4
|
+
Guide for creating custom agents. Use when users want to create a new agent
|
|
5
|
+
that runs in an isolated context with custom system prompts and
|
|
6
|
+
specific tool access.
|
|
7
|
+
allowed-tools: Edit, Write
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Creating Custom Agents for Qoder CLI
|
|
11
|
+
|
|
12
|
+
This skill guides you through creating custom agents. Agents are
|
|
13
|
+
specialized AI assistants that run in isolated contexts with custom system
|
|
14
|
+
prompts, specific tool access, and independent permissions.
|
|
15
|
+
|
|
16
|
+
## When to Use Agents
|
|
17
|
+
|
|
18
|
+
Use agents when you need:
|
|
19
|
+
|
|
20
|
+
- **Context isolation** for long research or exploration tasks
|
|
21
|
+
- **Parallel execution** of multiple independent workstreams
|
|
22
|
+
- **Specialized expertise** with custom prompts for specific domains
|
|
23
|
+
- **Reusable configurations** across projects
|
|
24
|
+
|
|
25
|
+
**When NOT to use agents:**
|
|
26
|
+
|
|
27
|
+
- Simple, single-purpose tasks (use skills instead)
|
|
28
|
+
- Tasks requiring frequent back-and-forth with the user
|
|
29
|
+
- Quick, targeted changes
|
|
30
|
+
|
|
31
|
+
## Agent Locations
|
|
32
|
+
|
|
33
|
+
| Location | Scope | Priority |
|
|
34
|
+
| -------------------------------- | ----------------- | -------- |
|
|
35
|
+
| `<project>/${QODER_CONFIG_DIR}/agents/` | Current project | Higher |
|
|
36
|
+
| `~/${QODER_CONFIG_DIR}/agents/` | All your projects | Lower |
|
|
37
|
+
|
|
38
|
+
**Project agents** (`${QODER_CONFIG_DIR}/agents/`): Ideal for codebase-specific
|
|
39
|
+
agents. Check into version control to share with your team.
|
|
40
|
+
|
|
41
|
+
**User agents** (`~/${QODER_CONFIG_DIR}/agents/`): Personal agents available across
|
|
42
|
+
all your projects.
|
|
43
|
+
|
|
44
|
+
## Agent File Format
|
|
45
|
+
|
|
46
|
+
Each agent is a Markdown file with YAML frontmatter:
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
---
|
|
50
|
+
name: agent-name
|
|
51
|
+
description: When to use this agent. Be specific!
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
You are a [role]. When invoked:
|
|
55
|
+
|
|
56
|
+
1. [First step]
|
|
57
|
+
2. [Second step]
|
|
58
|
+
3. [Output format]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Required Fields
|
|
62
|
+
|
|
63
|
+
| Field | Description |
|
|
64
|
+
| ------------- | -------------------------------------------------------------------------- |
|
|
65
|
+
| `name` | Unique identifier (lowercase letters and hyphens only) |
|
|
66
|
+
| `description` | When to delegate to this agent (be specific). Including trigger scenarios. |
|
|
67
|
+
|
|
68
|
+
## Writing Effective Descriptions
|
|
69
|
+
|
|
70
|
+
The description is **critical**. Include "use proactively" to encourage
|
|
71
|
+
automatic delegation - Qoder CLI uses it to decide when to delegate.
|
|
72
|
+
|
|
73
|
+
```yaml
|
|
74
|
+
# Bad - Too vague
|
|
75
|
+
description: Helps with code
|
|
76
|
+
|
|
77
|
+
# Good - Specific and actionable
|
|
78
|
+
description: Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code.
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Optional Fields
|
|
82
|
+
|
|
83
|
+
| Field | Description |
|
|
84
|
+
| ---------------- | ----------------------------------------------------------------------------------- |
|
|
85
|
+
| `tools` | Tools the agent can use (string or array) |
|
|
86
|
+
| `disallowedTools`| Tools to explicitly deny (string or array) |
|
|
87
|
+
| `model` | Model to use: `inherit` (default), `sonnet`, `opus`, `haiku` |
|
|
88
|
+
| `color` | Display color: `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan` |
|
|
89
|
+
| `displayName` | Human-friendly display name |
|
|
90
|
+
| `maxTurns` | Maximum conversation turns (positive integer) |
|
|
91
|
+
| `timeoutMins` | Timeout in minutes (positive integer) |
|
|
92
|
+
| `effort` | Thinking effort: `low`, `medium`, `high`, `max` |
|
|
93
|
+
| `skills` | Skills the agent can use (string or array) |
|
|
94
|
+
|
|
95
|
+
#### Tools
|
|
96
|
+
|
|
97
|
+
Specify which tools the agent has access to. This limits the agent's
|
|
98
|
+
capabilities for security and focus.
|
|
99
|
+
|
|
100
|
+
```yaml
|
|
101
|
+
# Read-only access
|
|
102
|
+
tools: Read, Grep, Glob
|
|
103
|
+
|
|
104
|
+
# Full development access
|
|
105
|
+
tools: Bash, Read, Write, Edit, Glob, Grep
|
|
106
|
+
|
|
107
|
+
# Web research capabilities
|
|
108
|
+
tools: Read, WebSearch, WebFetch
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Available Tools:**
|
|
112
|
+
|
|
113
|
+
- `Bash` - Execute shell commands
|
|
114
|
+
- `Read` - Read file contents
|
|
115
|
+
- `Write` - Create new files
|
|
116
|
+
- `Edit` - Modify existing files
|
|
117
|
+
- `Glob` - Find files by pattern
|
|
118
|
+
- `Grep` - Search file contents
|
|
119
|
+
- `WebSearch` - Search the web
|
|
120
|
+
- `WebFetch` - Fetch web page content
|
|
121
|
+
|
|
122
|
+
If not specified, the agent inherits default tool access.
|
|
123
|
+
|
|
124
|
+
## Agent Creation Workflow
|
|
125
|
+
|
|
126
|
+
### Step 1: Decide the Scope
|
|
127
|
+
|
|
128
|
+
If not sure where to create the agent, ask the user with two options:
|
|
129
|
+
|
|
130
|
+
- **Project-level** (`.agents/`): For team-shared, codebase-specific agents
|
|
131
|
+
- **User-level** (`~/.agents/`): For personal agents across all projects
|
|
132
|
+
|
|
133
|
+
### Step 2: Gather Requirements
|
|
134
|
+
|
|
135
|
+
Understand what the agent should do:
|
|
136
|
+
|
|
137
|
+
- What specific task or domain?
|
|
138
|
+
- What tools does it need?
|
|
139
|
+
- Should it be read-only or have write access?
|
|
140
|
+
- Any special constraints or workflows?
|
|
141
|
+
|
|
142
|
+
### Step 3: Create the File
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# For project-level
|
|
146
|
+
mkdir -p ${QODER_CONFIG_DIR}/agents
|
|
147
|
+
touch ${QODER_CONFIG_DIR}/agents/agent-name.md
|
|
148
|
+
|
|
149
|
+
# For user-level
|
|
150
|
+
mkdir -p ~/${QODER_CONFIG_DIR}/agents
|
|
151
|
+
touch ~/${QODER_CONFIG_DIR}/agents/agent-name.md
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Step 4: Write Configuration
|
|
155
|
+
|
|
156
|
+
Create the markdown file with:
|
|
157
|
+
|
|
158
|
+
1. YAML frontmatter with required fields
|
|
159
|
+
2. System prompt in the body
|
|
160
|
+
|
|
161
|
+
### Step 5: Verify
|
|
162
|
+
|
|
163
|
+
- Check file location is correct
|
|
164
|
+
- Verify YAML syntax is valid
|
|
165
|
+
- Confirm the description clearly describes when to use it
|
|
166
|
+
- Tell the user: run `/agents reload` to make the new agent available in the
|
|
167
|
+
current session. They can then invoke it with:
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
@agent-name [task description]
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Best Practices
|
|
174
|
+
|
|
175
|
+
1. **Design focused agents** - Each should excel at one specific task
|
|
176
|
+
2. **Write detailed descriptions** - Be detailed and specific so Qoder CLI knows
|
|
177
|
+
when to delegate
|
|
178
|
+
3. **Limit tool access** - Grant only necessary permissions for security and
|
|
179
|
+
focus
|
|
180
|
+
4. **Keep prompts concise** - Long, rambling prompts dilute focus
|
|
181
|
+
|
|
182
|
+
## Anti-Patterns to Avoid
|
|
183
|
+
|
|
184
|
+
- **Vague descriptions** - "Use for general tasks" gives no signal
|
|
185
|
+
- **Overly long prompts** - A 2000-word prompt doesn't make it smarter
|
|
186
|
+
|
|
187
|
+
## Examples
|
|
188
|
+
|
|
189
|
+
### Verifier
|
|
190
|
+
|
|
191
|
+
```markdown
|
|
192
|
+
---
|
|
193
|
+
name: verifier
|
|
194
|
+
description:
|
|
195
|
+
Validates completed work. Use after tasks are marked done to confirm
|
|
196
|
+
implementations are functional.
|
|
197
|
+
color: yellow
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
You are a skeptical validator. Your job is to verify that work claimed as
|
|
201
|
+
complete actually works.
|
|
202
|
+
|
|
203
|
+
When invoked:
|
|
204
|
+
|
|
205
|
+
1. Identify what was claimed to be completed
|
|
206
|
+
2. Check that the implementation exists and is functional
|
|
207
|
+
3. Run relevant tests or verification steps
|
|
208
|
+
4. Look for edge cases that may have been missed
|
|
209
|
+
|
|
210
|
+
Be thorough and skeptical. Report:
|
|
211
|
+
|
|
212
|
+
- What was verified and passed
|
|
213
|
+
- What was claimed but incomplete or broken
|
|
214
|
+
- Specific issues that need to be addressed
|
|
215
|
+
|
|
216
|
+
Do not accept claims at face value. Test everything.
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Debugger
|
|
220
|
+
|
|
221
|
+
```markdown
|
|
222
|
+
---
|
|
223
|
+
name: debugger
|
|
224
|
+
description:
|
|
225
|
+
Debugging specialist for errors and test failures. Use when encountering
|
|
226
|
+
issues.
|
|
227
|
+
color: red
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
You are an expert debugger specializing in root cause analysis.
|
|
231
|
+
|
|
232
|
+
When invoked:
|
|
233
|
+
|
|
234
|
+
1. Capture error message and stack trace
|
|
235
|
+
2. Identify reproduction steps
|
|
236
|
+
3. Isolate the failure location
|
|
237
|
+
4. Implement minimal fix
|
|
238
|
+
5. Verify solution works
|
|
239
|
+
|
|
240
|
+
For each issue, provide:
|
|
241
|
+
|
|
242
|
+
- Root cause explanation
|
|
243
|
+
- Evidence supporting the diagnosis
|
|
244
|
+
- Specific code fix
|
|
245
|
+
- Testing approach
|
|
246
|
+
|
|
247
|
+
Focus on fixing the underlying issue, not symptoms.
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Data Scientist
|
|
251
|
+
|
|
252
|
+
```markdown
|
|
253
|
+
---
|
|
254
|
+
name: data-scientist
|
|
255
|
+
description:
|
|
256
|
+
Data analysis expert for SQL queries, BigQuery operations, and data insights.
|
|
257
|
+
Use proactively for data analysis tasks and queries.
|
|
258
|
+
tools: Bash, Read, Write
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
You are a data scientist specializing in SQL and BigQuery analysis.
|
|
262
|
+
|
|
263
|
+
When invoked:
|
|
264
|
+
|
|
265
|
+
1. Understand the data analysis requirement
|
|
266
|
+
2. Write efficient SQL queries
|
|
267
|
+
3. Use BigQuery command line tools (bq) when appropriate
|
|
268
|
+
4. Analyze and summarize results
|
|
269
|
+
5. Present findings clearly
|
|
270
|
+
|
|
271
|
+
Key practices:
|
|
272
|
+
|
|
273
|
+
- Write optimized SQL queries with proper filters
|
|
274
|
+
- Use appropriate aggregations and joins
|
|
275
|
+
- Include comments explaining complex logic
|
|
276
|
+
- Format results for readability
|
|
277
|
+
- Provide data-driven recommendations
|
|
278
|
+
|
|
279
|
+
For each analysis:
|
|
280
|
+
|
|
281
|
+
- Explain the query approach
|
|
282
|
+
- Document any assumptions
|
|
283
|
+
- Highlight key findings
|
|
284
|
+
- Suggest next steps based on data
|
|
285
|
+
|
|
286
|
+
Always ensure queries are efficient and cost-effective.
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Security Auditor
|
|
290
|
+
|
|
291
|
+
```markdown
|
|
292
|
+
---
|
|
293
|
+
name: security-auditor
|
|
294
|
+
description:
|
|
295
|
+
Security specialist. Use when implementing auth, payments, or handling
|
|
296
|
+
sensitive data. Proactively audit security-sensitive code.
|
|
297
|
+
tools: Read, Grep, Glob
|
|
298
|
+
color: red
|
|
299
|
+
model: sonnet
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
You are a security expert auditing code for vulnerabilities.
|
|
303
|
+
|
|
304
|
+
When invoked:
|
|
305
|
+
|
|
306
|
+
1. Identify security-sensitive code paths
|
|
307
|
+
2. Check for common vulnerabilities (injection, XSS, auth bypass)
|
|
308
|
+
3. Verify secrets are not hardcoded
|
|
309
|
+
4. Review input validation and sanitization
|
|
310
|
+
|
|
311
|
+
Report findings by severity:
|
|
312
|
+
|
|
313
|
+
- Critical (must fix before deploy)
|
|
314
|
+
- High (fix soon)
|
|
315
|
+
- Medium (address when possible)
|
|
316
|
+
|
|
317
|
+
Security checklist:
|
|
318
|
+
|
|
319
|
+
- SQL injection prevention
|
|
320
|
+
- XSS protection
|
|
321
|
+
- CSRF tokens
|
|
322
|
+
- Authentication bypass risks
|
|
323
|
+
- Authorization checks
|
|
324
|
+
- Secret management
|
|
325
|
+
- Input validation
|
|
326
|
+
- Output encoding
|
|
327
|
+
```
|