Skip to content

Commit cd62a58

Browse files
grokifyclaude
andcommitted
docs: update CLI documentation for unified generate command
- Document new generate command with --specs, --target, --output flags - Add specs directory structure with agents/*.md, commands/*.md, skills/*.md - Add deployment file format documentation - Add deprecation notice for old subcommands - Update generated output documentation for all platforms Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 0a6f04f commit cd62a58

1 file changed

Lines changed: 123 additions & 81 deletions

File tree

docs/cli/generate-plugins.md

Lines changed: 123 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,53 @@
1-
# Generate Plugins
1+
# Generate Command
22

3-
The `generate plugins` command creates platform-specific plugins from canonical JSON specifications.
3+
The `generate` command creates platform-specific plugins from a unified specs directory.
4+
5+
!!! note "v0.9.0 Update"
6+
As of v0.9.0, the main `generate` command is the recommended way to generate plugins. The `generate plugins`, `generate agents`, `generate all`, and `generate deployment` subcommands are deprecated.
47

58
## Synopsis
69

710
```bash
8-
assistantkit generate plugins [flags]
11+
assistantkit generate [flags]
912
```
1013

1114
## Description
1215

13-
This command reads plugin definitions from a canonical spec directory and generates platform-specific plugins for Claude Code, Kiro IDE, and Gemini CLI.
14-
15-
The canonical spec format allows you to define your plugin once and automatically generate outputs for multiple AI coding assistants.
16+
This command reads plugin definitions from a unified specs directory and generates complete platform-specific plugins for each deployment target. Each target receives agents, commands, skills, and plugin manifest.
1617

1718
## Flags
1819

1920
| Flag | Default | Description |
2021
|------|---------|-------------|
21-
| `--spec` | `plugins/spec` | Path to canonical spec directory |
22-
| `--output` | `plugins` | Output directory for generated plugins |
23-
| `--platforms` | `claude,kiro` | Comma-separated list of platforms to generate |
24-
| `--config` | *(none)* | Config file path (assistantkit.yaml if exists) |
22+
| `--specs` | `specs` | Path to unified specs directory |
23+
| `--target` | `local` | Deployment target (looks for `specs/deployments/<target>.json`) |
24+
| `--output` | `.` | Output base directory for relative paths |
2525

2626
## Supported Platforms
2727

28-
- **claude**: Claude Code plugins (`.claude-plugin/` directory structure)
29-
- **kiro**: Kiro IDE Powers (POWER.md + mcp.json) or Kiro Agents (agents/*.json)
30-
- **gemini**: Gemini CLI extensions (gemini-extension.json)
28+
- **claude-code**: Claude Code plugins (`.claude-plugin/`, commands/, skills/, agents/)
29+
- **kiro-cli**: Kiro IDE Powers (POWER.md + mcp.json) or Kiro Agents (agents/*.json)
30+
- **gemini-cli**: Gemini CLI extensions (gemini-extension.json, commands/, agents/)
3131

32-
## Spec Directory Structure
32+
## Specs Directory Structure
3333

34-
The canonical spec directory should contain:
34+
The unified specs directory should contain:
3535

3636
```
37-
plugins/spec/
38-
├── plugin.json # Plugin metadata
39-
├── commands/ # Command definitions (*.json)
40-
│ └── create.json
41-
├── skills/ # Skill definitions (*.json)
42-
│ └── review.json
43-
└── agents/ # Agent definitions (*.json)
44-
└── release.json
37+
specs/
38+
├── plugin.json # Plugin metadata
39+
├── agents/ # Agent definitions (*.md with YAML frontmatter)
40+
│ ├── coordinator.md
41+
│ └── writer.md
42+
├── commands/ # Command definitions (*.md or *.json)
43+
│ └── release.md
44+
├── skills/ # Skill definitions (*.md or *.json)
45+
│ └── review.md
46+
├── teams/ # Team workflow definitions (optional)
47+
│ └── my-team.json
48+
└── deployments/ # Deployment configurations
49+
├── local.json # Local development (default)
50+
└── production.json # Production deployment
4551
```
4652

4753
### plugin.json
@@ -64,117 +70,153 @@ The plugin metadata file defines the plugin name, version, keywords, and MCP ser
6470
}
6571
```
6672

67-
### commands/*.json
73+
### agents/*.md
74+
75+
Agent definitions using multi-agent-spec format with YAML frontmatter:
76+
77+
```markdown
78+
---
79+
name: release-coordinator
80+
description: Orchestrates software releases
81+
model: sonnet
82+
tools: [Read, Write, Bash, Glob, Grep]
83+
skills: [version-analysis, commit-classification]
84+
---
85+
86+
You are a release coordinator agent responsible for...
87+
```
88+
89+
### commands/*.md
6890

6991
Command definitions for slash commands:
7092

71-
```json
72-
{
73-
"name": "create",
74-
"description": "Create a new resource",
75-
"arguments": [
76-
{"name": "name", "description": "Resource name", "required": true}
77-
],
78-
"instructions": "Instructions for the AI assistant...",
79-
"examples": ["Example usage"]
80-
}
93+
```markdown
94+
---
95+
name: release
96+
description: Execute full release workflow
97+
arguments: [version]
98+
dependencies: [version-analysis]
99+
---
100+
101+
# Release Command
102+
103+
When executing a release, follow these steps...
81104
```
82105

83-
### skills/*.json
106+
### skills/*.md
84107

85108
Skill definitions for reusable capabilities:
86109

87-
```json
88-
{
89-
"name": "code-review",
90-
"description": "Reviews code for best practices",
91-
"instructions": "Instructions for performing code review...",
92-
"triggers": ["review code", "check code"]
93-
}
110+
```markdown
111+
---
112+
name: code-review
113+
description: Reviews code for best practices
114+
triggers: [review code, check code]
115+
---
116+
117+
# Code Review Skill
118+
119+
When reviewing code, analyze for...
94120
```
95121

96-
### agents/*.json
122+
### deployments/*.json
97123

98-
Agent definitions for autonomous tasks:
124+
Deployment configurations defining output targets:
99125

100126
```json
101127
{
102-
"name": "release-agent",
103-
"description": "Manages release process",
104-
"model": "claude-sonnet-4",
105-
"systemPrompt": "You are a release management agent...",
106-
"tools": ["read_file", "write_file", "run_command"]
128+
"team": "my-team",
129+
"targets": [
130+
{
131+
"name": "local-claude",
132+
"platform": "claude-code",
133+
"output": "plugins/claude"
134+
},
135+
{
136+
"name": "local-kiro",
137+
"platform": "kiro-cli",
138+
"output": "plugins/kiro"
139+
},
140+
{
141+
"name": "local-gemini",
142+
"platform": "gemini-cli",
143+
"output": "plugins/gemini"
144+
}
145+
]
107146
}
108147
```
109148

110149
## Generated Output
111150

112-
### Claude Code
151+
Each deployment target receives a complete plugin:
113152

114-
Generates a `.claude-plugin/` directory structure:
153+
### Claude Code (`claude-code`)
115154

116155
```
117156
plugins/claude/
118157
├── .claude-plugin/
119158
│ └── plugin.json # Claude plugin manifest
120159
├── commands/
121-
│ └── create.md # Command instructions
122-
└── skills/
123-
└── code-review/
124-
└── SKILL.md # Skill instructions
125-
```
126-
127-
### Kiro IDE
128-
129-
Generates either a Power or Agents format based on the plugin spec:
130-
131-
**Power format** (when keywords or mcpServers are present):
132-
133-
```
134-
plugins/kiro/
135-
├── POWER.md # Power description
136-
└── mcp.json # MCP server configuration
160+
│ └── release.md # Command instructions
161+
├── skills/
162+
│ └── code-review/
163+
│ └── SKILL.md # Skill instructions
164+
└── agents/
165+
└── release-coordinator.md # Agent definition
137166
```
138167

139-
**Agents format** (when no keywords/mcpServers):
168+
### Kiro CLI (`kiro-cli`)
140169

141170
```
142171
plugins/kiro/
143-
└── agents/
144-
└── release-agent.json # Agent definition
172+
├── POWER.md # Power description (or agents/*.json)
173+
├── mcp.json # MCP server configuration
174+
└── steering/
175+
└── code-review.md # Steering files from skills
145176
```
146177

147-
### Gemini CLI
148-
149-
Generates a Gemini extension:
178+
### Gemini CLI (`gemini-cli`)
150179

151180
```
152181
plugins/gemini/
153-
├── gemini-extension.json # Extension manifest
182+
├── gemini-extension.json # Extension manifest
183+
├── commands/
184+
│ └── release.toml # Command in TOML format
154185
└── agents/
155-
└── release-agent.json # Agent definition
186+
└── release-coordinator.toml # Agent in TOML format
156187
```
157188

158189
## Examples
159190

160-
Generate plugins for all default platforms:
191+
Generate plugins using defaults:
161192

162193
```bash
163-
assistantkit generate plugins
194+
assistantkit generate
164195
```
165196

166-
Generate only for Claude:
197+
Use a specific deployment target:
167198

168199
```bash
169-
assistantkit generate plugins --platforms=claude
200+
assistantkit generate --target=production
170201
```
171202

172-
Generate for all platforms with custom directories:
203+
Generate with custom directories:
173204

174205
```bash
175-
assistantkit generate plugins --spec=canonical --output=dist --platforms=claude,kiro,gemini
206+
assistantkit generate --specs=my-specs --target=local --output=/path/to/output
176207
```
177208

209+
## Deprecated Subcommands
210+
211+
The following subcommands are deprecated and will show warnings when used:
212+
213+
| Deprecated | Replacement |
214+
|------------|-------------|
215+
| `generate plugins` | `generate --specs=... --target=...` |
216+
| `generate agents` | `generate --specs=... --target=...` |
217+
| `generate all` | `generate --specs=... --target=...` |
218+
| `generate deployment` | `generate --specs=... --target=...` |
219+
178220
## See Also
179221

180222
- [Plugin Structure](../plugins/structure.md) - Learn about plugin components

0 commit comments

Comments
 (0)