superkit-mcp-server 1.1.3 → 1.2.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/SUPERKIT.md +4 -4
- package/build/index.js +30 -19
- package/commands/README.md +122 -0
- package/commands/ask.toml +72 -0
- package/commands/brainstorm.toml +120 -0
- package/commands/chat.toml +73 -0
- package/commands/code-preview.toml +38 -0
- package/commands/code.toml +29 -0
- package/commands/content.toml +201 -0
- package/commands/cook.toml +78 -0
- package/commands/copywrite.toml +132 -0
- package/commands/db.toml +193 -0
- package/commands/debug.toml +167 -0
- package/commands/design.toml +159 -0
- package/commands/dev-rules.toml +14 -0
- package/commands/do.toml +117 -0
- package/commands/doc-rules.toml +14 -0
- package/commands/docs.toml +148 -0
- package/commands/fix.toml +440 -0
- package/commands/fullstack.toml +176 -0
- package/commands/git.toml +236 -0
- package/commands/help.toml +84 -0
- package/commands/integrate.toml +127 -0
- package/commands/journal.toml +137 -0
- package/commands/kit-setup.toml +41 -0
- package/commands/mcp.toml +183 -0
- package/commands/orchestration.toml +15 -0
- package/commands/plan.toml +172 -0
- package/commands/pm.toml +149 -0
- package/commands/pr.toml +51 -0
- package/commands/project.toml +33 -0
- package/commands/research.toml +118 -0
- package/commands/review-pr.toml +64 -0
- package/commands/review.toml +191 -0
- package/commands/scout-ext.toml +97 -0
- package/commands/scout.toml +80 -0
- package/commands/screenshot.toml +65 -0
- package/commands/session.toml +98 -0
- package/commands/skill.toml +385 -0
- package/commands/status.toml +23 -0
- package/commands/team.toml +56 -0
- package/commands/test.toml +165 -0
- package/commands/ticket.toml +71 -0
- package/commands/use.toml +106 -0
- package/commands/video.toml +84 -0
- package/commands/watzup.toml +71 -0
- package/commands/workflow.toml +14 -0
- package/package.json +4 -2
- package/{workflows → skills/workflows}/README.md +3 -3
- package/{workflows → skills/workflows}/development-rules.md +5 -0
- package/{workflows → skills/workflows}/documentation-management.md +5 -0
- package/{workflows → skills/workflows}/orchestration-protocol.md +5 -0
- package/{workflows → skills/workflows}/primary-workflow.md +5 -0
- /package/{workflows → skills/workflows}/adr.md +0 -0
- /package/{workflows → skills/workflows}/changelog.md +0 -0
- /package/{workflows → skills/workflows}/compound.md +0 -0
- /package/{workflows → skills/workflows}/compound_health.md +0 -0
- /package/{workflows → skills/workflows}/create-agent-skill.md +0 -0
- /package/{workflows → skills/workflows}/cycle.md +0 -0
- /package/{workflows → skills/workflows}/deploy-docs.md +0 -0
- /package/{workflows → skills/workflows}/doc.md +0 -0
- /package/{workflows → skills/workflows}/explore.md +0 -0
- /package/{workflows → skills/workflows}/generate_command.md +0 -0
- /package/{workflows → skills/workflows}/heal-skill.md +0 -0
- /package/{workflows → skills/workflows}/housekeeping.md +0 -0
- /package/{workflows → skills/workflows}/kit-setup.md +0 -0
- /package/{workflows → skills/workflows}/map-codebase.md +0 -0
- /package/{workflows → skills/workflows}/plan-compound.md +0 -0
- /package/{workflows → skills/workflows}/plan_review.md +0 -0
- /package/{workflows → skills/workflows}/promote_pattern.md +0 -0
- /package/{workflows → skills/workflows}/release-docs.md +0 -0
- /package/{workflows → skills/workflows}/report-bug.md +0 -0
- /package/{workflows → skills/workflows}/reproduce-bug.md +0 -0
- /package/{workflows → skills/workflows}/resolve_pr.md +0 -0
- /package/{workflows → skills/workflows}/resolve_todo.md +0 -0
- /package/{workflows → skills/workflows}/review-compound.md +0 -0
- /package/{workflows → skills/workflows}/skill-review.md +0 -0
- /package/{workflows → skills/workflows}/specs.md +0 -0
- /package/{workflows → skills/workflows}/triage-sprint.md +0 -0
- /package/{workflows → skills/workflows}/triage.md +0 -0
- /package/{workflows → skills/workflows}/work.md +0 -0
- /package/{workflows → skills/workflows}/xcode-test.md +0 -0
package/SUPERKIT.md
CHANGED
|
@@ -8,10 +8,10 @@ You are an AI assistant that analyzes user requirements, assigns tasks to suitab
|
|
|
8
8
|
|
|
9
9
|
## Workflows
|
|
10
10
|
|
|
11
|
-
- Primary workflow:
|
|
12
|
-
- Development rules:
|
|
13
|
-
- Orchestration protocols:
|
|
14
|
-
- Documentation management:
|
|
11
|
+
- Primary workflow: `./skills/workflows/primary-workflow.md`
|
|
12
|
+
- Development rules: `./skills/workflows/development-rules.md`
|
|
13
|
+
- Orchestration protocols: `./skills/workflows/orchestration-protocol.md`
|
|
14
|
+
- Documentation management: `./skills/workflows/documentation-management.md`
|
|
15
15
|
|
|
16
16
|
## Team Members
|
|
17
17
|
|
package/build/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
4
4
|
import { CallToolRequestSchema, ListToolsRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
5
5
|
import * as path from "path";
|
|
6
6
|
import * as fs from "fs/promises";
|
|
7
|
+
import * as toml from "@iarna/toml";
|
|
7
8
|
import { fileURLToPath } from "url";
|
|
8
9
|
import { manageAutoPreview } from "./tools/autoPreview.js";
|
|
9
10
|
import { manageSession } from "./tools/sessionManager.js";
|
|
@@ -254,19 +255,24 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
254
255
|
});
|
|
255
256
|
server.setRequestHandler(ListPromptsRequestSchema, async () => {
|
|
256
257
|
try {
|
|
257
|
-
const
|
|
258
|
-
const
|
|
258
|
+
const commandsPath = path.join(superKitRoot, "commands");
|
|
259
|
+
const commandsFiles = await fs.readdir(commandsPath);
|
|
259
260
|
const prompts = [];
|
|
260
|
-
for (const file of
|
|
261
|
-
if (file.endsWith(".
|
|
262
|
-
const filePath = path.join(
|
|
261
|
+
for (const file of commandsFiles) {
|
|
262
|
+
if (file.endsWith(".toml")) {
|
|
263
|
+
const filePath = path.join(commandsPath, file);
|
|
263
264
|
const content = await fs.readFile(filePath, "utf-8");
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
265
|
+
try {
|
|
266
|
+
const parsed = toml.parse(content);
|
|
267
|
+
const description = parsed?.description || `Command ${file}`;
|
|
268
|
+
prompts.push({
|
|
269
|
+
name: file.replace(".toml", ""),
|
|
270
|
+
description: description,
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
catch (e) {
|
|
274
|
+
console.error(`Failed to parse TOML ${file}:`, e);
|
|
275
|
+
}
|
|
270
276
|
}
|
|
271
277
|
}
|
|
272
278
|
return { prompts };
|
|
@@ -278,29 +284,31 @@ server.setRequestHandler(ListPromptsRequestSchema, async () => {
|
|
|
278
284
|
});
|
|
279
285
|
server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
280
286
|
const promptName = request.params.name;
|
|
281
|
-
const
|
|
282
|
-
const basePath = path.join(superKitRoot, "
|
|
283
|
-
const safePath = getSafePath(basePath,
|
|
287
|
+
const commandFile = `${promptName}.toml`;
|
|
288
|
+
const basePath = path.join(superKitRoot, "commands");
|
|
289
|
+
const safePath = getSafePath(basePath, commandFile);
|
|
284
290
|
if (!safePath) {
|
|
285
291
|
throw new Error("Invalid prompt requested");
|
|
286
292
|
}
|
|
287
293
|
try {
|
|
288
294
|
const content = await fs.readFile(safePath, "utf-8");
|
|
295
|
+
const parsed = toml.parse(content);
|
|
296
|
+
const promptText = parsed?.prompt || `Execute the ${promptName} command.`;
|
|
289
297
|
return {
|
|
290
|
-
description: `Loaded
|
|
298
|
+
description: parsed?.description || `Loaded command: ${promptName}`,
|
|
291
299
|
messages: [
|
|
292
300
|
{
|
|
293
301
|
role: "user",
|
|
294
302
|
content: {
|
|
295
303
|
type: "text",
|
|
296
|
-
text:
|
|
304
|
+
text: promptText,
|
|
297
305
|
},
|
|
298
306
|
},
|
|
299
307
|
],
|
|
300
308
|
};
|
|
301
309
|
}
|
|
302
310
|
catch (error) {
|
|
303
|
-
throw new Error(`Prompt not found: ${promptName}`);
|
|
311
|
+
throw new Error(`Prompt not found or invalid format: ${promptName}`);
|
|
304
312
|
}
|
|
305
313
|
});
|
|
306
314
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
@@ -417,11 +425,13 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
417
425
|
const agentsPath = path.join(superKitRoot, "agents");
|
|
418
426
|
const skillsTechPath = path.join(superKitRoot, "skills", "tech");
|
|
419
427
|
const skillsMetaPath = path.join(superKitRoot, "skills", "meta");
|
|
420
|
-
const workflowsPath = path.join(superKitRoot, "workflows");
|
|
428
|
+
const workflowsPath = path.join(superKitRoot, "skills", "workflows");
|
|
429
|
+
const commandsPath = path.join(superKitRoot, "commands");
|
|
421
430
|
const agents = await listDirectorySafe(agentsPath);
|
|
422
431
|
const techSkills = await listDirectorySafe(skillsTechPath);
|
|
423
432
|
const metaSkills = await listDirectorySafe(skillsMetaPath);
|
|
424
433
|
const workflows = await listDirectorySafe(workflowsPath);
|
|
434
|
+
const commands = await listDirectorySafe(commandsPath);
|
|
425
435
|
return {
|
|
426
436
|
content: [
|
|
427
437
|
{
|
|
@@ -433,6 +443,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
433
443
|
meta: metaSkills.map((s) => s.replace("/", "")),
|
|
434
444
|
},
|
|
435
445
|
workflows: workflows.map((w) => w.replace(".md", "")),
|
|
446
|
+
commands: commands.map((c) => c.replace(".toml", "")),
|
|
436
447
|
}, null, 2),
|
|
437
448
|
},
|
|
438
449
|
],
|
|
@@ -477,7 +488,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
477
488
|
if (!args.workflowName)
|
|
478
489
|
throw new Error("Missing workflowName");
|
|
479
490
|
const workflowFile = `${args.workflowName}.md`;
|
|
480
|
-
const baseDir = path.join(superKitRoot, "workflows");
|
|
491
|
+
const baseDir = path.join(superKitRoot, "skills", "workflows");
|
|
481
492
|
const safePath = getSafePath(baseDir, workflowFile);
|
|
482
493
|
if (!safePath)
|
|
483
494
|
throw new Error("Invalid workflow path");
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Commands
|
|
2
|
+
|
|
3
|
+
This directory contains all **custom slash commands** for the Gemini-Kit extension. Commands are defined as TOML files and automatically loaded by Gemini CLI.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Commands extend Gemini CLI's capabilities by providing specialized prompts for specific tasks. Each command file follows the TOML format with `description` and `prompt` fields.
|
|
8
|
+
|
|
9
|
+
## Command Categories
|
|
10
|
+
|
|
11
|
+
| Category | Commands | Purpose |
|
|
12
|
+
|----------|----------|---------|
|
|
13
|
+
| **Planning** | `plan`, `brainstorm` | Create implementation plans |
|
|
14
|
+
| **Coding** | `code`, `fix`, `debug`, `fullstack` | Write and debug code |
|
|
15
|
+
| **Review** | `review`, `review-pr`, `pr` | Code review and PR management |
|
|
16
|
+
| **Documentation** | `docs`, `doc-rules`, `help` | Documentation tasks |
|
|
17
|
+
| **Project** | `project`, `pm`, `status` | Project management |
|
|
18
|
+
| **Git** | `git`, `session` | Git and session management |
|
|
19
|
+
| **Research** | `research`, `scout`, `scout-ext` | Codebase exploration |
|
|
20
|
+
| **Content** | `content`, `copywrite`, `chat` | Content creation |
|
|
21
|
+
| **Database** | `db` | Database operations |
|
|
22
|
+
| **Design** | `design` | UI/UX design tasks |
|
|
23
|
+
| **Testing** | `test` | Testing and QA |
|
|
24
|
+
| **Tools** | `mcp`, `skill`, `screenshot`, `video` | Tool integrations |
|
|
25
|
+
|
|
26
|
+
## Components
|
|
27
|
+
|
|
28
|
+
| Component | Purpose | Status |
|
|
29
|
+
|-----------|---------|--------|
|
|
30
|
+
| `ask.toml` | General Q&A with context | ✅ Active |
|
|
31
|
+
| `brainstorm.toml` | Creative ideation | ✅ Active |
|
|
32
|
+
| `chat.toml` | Conversational interactions | ✅ Active |
|
|
33
|
+
| `code.toml` | Code implementation | ✅ Active |
|
|
34
|
+
| `code-preview.toml` | Code preview mode | ✅ Active |
|
|
35
|
+
| `content.toml` | Content creation | ✅ Active |
|
|
36
|
+
| `cook.toml` | Execute plans step-by-step | ✅ Active |
|
|
37
|
+
| `copywrite.toml` | Marketing copy | ✅ Active |
|
|
38
|
+
| `db.toml` | Database operations | ✅ Active |
|
|
39
|
+
| `debug.toml` | Debugging assistance | ✅ Active |
|
|
40
|
+
| `design.toml` | UI/UX design | ✅ Active |
|
|
41
|
+
| `dev-rules.toml` | Development rules loader | ✅ Active |
|
|
42
|
+
| `do.toml` | Quick task execution | ✅ Active |
|
|
43
|
+
| `doc-rules.toml` | Documentation rules | ✅ Active |
|
|
44
|
+
| `docs.toml` | Documentation management | ✅ Active |
|
|
45
|
+
| `fix.toml` | Bug fixing | ✅ Active |
|
|
46
|
+
| `fullstack.toml` | Full-stack development | ✅ Active |
|
|
47
|
+
| `git.toml` | Git operations | ✅ Active |
|
|
48
|
+
| `help.toml` | Help and guidance | ✅ Active |
|
|
49
|
+
| `integrate.toml` | Integration tasks | ✅ Active |
|
|
50
|
+
| `journal.toml` | Session journaling | ✅ Active |
|
|
51
|
+
| `kit-setup.toml` | Project setup wizard | ✅ Active |
|
|
52
|
+
| `mcp.toml` | MCP server management | ✅ Active |
|
|
53
|
+
| `orchestration.toml` | Multi-agent orchestration | ✅ Active |
|
|
54
|
+
| `plan.toml` | Implementation planning | ✅ Active |
|
|
55
|
+
| `pm.toml` | Project management | ✅ Active |
|
|
56
|
+
| `pr.toml` | Pull request creation | ✅ Active |
|
|
57
|
+
| `project.toml` | Project context | ✅ Active |
|
|
58
|
+
| `research.toml` | Research tasks | ✅ Active |
|
|
59
|
+
| `review-pr.toml` | PR review | ✅ Active |
|
|
60
|
+
| `review.toml` | Code review | ✅ Active |
|
|
61
|
+
| `scout-ext.toml` | Extended codebase exploration | ✅ Active |
|
|
62
|
+
| `scout.toml` | Codebase scout | ✅ Active |
|
|
63
|
+
| `screenshot.toml` | Screenshot capture | ✅ Active |
|
|
64
|
+
| `session.toml` | Session management | ✅ Active |
|
|
65
|
+
| `skill.toml` | Skill creation | ✅ Active |
|
|
66
|
+
| `status.toml` | Status reporting | ✅ Active |
|
|
67
|
+
| `team.toml` | Team coordination | ✅ Active |
|
|
68
|
+
| `test.toml` | Testing tasks | ✅ Active |
|
|
69
|
+
| `ticket.toml` | Issue/ticket management | ✅ Active |
|
|
70
|
+
| `use.toml` | Use existing patterns | ✅ Active |
|
|
71
|
+
| `video.toml` | Video processing | ✅ Active |
|
|
72
|
+
| `watzup.toml` | Quick status check | ✅ Active |
|
|
73
|
+
| `workflow.toml` | Workflow management | ✅ Active |
|
|
74
|
+
|
|
75
|
+
## TOML Structure
|
|
76
|
+
|
|
77
|
+
Each command file follows this structure:
|
|
78
|
+
|
|
79
|
+
```toml
|
|
80
|
+
description = "Brief description shown in command list"
|
|
81
|
+
|
|
82
|
+
prompt = '''
|
|
83
|
+
# Command Name
|
|
84
|
+
|
|
85
|
+
{{args}} - User input passed to the command
|
|
86
|
+
|
|
87
|
+
## Instructions
|
|
88
|
+
...
|
|
89
|
+
'''
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### String Types
|
|
93
|
+
|
|
94
|
+
- **Basic string** (`"""..."""`): Processes escape sequences
|
|
95
|
+
- **Literal string** (`'''...'''`): Raw content, no escape processing (preferred for complex prompts with code blocks)
|
|
96
|
+
|
|
97
|
+
> [!NOTE]
|
|
98
|
+
> Use literal strings (`'''`) when your prompt contains nested markdown code blocks to avoid TOML parsing issues.
|
|
99
|
+
|
|
100
|
+
## Usage
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# In Gemini CLI
|
|
104
|
+
/command-name [arguments]
|
|
105
|
+
|
|
106
|
+
# Examples
|
|
107
|
+
/plan Add user authentication
|
|
108
|
+
/code Implement login form
|
|
109
|
+
/review @src/auth/login.ts
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Changelog
|
|
113
|
+
|
|
114
|
+
### 2026-01-24
|
|
115
|
+
- Fixed TOML parsing failure in `docs.toml` by switching from basic strings (`"""`) to literal strings (`'''`) - Issue #9
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## References
|
|
120
|
+
|
|
121
|
+
- [Gemini CLI Commands Documentation](https://ai.google.dev/gemini-api/docs/gemini-cli)
|
|
122
|
+
- [TOML Specification](https://toml.io/en/)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Ask - Ask About Codebase
|
|
2
|
+
# Usage: /ask <question>
|
|
3
|
+
# Ask questions about the codebase, AI will search and answer
|
|
4
|
+
|
|
5
|
+
description = "Ask questions about the codebase, AI will search and answer"
|
|
6
|
+
|
|
7
|
+
prompt = """
|
|
8
|
+
{{#if args}}
|
|
9
|
+
# ❓ Ask About Codebase
|
|
10
|
+
|
|
11
|
+
**Question:** {{args}}
|
|
12
|
+
|
|
13
|
+
## Instructions:
|
|
14
|
+
|
|
15
|
+
1. **Search the codebase** to find relevant files and code
|
|
16
|
+
2. **Analyze** the code structure and patterns
|
|
17
|
+
3. **Answer** the question based on actual code
|
|
18
|
+
|
|
19
|
+
## Search Strategy:
|
|
20
|
+
- Look for files related to the question keywords
|
|
21
|
+
- Read relevant source files
|
|
22
|
+
- Check imports and dependencies
|
|
23
|
+
- Look at tests for usage examples
|
|
24
|
+
|
|
25
|
+
## Answer Format:
|
|
26
|
+
|
|
27
|
+
### 📋 Answer
|
|
28
|
+
[Direct answer to the question]
|
|
29
|
+
|
|
30
|
+
### 📁 Relevant Files
|
|
31
|
+
- `file1.ts` - [description]
|
|
32
|
+
- `file2.ts` - [description]
|
|
33
|
+
|
|
34
|
+
### 💡 Code Examples
|
|
35
|
+
```typescript
|
|
36
|
+
// relevant code snippets
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 🔗 Related
|
|
40
|
+
- [other related concepts or files]
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
Now search the codebase and answer: "{{args}}"
|
|
45
|
+
{{else}}
|
|
46
|
+
# ❓ Ask About Codebase
|
|
47
|
+
|
|
48
|
+
Ask any question about the codebase and get AI-powered answers.
|
|
49
|
+
|
|
50
|
+
## Usage:
|
|
51
|
+
```
|
|
52
|
+
/ask <your question>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Examples:
|
|
56
|
+
```
|
|
57
|
+
/ask How does authentication work?
|
|
58
|
+
/ask Where is the user model defined?
|
|
59
|
+
/ask What API endpoints are available?
|
|
60
|
+
/ask How do I add a new route?
|
|
61
|
+
/ask Where are database queries made?
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## What it does:
|
|
65
|
+
1. Searches codebase for relevant files
|
|
66
|
+
2. Analyzes code structure and patterns
|
|
67
|
+
3. Provides answer based on actual code
|
|
68
|
+
4. Shows relevant code snippets
|
|
69
|
+
|
|
70
|
+
Ask your question!
|
|
71
|
+
{{/if}}
|
|
72
|
+
"""
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
description = "Trade-off analysis before coding (Brainstormer Agent)"
|
|
2
|
+
|
|
3
|
+
prompt = """
|
|
4
|
+
# 💡 BRAINSTORMER AGENT
|
|
5
|
+
|
|
6
|
+
Brainstorm topic:
|
|
7
|
+
|
|
8
|
+
**Question:** {{args}}
|
|
9
|
+
|
|
10
|
+
## CONTEXT REQUESTED
|
|
11
|
+
Before analysis, context is needed:
|
|
12
|
+
- **Team:** Skills, experience level?
|
|
13
|
+
- **Timeline:** Deadline? MVP or full product?
|
|
14
|
+
- **Budget:** Constraints?
|
|
15
|
+
- **Constraints:** Technical, business?
|
|
16
|
+
|
|
17
|
+
(If no context is provided, it will base analysis on assumptions and list them)
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## OUTPUT FORMAT
|
|
22
|
+
|
|
23
|
+
### 📋 Problem Understanding
|
|
24
|
+
- Problem to solve
|
|
25
|
+
- Constraints identified
|
|
26
|
+
- Assumptions made
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
### 🔄 Approaches Analysis
|
|
31
|
+
|
|
32
|
+
#### Approach A: [Name]
|
|
33
|
+
| Aspect | Analysis |
|
|
34
|
+
|--------|----------|
|
|
35
|
+
| **Description** | [How it works] |
|
|
36
|
+
| **Pros** | • [Pro 1] • [Pro 2] • [Pro 3] |
|
|
37
|
+
| **Cons** | • [Con 1] • [Con 2] |
|
|
38
|
+
| **Effort** | Low / Medium / High |
|
|
39
|
+
| **Risk** | Low / Medium / High |
|
|
40
|
+
| **Time to MVP** | [Estimate] |
|
|
41
|
+
|
|
42
|
+
#### Approach B: [Name]
|
|
43
|
+
[Same structure]
|
|
44
|
+
|
|
45
|
+
#### Approach C: [Name]
|
|
46
|
+
[Same structure]
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### 📊 Trade-off Matrix
|
|
51
|
+
|
|
52
|
+
| Criteria | A | B | C |
|
|
53
|
+
|----------|---|---|---|
|
|
54
|
+
| Speed | ⭐⭐⭐ | ⭐⭐ | ⭐ |
|
|
55
|
+
| Scale | ⭐ | ⭐⭐⭐ | ⭐⭐ |
|
|
56
|
+
| Cost | ⭐⭐⭐ | ⭐⭐ | ⭐ |
|
|
57
|
+
| Team Fit | ⭐⭐ | ⭐⭐⭐ | ⭐ |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
### ✅ Success Criteria
|
|
62
|
+
Measurable criteria to validate decision:
|
|
63
|
+
- [ ] [Metric 1] e.g., "p95 latency <200ms"
|
|
64
|
+
- [ ] [Metric 2] e.g., "Ship MVP in 6 weeks"
|
|
65
|
+
- [ ] [Metric 3] e.g., "80% test coverage"
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### ⚠️ YAGNI Assessment
|
|
70
|
+
**Overengineering check:**
|
|
71
|
+
|
|
72
|
+
> Is this solution over-engineered for current needs?
|
|
73
|
+
|
|
74
|
+
- [ ] Building for 10x scale when 2x is enough
|
|
75
|
+
- [ ] Premature optimization
|
|
76
|
+
- [ ] Unnecessary abstractions
|
|
77
|
+
|
|
78
|
+
**Verdict:** [Keep simple / Proceed / Simplify]
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
### ❓ Open Questions
|
|
83
|
+
Questions to answer BEFORE proceeding:
|
|
84
|
+
1. [Question 1]
|
|
85
|
+
2. [Question 2]
|
|
86
|
+
3. [Question 3]
|
|
87
|
+
|
|
88
|
+
⚠️ **Don't skip these!**
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### 🎯 Recommendation
|
|
93
|
+
**Recommended:** [Approach X]
|
|
94
|
+
|
|
95
|
+
**Reasoning:**
|
|
96
|
+
[Why this approach fits best given context]
|
|
97
|
+
|
|
98
|
+
**When NOT to use:**
|
|
99
|
+
[Scenarios where this would be wrong choice]
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
### 🚀 Next Steps
|
|
104
|
+
```bash
|
|
105
|
+
# Ready to proceed? Run:
|
|
106
|
+
/plan [implementation based on chosen approach]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
> **Key Takeaway:** Brainstormer doesn't write code. It saves you from writing the wrong code. 10 minutes of brainstorming prevents weeks of refactoring.
|
|
112
|
+
"""
|
|
113
|
+
|
|
114
|
+
# ---
|
|
115
|
+
# USAGE:
|
|
116
|
+
# /brainstorm REST vs GraphQL for mobile app
|
|
117
|
+
# /brainstorm Redis cache vs DB optimization vs CDN
|
|
118
|
+
# /brainstorm Monolith vs microservices
|
|
119
|
+
# /brainstorm WebSockets vs polling for dashboard
|
|
120
|
+
# ---
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Chat - Chat Mode Reference
|
|
2
|
+
# Usage: /chat
|
|
3
|
+
# Reference for chat shortcuts and commands
|
|
4
|
+
|
|
5
|
+
description = "Reference for chat shortcuts and commands"
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
prompt = """
|
|
10
|
+
# 💬 Gemini CLI Chat Reference
|
|
11
|
+
|
|
12
|
+
Quick reference for chat mode features in Gemini CLI.
|
|
13
|
+
|
|
14
|
+
## Built-in Features
|
|
15
|
+
|
|
16
|
+
Gemini CLI already supports these in chat:
|
|
17
|
+
|
|
18
|
+
### File Operations
|
|
19
|
+
```
|
|
20
|
+
@file.ts # Read a file into context
|
|
21
|
+
Read file.ts # Natural language also works
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Search
|
|
25
|
+
```
|
|
26
|
+
Search for auth # Find files
|
|
27
|
+
Where is login # Natural language search
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Commands
|
|
31
|
+
```
|
|
32
|
+
/plan # Create plan
|
|
33
|
+
/cook # Execute with checkpoint
|
|
34
|
+
/scout # Search codebase
|
|
35
|
+
/code # Implement features
|
|
36
|
+
... # All gemini-kit commands
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Tips
|
|
40
|
+
|
|
41
|
+
### Adding Context
|
|
42
|
+
- Mention file names and AI will read them
|
|
43
|
+
- Use "Read [file]" or "Show me [file]"
|
|
44
|
+
- Reference line numbers: "line 50 of app.ts"
|
|
45
|
+
|
|
46
|
+
### Multi-turn Conversations
|
|
47
|
+
- AI remembers conversation history
|
|
48
|
+
- Reference previous messages
|
|
49
|
+
- Build on earlier answers
|
|
50
|
+
|
|
51
|
+
### Controlling Output
|
|
52
|
+
- "Be concise" for shorter answers
|
|
53
|
+
- "Explain in detail" for longer
|
|
54
|
+
- "Show code only" for just code
|
|
55
|
+
|
|
56
|
+
## Gemini-Kit Chat Commands
|
|
57
|
+
|
|
58
|
+
| Command | Description |
|
|
59
|
+
|---------|-------------|
|
|
60
|
+
| `/help` | Show all available commands |
|
|
61
|
+
| `/do <task>` | Auto-route to best agent |
|
|
62
|
+
| `/ask <question>` | Ask about codebase |
|
|
63
|
+
| `/watzup` | Project status |
|
|
64
|
+
| `/session save` | Save current context |
|
|
65
|
+
|
|
66
|
+
## Keyboard Shortcuts
|
|
67
|
+
|
|
68
|
+
- `Ctrl+C` - Cancel current operation
|
|
69
|
+
- `Ctrl+D` - Exit Gemini CLI
|
|
70
|
+
- `Up/Down` - Navigate history
|
|
71
|
+
|
|
72
|
+
That's it! Start chatting naturally with AI.
|
|
73
|
+
"""
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
description = "Preview code changes without applying (Dry Run mode)"
|
|
2
|
+
|
|
3
|
+
prompt = """
|
|
4
|
+
# 👁️ Code Preview Agent (Dry Run)
|
|
5
|
+
|
|
6
|
+
**Request:** {{args}}
|
|
7
|
+
|
|
8
|
+
## IMPORTANT - DRY RUN MODE
|
|
9
|
+
|
|
10
|
+
You are in **DRY RUN** mode. This means:
|
|
11
|
+
1. ❌ **DO NOT** write to actual files
|
|
12
|
+
2. ❌ **DO NOT** use write_file, edit, or any file writing tools
|
|
13
|
+
3. ✅ **ONLY** display proposed changes in unified diff format
|
|
14
|
+
|
|
15
|
+
## Output Format
|
|
16
|
+
|
|
17
|
+
Display proposed changes as:
|
|
18
|
+
|
|
19
|
+
### File: `path/to/file.ts`
|
|
20
|
+
```diff
|
|
21
|
+
- old line
|
|
22
|
+
+ new line
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## After Preview
|
|
26
|
+
|
|
27
|
+
After the user views the diff:
|
|
28
|
+
- If the user says "apply", "ok", "lgtm" → Run `/code` to apply
|
|
29
|
+
- If the user says "no", "cancel" → Stop
|
|
30
|
+
- If the user requests changes → Update the diff
|
|
31
|
+
|
|
32
|
+
## Guidelines
|
|
33
|
+
|
|
34
|
+
1. Read current files first
|
|
35
|
+
2. Create proposed changes
|
|
36
|
+
3. Display diff ONLY ON CONSOLE
|
|
37
|
+
4. DO NOT WRITE TO FILE
|
|
38
|
+
"""
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
description = "Write and edit code (Coder Agent)"
|
|
2
|
+
|
|
3
|
+
prompt = """
|
|
4
|
+
# 💻 Coder Agent
|
|
5
|
+
|
|
6
|
+
Implement:
|
|
7
|
+
|
|
8
|
+
**Task:** {{args}}
|
|
9
|
+
|
|
10
|
+
## Pre-flight
|
|
11
|
+
1. Review plan (if any)
|
|
12
|
+
2. Check existing patterns
|
|
13
|
+
3. Identify integration points
|
|
14
|
+
|
|
15
|
+
## Implementation Guidelines
|
|
16
|
+
- Follow project style guide
|
|
17
|
+
- TypeScript best practices
|
|
18
|
+
- Proper error handling
|
|
19
|
+
- JSDoc comments for functions
|
|
20
|
+
|
|
21
|
+
## Code Quality
|
|
22
|
+
- Clean, readable
|
|
23
|
+
- Single responsibility
|
|
24
|
+
- Proper naming
|
|
25
|
+
- No magic numbers
|
|
26
|
+
|
|
27
|
+
## Output
|
|
28
|
+
Code changes with explanations.
|
|
29
|
+
"""
|