gemkit-cli 0.2.2 → 0.3.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.
Files changed (160) hide show
  1. package/README.md +152 -5
  2. package/dist/commands/agent/index.d.ts +9 -0
  3. package/dist/commands/agent/index.js +1329 -0
  4. package/dist/commands/cache/index.d.ts +5 -0
  5. package/dist/commands/cache/index.js +43 -0
  6. package/dist/commands/catalog/index.d.ts +2 -0
  7. package/dist/commands/catalog/index.js +57 -0
  8. package/dist/commands/config/index.d.ts +7 -0
  9. package/dist/commands/config/index.js +122 -0
  10. package/dist/commands/convert/index.d.ts +8 -0
  11. package/dist/commands/convert/index.js +391 -0
  12. package/dist/commands/doctor/index.d.ts +2 -0
  13. package/dist/commands/doctor/index.js +243 -0
  14. package/dist/commands/extension/index.d.ts +5 -0
  15. package/dist/commands/extension/index.js +52 -0
  16. package/dist/commands/index.d.ts +5 -0
  17. package/dist/commands/index.js +37 -0
  18. package/dist/commands/init/index.d.ts +6 -0
  19. package/dist/commands/init/index.js +345 -0
  20. package/dist/commands/new/index.d.ts +5 -0
  21. package/dist/commands/new/index.js +49 -0
  22. package/dist/commands/office/index.d.ts +5 -0
  23. package/dist/commands/office/index.js +283 -0
  24. package/dist/commands/paste/index.d.ts +10 -0
  25. package/dist/commands/paste/index.js +533 -0
  26. package/dist/commands/plan/index.d.ts +8 -0
  27. package/dist/commands/plan/index.js +247 -0
  28. package/dist/commands/session/index.d.ts +8 -0
  29. package/dist/commands/session/index.js +289 -0
  30. package/dist/commands/tokens/index.d.ts +6 -0
  31. package/dist/commands/tokens/index.js +148 -0
  32. package/dist/commands/update/index.d.ts +26 -0
  33. package/dist/commands/update/index.js +199 -0
  34. package/dist/commands/versions/index.d.ts +5 -0
  35. package/dist/commands/versions/index.js +39 -0
  36. package/dist/domains/agent/index.d.ts +8 -0
  37. package/dist/domains/agent/index.js +8 -0
  38. package/dist/domains/agent/mappings.d.ts +32 -0
  39. package/dist/domains/agent/mappings.js +164 -0
  40. package/dist/domains/agent/profile.d.ts +26 -0
  41. package/dist/domains/agent/profile.js +225 -0
  42. package/dist/domains/agent/pty-context.d.ts +11 -0
  43. package/dist/domains/agent/pty-context.js +83 -0
  44. package/dist/domains/agent/pty-providers.d.ts +18 -0
  45. package/dist/domains/agent/pty-providers.js +66 -0
  46. package/dist/domains/agent/pty-session.d.ts +33 -0
  47. package/dist/domains/agent/pty-session.js +82 -0
  48. package/dist/domains/agent/pty-types.d.ts +127 -0
  49. package/dist/domains/agent/pty-types.js +4 -0
  50. package/dist/domains/agent/search.d.ts +45 -0
  51. package/dist/domains/agent/search.js +614 -0
  52. package/dist/domains/agent/types.d.ts +78 -0
  53. package/dist/domains/agent/types.js +5 -0
  54. package/dist/domains/agent-office/documents-scanner.d.ts +9 -0
  55. package/dist/domains/agent-office/documents-scanner.js +143 -0
  56. package/dist/domains/agent-office/event-emitter.d.ts +43 -0
  57. package/dist/domains/agent-office/event-emitter.js +86 -0
  58. package/dist/domains/agent-office/file-watcher.d.ts +40 -0
  59. package/dist/domains/agent-office/file-watcher.js +173 -0
  60. package/dist/domains/agent-office/icons.d.ts +11 -0
  61. package/dist/domains/agent-office/icons.js +36 -0
  62. package/dist/domains/agent-office/index.d.ts +12 -0
  63. package/dist/domains/agent-office/index.js +20 -0
  64. package/dist/domains/agent-office/renderer/web/assets.d.ts +11 -0
  65. package/dist/domains/agent-office/renderer/web/assets.js +3419 -0
  66. package/dist/domains/agent-office/renderer/web/server.d.ts +42 -0
  67. package/dist/domains/agent-office/renderer/web/server.js +228 -0
  68. package/dist/domains/agent-office/renderer/web.d.ts +30 -0
  69. package/dist/domains/agent-office/renderer/web.js +111 -0
  70. package/dist/domains/agent-office/session-bridge.d.ts +23 -0
  71. package/dist/domains/agent-office/session-bridge.js +171 -0
  72. package/dist/domains/agent-office/state-machine.d.ts +5 -0
  73. package/dist/domains/agent-office/state-machine.js +82 -0
  74. package/dist/domains/agent-office/types.d.ts +91 -0
  75. package/dist/domains/agent-office/types.js +4 -0
  76. package/dist/domains/cache/index.d.ts +1 -0
  77. package/dist/domains/cache/index.js +1 -0
  78. package/dist/domains/cache/manager.d.ts +22 -0
  79. package/dist/domains/cache/manager.js +84 -0
  80. package/dist/domains/config/index.d.ts +5 -0
  81. package/dist/domains/config/index.js +5 -0
  82. package/dist/domains/config/manager.d.ts +24 -0
  83. package/dist/domains/config/manager.js +85 -0
  84. package/dist/domains/config/schema.d.ts +17 -0
  85. package/dist/domains/config/schema.js +96 -0
  86. package/dist/domains/convert/converter.d.ts +78 -0
  87. package/dist/domains/convert/converter.js +471 -0
  88. package/dist/domains/convert/index.d.ts +5 -0
  89. package/dist/domains/convert/index.js +5 -0
  90. package/dist/domains/convert/types.d.ts +88 -0
  91. package/dist/domains/convert/types.js +18 -0
  92. package/dist/domains/github/download.d.ts +12 -0
  93. package/dist/domains/github/download.js +51 -0
  94. package/dist/domains/github/index.d.ts +2 -0
  95. package/dist/domains/github/index.js +2 -0
  96. package/dist/domains/github/releases.d.ts +16 -0
  97. package/dist/domains/github/releases.js +68 -0
  98. package/dist/domains/installation/conflict.d.ts +13 -0
  99. package/dist/domains/installation/conflict.js +38 -0
  100. package/dist/domains/installation/file-sync.d.ts +16 -0
  101. package/dist/domains/installation/file-sync.js +77 -0
  102. package/dist/domains/installation/index.d.ts +3 -0
  103. package/dist/domains/installation/index.js +3 -0
  104. package/dist/domains/installation/metadata.d.ts +20 -0
  105. package/dist/domains/installation/metadata.js +52 -0
  106. package/dist/domains/plan/index.d.ts +2 -0
  107. package/dist/domains/plan/index.js +2 -0
  108. package/dist/domains/plan/resolver.d.ts +24 -0
  109. package/dist/domains/plan/resolver.js +164 -0
  110. package/dist/domains/plan/types.d.ts +13 -0
  111. package/dist/domains/plan/types.js +4 -0
  112. package/dist/domains/session/env.d.ts +51 -0
  113. package/dist/domains/session/env.js +118 -0
  114. package/dist/domains/session/index.d.ts +8 -0
  115. package/dist/domains/session/index.js +8 -0
  116. package/dist/domains/session/manager.d.ts +56 -0
  117. package/dist/domains/session/manager.js +205 -0
  118. package/dist/domains/session/paths.d.ts +6 -0
  119. package/dist/domains/session/paths.js +6 -0
  120. package/dist/domains/session/types.d.ts +121 -0
  121. package/dist/domains/session/types.js +5 -0
  122. package/dist/domains/session/writer.d.ts +82 -0
  123. package/dist/domains/session/writer.js +431 -0
  124. package/dist/domains/tokens/index.d.ts +5 -0
  125. package/dist/domains/tokens/index.js +5 -0
  126. package/dist/domains/tokens/pricing.d.ts +38 -0
  127. package/dist/domains/tokens/pricing.js +129 -0
  128. package/dist/domains/tokens/scanner.d.ts +42 -0
  129. package/dist/domains/tokens/scanner.js +168 -0
  130. package/dist/index.d.ts +5 -0
  131. package/dist/index.js +86 -57
  132. package/dist/services/aipty.d.ts +76 -0
  133. package/dist/services/aipty.js +276 -0
  134. package/dist/services/archive.d.ts +22 -0
  135. package/dist/services/archive.js +53 -0
  136. package/dist/services/auto-update.d.ts +26 -0
  137. package/dist/services/auto-update.js +117 -0
  138. package/dist/services/hash.d.ts +36 -0
  139. package/dist/services/hash.js +63 -0
  140. package/dist/services/logger.d.ts +28 -0
  141. package/dist/services/logger.js +102 -0
  142. package/dist/services/music.d.ts +67 -0
  143. package/dist/services/music.js +290 -0
  144. package/dist/services/npm.d.ts +22 -0
  145. package/dist/services/npm.js +65 -0
  146. package/dist/services/pty-client.d.ts +66 -0
  147. package/dist/services/pty-client.js +154 -0
  148. package/dist/services/pty-server.d.ts +102 -0
  149. package/dist/services/pty-server.js +613 -0
  150. package/dist/types/index.d.ts +155 -0
  151. package/dist/types/index.js +4 -0
  152. package/dist/utils/colors.d.ts +43 -0
  153. package/dist/utils/colors.js +98 -0
  154. package/dist/utils/errors.d.ts +24 -0
  155. package/dist/utils/errors.js +56 -0
  156. package/dist/utils/paths.d.ts +46 -0
  157. package/dist/utils/paths.js +89 -0
  158. package/dist/utils/platform.d.ts +11 -0
  159. package/dist/utils/platform.js +31 -0
  160. package/package.json +55 -54
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # GemKit CLI
2
2
 
