codetyper-cli 0.1.79 → 0.2.1

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 CHANGED
@@ -90,6 +90,28 @@ Full-screen terminal interface with real-time streaming responses.
90
90
  - `Shift+Up/Down` - Scroll log panel
91
91
  - `Ctrl+C` (twice) - Exit
92
92
 
93
+ ### Vim Motions
94
+
95
+ Optional vim-style keyboard navigation for power users. Enable in settings.
96
+
97
+ **Normal Mode:**
98
+ - `j/k` - Scroll down/up
99
+ - `gg/G` - Jump to top/bottom
100
+ - `Ctrl+d/u` - Half page scroll
101
+ - `/` - Search, `n/N` - Next/prev match
102
+ - `i` - Enter insert mode
103
+ - `:` - Command mode (`:q` quit, `:w` save)
104
+
105
+ **Configuration:**
106
+ ```json
107
+ {
108
+ "vim": {
109
+ "enabled": true,
110
+ "startInNormalMode": true
111
+ }
112
+ }
113
+ ```
114
+
93
115
  ### Command Menu
94
116
 
95
117
  Press `/` to access all commands organized by category.
@@ -250,6 +272,10 @@ CodeTyper has access to these built-in tools:
250
272
  | `read` | Read file contents |
251
273
  | `write` | Create or overwrite files |
252
274
  | `edit` | Find and replace in files |
275
+ | `glob` | Find files by pattern |
276
+ | `grep` | Search file contents |
277
+ | `lsp` | Language Server Protocol operations |
278
+ | `web_search` | Search the web |
253
279
  | `todo-read` | Read current todo list |
254
280
  | `todo-write` | Update todo list |
255
281
 
@@ -258,11 +284,112 @@ CodeTyper has access to these built-in tools:
258
284
  Connect external MCP (Model Context Protocol) servers for extended capabilities:
259
285
 
260
286
  ```bash
261
- # In the TUI
262
- /mcp
263
- # Then add a new server
287
+ # Browse and search available servers
288
+ /mcp browse # Interactive browser
289
+ /mcp search <query> # Search by keyword
290
+ /mcp popular # Show popular servers
291
+ /mcp categories # List all categories
292
+
293
+ # Install a server
294
+ /mcp install sqlite
295
+ /mcp install github
296
+
297
+ # Manage servers
298
+ /mcp status # Show connected servers
299
+ /mcp connect # Connect all servers
300
+ /mcp disconnect # Disconnect all servers
301
+ /mcp tools # List available tools
302
+ /mcp add # Add custom server
303
+ ```
304
+
305
+ **MCP Browser Features:**
306
+ - Search by name, description, or tags
307
+ - Filter by category (database, web, AI, etc.)
308
+ - View server details and required environment variables
309
+ - One-click installation and connection
310
+ - 15+ verified servers from Anthropic
311
+
312
+ ## Extensibility
313
+
314
+ ### Hooks System
315
+
316
+ Lifecycle hooks for intercepting tool execution and session events.
317
+
318
+ **Hook Events:**
319
+ - `PreToolUse` - Validate/modify before tool execution
320
+ - `PostToolUse` - Side effects after tool execution
321
+ - `SessionStart` - At session initialization
322
+ - `SessionEnd` - At session termination
323
+ - `UserPromptSubmit` - When user submits input
324
+ - `Stop` - When execution stops
325
+
326
+ **Configuration** (`.codetyper/hooks.json`):
327
+ ```json
328
+ {
329
+ "hooks": [
330
+ { "event": "PreToolUse", "script": ".codetyper/hooks/validate.sh", "timeout": 5000 },
331
+ { "event": "PostToolUse", "script": ".codetyper/hooks/notify.sh" }
332
+ ]
333
+ }
264
334
  ```
265
335
 
336
+ **Exit Codes:**
337
+ - `0` - Allow (optionally output `{"updatedInput": {...}}` to modify args)
338
+ - `1` - Warn but continue
339
+ - `2` - Block execution
340
+
341
+ ### Plugin System
342
+
343
+ Extend CodeTyper with custom tools, commands, and hooks.
344
+
345
+ **Plugin Structure:**
346
+ ```
347
+ .codetyper/plugins/{name}/
348
+ ├── plugin.json # Manifest
349
+ ├── tools/
350
+ │ └── *.ts # Custom tool definitions
351
+ ├── commands/
352
+ │ └── *.md # Slash commands
353
+ └── hooks/
354
+ └── *.sh # Plugin-specific hooks
355
+ ```
356
+
357
+ **Manifest** (`plugin.json`):
358
+ ```json
359
+ {
360
+ "name": "my-plugin",
361
+ "version": "1.0.0",
362
+ "tools": [{ "name": "custom_tool", "file": "tool.ts" }],
363
+ "commands": [{ "name": "mycommand", "file": "cmd.md" }]
364
+ }
365
+ ```
366
+
367
+ **Custom Tool Definition:**
368
+ ```typescript
369
+ import { z } from "zod";
370
+ export default {
371
+ name: "custom_tool",
372
+ description: "Does something",
373
+ parameters: z.object({ input: z.string() }),
374
+ execute: async (args, ctx) => ({ success: true, title: "Done", output: "..." }),
375
+ };
376
+ ```
377
+
378
+ ### Session Forking
379
+
380
+ Branch and rewind session history for experimentation.
381
+
382
+ **Commands:**
383
+ | Command | Description |
384
+ |---------|-------------|
385
+ | `/snapshot [name]` | Create checkpoint |
386
+ | `/rewind [n\|name]` | Go back to snapshot |
387
+ | `/fork [name]` | Branch current session |
388
+ | `/forks` | List all forks |
389
+ | `/switch [name]` | Switch to fork |
390
+
391
+ Sessions are stored in `.codetyper/sessions/` with automatic commit message suggestions.
392
+
266
393
  ## Development
267
394
 
268
395
  ```bash