@toolkit-cli/toolkode 1.3.15 → 1.9.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/LICENSE ADDED
@@ -0,0 +1,40 @@
1
+ Toolkode Software License Agreement
2
+
3
+ Copyright (c) 2026 Toolkit-CLI LLC. All rights reserved.
4
+
5
+ TERMS AND CONDITIONS
6
+
7
+ 1. Grant of License. Subject to the terms of this Agreement, Toolkit-CLI LLC
8
+ ("Licensor") grants you a limited, non-exclusive, non-transferable,
9
+ non-sublicensable license to use the toolkode software ("Software") solely
10
+ for your personal or internal business purposes.
11
+
12
+ 2. Restrictions. You may not:
13
+ (a) modify, adapt, translate, reverse engineer, decompile, or disassemble
14
+ the Software;
15
+ (b) create derivative works based on the Software;
16
+ (c) distribute, sublicense, lease, rent, loan, or otherwise transfer the
17
+ Software to any third party;
18
+ (d) remove or alter any proprietary notices, labels, or marks on the
19
+ Software;
20
+ (e) use the Software to build a competing product or service.
21
+
22
+ 3. Ownership. The Software is licensed, not sold. Licensor retains all right,
23
+ title, and interest in and to the Software, including all intellectual
24
+ property rights therein.
25
+
26
+ 4. Termination. This license is effective until terminated. It will terminate
27
+ automatically if you fail to comply with any term of this Agreement. Upon
28
+ termination, you must destroy all copies of the Software.
29
+
30
+ 5. Disclaimer of Warranties. THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY
31
+ OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
32
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
33
+
34
+ 6. Limitation of Liability. IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY
35
+ INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR PUNITIVE DAMAGES ARISING
36
+ OUT OF OR RELATED TO YOUR USE OF THE SOFTWARE.
37
+
38
+ 7. General. This Agreement constitutes the entire agreement between you and
39
+ Licensor regarding the Software. This Agreement shall be governed by the
40
+ laws of the State of Delaware without regard to conflict of law principles.
package/README.md ADDED
@@ -0,0 +1,113 @@
1
+ # toolkode
2
+
3
+ The AI engineering terminal. Free.
4
+
5
+ Write code. Run agents. Ship faster.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm i -g @toolkit-cli/toolkode
11
+ ```
12
+
13
+ Or via Homebrew:
14
+
15
+ ```bash
16
+ brew install aaronmrosenthal/tap/toolkode
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ ```bash
22
+ # Start the TUI
23
+ toolkode
24
+
25
+ # Start in a specific directory
26
+ toolkode /path/to/project
27
+
28
+ # Continue the last session
29
+ toolkode --continue
30
+
31
+ # Run a one-shot prompt
32
+ toolkode --prompt "fix the failing tests"
33
+
34
+ # Start the HTTP server
35
+ toolkode serve
36
+ ```
37
+
38
+ ## What's new in v1.5
39
+
40
+ **Your conversations last longer and remember more.** We completely rebuilt how Toolkode manages context. Long sessions no longer lose track of what you asked for, what files you were editing, or what errors you hit. When the context window fills up, Toolkode summarizes the older history while keeping your recent work intact — instead of compressing everything at once.
41
+
42
+ **Click to switch models.** The sidebar now shows your model name, and you can click it to change models instantly. Same for the agent mode. On the home screen, trending models are clickable — if you don't have the provider connected, clicking takes you straight to the setup flow. Two clicks from "I want that model" to using it.
43
+
44
+ **Provider management.** The sidebar shows which providers you have connected by name with model counts, plus a clear "+ connect provider" action.
45
+
46
+ **Agent inspector.** Click "Agents" in the sidebar to see what your sub-agents are doing. See their status, task, duration, files modified, and tools used. Send a nudge to steer them or stop them if they're stuck.
47
+
48
+ **Agents finish what they start.** When a sub-agent goes idle with unfinished tasks, Toolkode automatically sends it a continuation prompt. No more babysitting agents that complete 80% and then go idle.
49
+
50
+ **Clickable sidebar.** The model, agent mode, providers, MCP servers, and git sections are all clickable now. Click "commit" in the git section when you have changes. Click a provider to manage it.
51
+
52
+ **Safe auto-updater.** Toolkode checks for updates on startup and shows a subtle sidebar banner when a new version is available. It detects your install method (npm, Homebrew, bun, pnpm, curl) and suggests the right command. Updates require explicit confirmation and won't run while a session is active.
53
+
54
+ ### Fixes
55
+
56
+ - Arrow keys no longer hijacked by filter tabs in model picker and agent inspector. Filter cycling is now ctrl+left/right.
57
+ - Compaction no longer triggers prematurely on tool-heavy sessions.
58
+ - Free-tier models from third-party providers no longer auto-connect without explicit user action.
59
+ - All dialogs now adapt to terminal width — usable on 80-col tmux panes through 176-col ultrawides.
60
+
61
+ ## Features
62
+
63
+ - **Multi-provider** — Anthropic, OpenAI, Google, OpenRouter, GitHub Copilot, local models via Ollama
64
+ - **Subagents** — Spawn parallel agents for complex tasks with `team` and `batch` tools
65
+ - **MCP servers** — Connect external tools via the Model Context Protocol
66
+ - **Vim mode** — Full vim keybindings in the prompt editor
67
+ - **Skills marketplace** — 90K+ community skills from skills.sh
68
+ - **Themes** — 59 built-in themes
69
+ - **Spec-kit workflow** — /specify, /plan, /tasks, /implement
70
+ - **Cron/loop** — Schedule recurring prompts within a session
71
+ - **Private by default** — No telemetry, no data collection, no hidden network calls
72
+
73
+ ## Configuration
74
+
75
+ Config file: `~/.config/toolkode/config.json` or `toolkode.json` in your project root.
76
+
77
+ ```json
78
+ {
79
+ "provider": {
80
+ "anthropic": {
81
+ "apiKey": "sk-..."
82
+ }
83
+ },
84
+ "model": "anthropic/claude-sonnet-4-6"
85
+ }
86
+ ```
87
+
88
+ ## SDK
89
+
90
+ ```bash
91
+ npm i @toolkit-cli/sdk
92
+ ```
93
+
94
+ ```typescript
95
+ import { createClient } from "@toolkit-cli/sdk/v2"
96
+
97
+ const client = createClient({ url: "http://localhost:4096" })
98
+ const session = await client.session.create({})
99
+ await client.session.prompt({
100
+ sessionID: session.data.id,
101
+ parts: [{ type: "text", text: "hello" }],
102
+ })
103
+ ```
104
+
105
+ ## Links
106
+
107
+ - Website: [toolkode.com](https://toolkode.com)
108
+ - Releases: [github.com/aaronmrosenthal/toolkode-releases](https://github.com/aaronmrosenthal/toolkode-releases)
109
+ - Issues: [github.com/aaronmrosenthal/toolkode-releases/issues](https://github.com/aaronmrosenthal/toolkode-releases/issues)
110
+
111
+ ## License
112
+
113
+ Copyright (c) 2026 Toolkit-CLI LLC. All rights reserved. See [LICENSE](./LICENSE) for details.
package/bin/toolkode.cjs CHANGED
@@ -167,15 +167,17 @@ if (resolved) {
167
167
  run(resolved)
168
168
  }
169
169
 
170
- // Dev fallback: no compiled binary found — run via bun directly
171
- const srcEntry = path.join(scriptDir, "..", "src", "index.ts")
172
- if (fs.existsSync(srcEntry)) {
173
- const result = childProcess.spawnSync(
174
- "bun",
175
- ["run", "--conditions=browser", srcEntry, ...process.argv.slice(2)],
176
- { stdio: "inherit" }
177
- )
178
- process.exit(typeof result.status === "number" ? result.status : 0)
170
+ // Dev fallback: no compiled binary found — run via bun directly (dev only)
171
+ if (process.env.TOOLKODE_DEV) {
172
+ const srcEntry = path.join(scriptDir, "..", "src", "index.ts")
173
+ if (fs.existsSync(srcEntry)) {
174
+ const result = childProcess.spawnSync(
175
+ "bun",
176
+ ["run", "--conditions=browser", srcEntry, ...process.argv.slice(2)],
177
+ { stdio: "inherit" }
178
+ )
179
+ process.exit(typeof result.status === "number" ? result.status : 0)
180
+ }
179
181
  }
180
182
 
181
183
  console.error(
package/package.json CHANGED
@@ -1,27 +1,20 @@
1
1
  {
2
2
  "name": "@toolkit-cli/toolkode",
3
- "version": "1.3.15",
4
- "description": "The AI engineering terminal. Free.",
5
- "license": "MIT",
6
- "homepage": "https://toolkode.com",
7
3
  "bin": {
8
4
  "toolkode": "./bin/toolkode.cjs"
9
5
  },
6
+ "files": [
7
+ "bin/toolkode.cjs",
8
+ "postinstall.mjs",
9
+ "LICENSE",
10
+ "README.md"
11
+ ],
10
12
  "scripts": {
11
- "postinstall": "node ./postinstall.mjs || true"
13
+ "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
12
14
  },
15
+ "version": "1.9.0",
16
+ "license": "SEE LICENSE IN LICENSE",
13
17
  "optionalDependencies": {
14
- "@toolkit-cli/toolkode-darwin-arm64": "0.0.0-main-202603310359",
15
- "@toolkit-cli/toolkode-darwin-x64": "0.0.0-main-202603310359",
16
- "@toolkit-cli/toolkode-darwin-x64-baseline": "0.0.0-main-202603310359",
17
- "@toolkit-cli/toolkode-linux-arm64": "0.0.0-main-202603310359",
18
- "@toolkit-cli/toolkode-linux-arm64-musl": "0.0.0-main-202603310359",
19
- "@toolkit-cli/toolkode-linux-x64": "0.0.0-main-202603310359",
20
- "@toolkit-cli/toolkode-linux-x64-baseline": "0.0.0-main-202603310359",
21
- "@toolkit-cli/toolkode-linux-x64-musl": "0.0.0-main-202603310359",
22
- "@toolkit-cli/toolkode-linux-x64-baseline-musl": "0.0.0-main-202603310359",
23
- "@toolkit-cli/toolkode-windows-arm64": "0.0.0-main-202603310359",
24
- "@toolkit-cli/toolkode-windows-x64": "0.0.0-main-202603310359",
25
- "@toolkit-cli/toolkode-windows-x64-baseline": "0.0.0-main-202603310359"
18
+ "@toolkit-cli/toolkode-darwin-arm64": "1.9.0"
26
19
  }
27
- }
20
+ }
package/bin/toolkode DELETED
@@ -1,17 +0,0 @@
1
- #!/bin/bash
2
- # tk_ toolkode — resolve and run
3
- SOURCE="${BASH_SOURCE[0]}"
4
- while [ -L "$SOURCE" ]; do
5
- DIR="$(cd "$(dirname "$SOURCE")" && pwd)"
6
- SOURCE="$(readlink "$SOURCE")"
7
- [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
8
- done
9
- DIR="$(cd "$(dirname "$SOURCE")" && pwd)"
10
-
11
- # Dev mode: run source via bun if src/index.ts exists
12
- if [ -f "$DIR/../src/index.ts" ]; then
13
- exec bun run --conditions=browser "$DIR/../src/index.ts" "$@"
14
- fi
15
-
16
- # Production: run compiled .cjs shim
17
- exec node "$DIR/toolkode.cjs" "$@"