3
- A command-line interface for working with Gemini AI agents, plans, and sessions.
3
+ A command-line interface for working with Gemini and Claude AI agents, plans, and sessions.
4
4
 
5
5
  ![Demo](public/demo-final.gif)
6
6
 
@@ -30,6 +30,7 @@ gk <command> [options]
30
30
  | `gk init` | Initialize GemKit in your project |
31
31
  | `gk new` | Create new agents, plans, or skills |
32
32
  | `gk agent` | Manage and spawn AI agents |
33
+ | `gk team` | Multi-agent team coordination |
33
34
  | `gk office` | Agent Office visualization dashboard |
34
35
  | `gk session` | View and manage sessions |
35
36
  | `gk plan` | Work with execution plans |
@@ -42,9 +43,13 @@ gk <command> [options]
42
43
  | `gk extension` | Manage extensions |
43
44
  | `gk catalog` | Browse available kits |
44
45
  | `gk convert` | Convert between formats |
45
- | `gk paste-image` | Handle image pasting |
46
+ | `gk paste` | Handle image and video pasting |
46
47
 
47
- ### Agent Commands
48
+ ## Agent Commands
49
+
50
+ ### One-Shot Mode (Spawn)
51
+
52
+ Fire-and-forget agent execution that blocks until completion.
48
53
 
49
54
  | Command | Description |
50
55
  |---------|-------------|
@@ -58,9 +63,90 @@ gk <command> [options]
58
63
  - `-s, --skills <list>` - Comma-separated skills to inject
59
64
  - `-c, --context <files>` - Context files (@file syntax)
60
65
  - `-m, --model <model>` - Model override
66
+ - `-t, --tools <list>` - Comma-separated tools to auto-approve
67
+ - `--cli <provider>` - CLI provider: `gemini` (default) or `claude`
61
68
  - `--music` - Play elevator music while waiting
62
69
 
63
- ### Agent Office Commands
70
+ ### Interactive Mode
71
+
72
+ Persistent AI session for multi-turn conversations with tool approval control.
73
+
74
+ | Command | Description |
75
+ |---------|-------------|
76
+ | `gk agent start` | Start interactive session |
77
+ | `gk agent send "<prompt>"` | Send prompt to session |
78
+ | `gk agent wait [timeout]` | Wait for completion (default: 120s) |
79
+ | `gk agent pending` | Check pending tool confirmations |
80
+ | `gk agent exchange` | Get structured JSON output |
81
+ | `gk agent read [lines]` | Read raw terminal output |
82
+ | `gk agent status` | Check session status |
83
+ | `gk agent stop` | Stop session |
84
+
85
+ **Start Options:**
86
+ - `-a, --agent <name>` - Agent profile name
87
+ - `-s, --skills <list>` - Comma-separated skills
88
+ - `-c, --context <files>` - Context files (@file syntax)
89
+ - `-m, --model <model>` - Model override
90
+ - `-t, --tools <list>` - Comma-separated tools to allow
91
+ - `--cli <provider>` - CLI provider: `gemini` (default) or `claude`
92
+
93
+ **CLI Providers:**
94
+ - `gemini` - Uses Gemini CLI (default). Loads from `.gemini/agents/`
95
+ - `claude` - Uses Claude CLI. Loads from `.claude/agents/`
96
+ - Models and tools are automatically mapped between providers
97
+
98
+ ## Team Commands
99
+
100
+ Coordinate multiple AI agents working in parallel on complex tasks.
101
+
102
+ ### Team Management
103
+
104
+ | Command | Description |
105
+ |---------|-------------|
106
+ | `gk team create <name>` | Create a new team |
107
+ | `gk team list` | List all teams |
108
+ | `gk team info [teamId]` | Show team details |
109
+ | `gk team kill [teamId]` | Emergency shutdown |
110
+ | `gk team cleanup` | Clean up stale resources |
111
+ | `gk team ports` | Show port allocations |
112
+ | `gk team reset` | Delete all team data |
113
+
114
+ ### Task Management
115
+
116
+ | Command | Description |
117
+ |---------|-------------|
118
+ | `gk team task-create "<subject>"` | Create a task |
119
+ | `gk team task-claim <taskId>` | Claim a task |
120
+ | `gk team task-done <taskId>` | Mark task completed |
121
+ | `gk team tasks [teamId]` | List all tasks |
122
+
123
+ ### Agent Spawning
124
+
125
+ | Command | Description |
126
+ |---------|-------------|
127
+ | `gk team start --name <agent>` | Spawn agent as team member |
128
+ | `gk team start --name <agent> -a <profile>` | Spawn with explicit profile |
129
+ | `gk team start --name <agent> --cli claude` | Use Claude CLI |
130
+
131
+ ### Messaging & Inbox
132
+
133
+ | Command | Description |
134
+ |---------|-------------|
135
+ | `gk team send <agent> "<message>"` | Send message to member |
136
+ | `gk team broadcast "<message>"` | Send to all members |
137
+ | `gk team messages` | View central inbox |
138
+ | `gk team messages --pending` | View pending items |
139
+ | `gk team respond <msgId> --approve` | Approve request |
140
+ | `gk team respond --approve-all` | Approve all pending |
141
+
142
+ ### Agent Interaction
143
+
144
+ | Command | Description |
145
+ |---------|-------------|
146
+ | `gk team exchange <agent>` | Get structured output |
147
+ | `gk team read <agent>` | Read raw output |
148
+
149
+ ## Agent Office Commands
64
150
 
65
151
  | Command | Description |
66
152
  |---------|-------------|
@@ -75,6 +161,8 @@ gk <command> [options]
75
161
 
76
162
  ## Quick Start
77
163
 
164
+ ### Single Agent (One-Shot)
165
+
78
166
  ```bash
79
167
  # Initialize in your project
80
168
  gk init
@@ -85,9 +173,68 @@ gk agent spawn -p "Help me write a function"
85
173
  # Spawn with specific agent profile and skills
86
174
  gk agent spawn -a researcher -s "frontend-design" -p "Build a dashboard"
87
175
 
176
+ # Spawn with Claude CLI instead of Gemini
177
+ gk agent spawn --cli claude -a researcher -p "Analyze the codebase"
178
+
88
179
  # Search for the best agent for a task
89
180
  gk agent search "implement user authentication"
181
+ ```
182
+
183
+ ### Single Agent (Interactive)
184
+
185
+ ```bash
186
+ # Start interactive session
187
+ gk agent start -a researcher -s research
188
+
189
+ # Send a prompt
190
+ gk agent send "Research JWT best practices"
191
+ gk agent wait
192
+
193
+ # Check for tool approvals
194
+ gk agent pending
195
+ gk agent send "2" # Approve for session
196
+
197
+ # Get structured output
198
+ gk agent exchange
90
199
 
200
+ # Stop when done
201
+ gk agent stop
202
+ ```
203
+
204
+ ### Multi-Agent Team
205
+
206
+ ```bash
207
+ # Create a team
208
+ gk team create my-project --desc "Feature implementation"
209
+
210
+ # Create tasks
211
+ gk team task-create "Research API patterns" --desc "Investigate REST vs GraphQL"
212
+ gk team task-create "Implement backend" --desc "Build the API"
213
+
214
+ # Spawn agents
215
+ gk team start --name researcher-1 &
216
+ gk team start --name developer-1 &
217
+
218
+ # Wait for initialization, then assign work
219
+ gk team send researcher-1 "Claim and complete the research task"
220
+ gk team send developer-1 "Wait for research, then implement"
221
+
222
+ # Monitor and approve
223
+ gk team messages --pending
224
+ gk team respond --approve-all
225
+
226
+ # Check progress
227
+ gk team tasks
228
+ gk team exchange researcher-1
229
+
230
+ # Cleanup when done
231
+ gk team kill
232
+ gk team reset
233
+ ```
234
+
235
+ ### Agent Office Dashboard
236
+
237
+ ```bash
91
238
  # Start the Agent Office dashboard
92
239
  gk office start
93
240
 
@@ -107,4 +254,4 @@ gk session list
107
254
 
108
255
  ## License
109
256
 
110
- MIT
257
+ MIT
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Agent command - list, info, search, spawn (NO resume)
3
+ * Spawn aligned with .gemini/extensions/spawn-agent/scripts/gemini_agent.js
4
+ *
5
+ * Uses manual subcommand routing since CAC doesn't support space-separated subcommands.
6
+ * Help is customized to show subcommand-specific options.
7
+ */
8
+ import type { CAC } from 'cac';
9
+ export declare function registerAgentCommand(cli: CAC): void;