@keelcode-ai/keelcode 0.1.6 → 0.1.7-darwin-x64

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/bin/keelcode ADDED
Binary file
package/bin/rg ADDED
Binary file
package/package.json CHANGED
@@ -1,46 +1,21 @@
1
1
  {
2
2
  "name": "@keelcode-ai/keelcode",
3
- "version": "0.1.6",
4
- "description": "The hosted Keelcode coding agent CLI.",
5
- "type": "commonjs",
3
+ "version": "0.1.7-darwin-x64",
4
+ "description": "Native Keelcode executable for darwin-x64. Install the keelcode package instead.",
6
5
  "license": "SEE LICENSE IN LICENSE",
7
6
  "homepage": "https://keelcode.ai",
8
7
  "publishConfig": {
9
8
  "access": "public"
10
9
  },
11
- "bin": {
12
- "keelcode": "bin/keelcode.cjs",
13
- "kc": "bin/kc.cjs",
14
- "kcode": "bin/kcode.cjs",
15
- "keel": "bin/keel.cjs"
16
- },
17
- "files": [
18
- "bin/keelcode.cjs",
19
- "bin/kc.cjs",
20
- "bin/kcode.cjs",
21
- "bin/keel.cjs",
22
- "README.md",
23
- "LICENSE",
24
- "CHANGELOG.md",
25
- "SECURITY.md"
10
+ "os": [
11
+ "darwin"
26
12
  ],
27
- "keywords": [
28
- "cli",
29
- "agent",
30
- "ai",
31
- "hosted-ai",
32
- "coding-agent",
33
- "tui",
34
- "ink"
13
+ "cpu": [
14
+ "x64"
35
15
  ],
36
- "optionalDependencies": {
37
- "@keelcode-ai/keelcode-darwin-arm64": "npm:@keelcode-ai/keelcode@0.1.6-darwin-arm64",
38
- "@keelcode-ai/keelcode-darwin-x64": "npm:@keelcode-ai/keelcode@0.1.6-darwin-x64",
39
- "@keelcode-ai/keelcode-linux-arm64": "npm:@keelcode-ai/keelcode@0.1.6-linux-arm64",
40
- "@keelcode-ai/keelcode-linux-arm64-musl": "npm:@keelcode-ai/keelcode@0.1.6-linux-arm64-musl",
41
- "@keelcode-ai/keelcode-linux-x64": "npm:@keelcode-ai/keelcode@0.1.6-linux-x64",
42
- "@keelcode-ai/keelcode-linux-x64-musl": "npm:@keelcode-ai/keelcode@0.1.6-linux-x64-musl",
43
- "@keelcode-ai/keelcode-win32-arm64": "npm:@keelcode-ai/keelcode@0.1.6-win32-arm64",
44
- "@keelcode-ai/keelcode-win32-x64": "npm:@keelcode-ai/keelcode@0.1.6-win32-x64"
45
- }
16
+ "files": [
17
+ "bin/keelcode",
18
+ "bin/rg",
19
+ "LICENSE"
20
+ ]
46
21
  }
package/CHANGELOG.md DELETED
@@ -1,120 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to Keelcode will be documented in this file.
4
-
5
- The format is based on Keep a Changelog, and this project follows Semantic
6
- Versioning.
7
-
8
- ## [Unreleased]
9
-
10
- ## [0.1.6] - 2026-07-23
11
-
12
- ### Added
13
-
14
- - Add one-line native installers, `install.sh` (macOS/Linux) and `install.ps1`
15
- (Windows), that download the platform binary straight from npm, verify its
16
- checksum, install under `~/.keelcode`, and — unless `--no-modify-path` /
17
- `-NoModifyPath` is passed — add Keelcode to `PATH`. No package manager, Node,
18
- or Bun required.
19
-
20
- ### Changed
21
-
22
- - The globally installed launcher now runs under **Node 18+ or Bun**, whichever
23
- is present, so `npm`, `pnpm`, `yarn`, and `bun` global installs all work on
24
- machines that do not have Bun.
25
- - Remove the `engines` constraint from the published package so no package
26
- manager refuses to install on an older or non-Bun runtime.
27
- - A standalone (curl-installed) executable now finds its ripgrep sidecar next to
28
- itself, so it needs no `KEELCODE_RG_PATH` or bundled npm dependency.
29
-
30
- ### Fixed
31
-
32
- - `command not found` after installing with `npm`/`pnpm`/`yarn` on a machine
33
- without Bun, and pnpm's engine-strict refusal to install the previous package.
34
-
35
- ## [0.1.5] - 2026-07-20
36
-
37
- ### Fixed
38
-
39
- - Make the trusted project settings path test portable across Windows and POSIX CI runners.
40
-
41
- ## [0.1.4] - 2026-07-20
42
-
43
- ### Added
44
-
45
- - Add `kc`, `kcode`, and `keel` as packaged aliases for the `keelcode` command.
46
- - Add safe custom command aliases with `keelcode alias setup|add|list|remove`.
47
- - Show client-observed TTFT and provider-token TPS in interactive and headless
48
- output without mixing tool time into model throughput; keep interactive
49
- context and performance telemetry immediately above the input box.
50
- - Make the CLI hosted-only: `keelcode login` now owns the API origin and bearer
51
- session, while customer provider keys, custom endpoints, and `ANTHROPIC_*`
52
- transport configuration are ignored.
53
- - Add `/ship`, an objective-bound deliverable workflow whose runtime withholds
54
- completion until a persisted passing `Verify` receipt, a read-only final
55
- review, the cited receipt ID, and a stabilized Git fingerprint all agree.
56
- - Discover layered `AGENTS.md` and `KEELCODE.md` instructions from the Git root
57
- to the active directory with source provenance and bounded, symlink-safe reads.
58
- - Add stable `json` and streaming `jsonl` headless output formats with explicit
59
- terminal outcomes and automation-friendly exit codes.
60
- - Add lease-checked detached Git worktree primitives for repository-state
61
- isolation without claiming operating-system sandboxing.
62
- - Add standalone `proof list/show` and `worktree create/status/cleanup` commands
63
- so automation can inspect receipts and manage isolated runs without an API key.
64
- - Add an opt-in-aware World Cup match surface with a startup Match Centre,
65
- compact in-session scores, scorer-specific goal takeovers, and `/football`
66
- controls. Live provider traffic stays in the Keelcode backend.
67
-
68
- ### Security
69
-
70
- - Treat checked-in `.keelcode/settings.json` and `.keelcode/settings.local.json`
71
- as untrusted input: repositories can add restrictions and presentation
72
- preferences, but cannot enable prompt-free modes, auto-allow tools, inject
73
- environment variables, or launch MCP processes.
74
- - Store explicitly approved per-project MCP and allow settings in an owner-only
75
- directory outside the checkout, and pass MCP processes a minimal environment
76
- instead of every credential held by the CLI.
77
- - Require an explicit permission decision for filesystem access outside the
78
- active workspace, including symbolic-link escapes, and make delegated agents
79
- inherit the parent permission gate and deny rules.
80
- - Pin each WebFetch HTTPS connection to the public address that was validated,
81
- revalidating every redirect to prevent DNS-rebinding SSRF.
82
- - Require approval for Git commands that write through `--output` or `-o`.
83
- - Redact and cap persisted verification output, store receipts and worktree
84
- leases with owner-only POSIX permissions, and bound gate count and execution time.
85
- - Make Verify approvals fully scrollable and auditable, hard-limit observed
86
- output, show exact executable command text, reject destructive checks and
87
- common background syntax, detect residual children, and anchor local receipt
88
- bytes per ship run.
89
- - Hash actual tracked/untracked worktree bytes and submodules independently of
90
- Git stat-cache, filter, assume-unchanged, and skip-worktree behavior; isolate
91
- Git subprocesses from ambient `GIT_*` injection.
92
- - Reject symlinked private receipt roots and revalidate directory/file identity
93
- across receipt publication and reads.
94
- - Block WebFetch access to unsafe URL schemes, credentials, local/private
95
- networks, and unsafe redirect targets.
96
- - Store user transcripts, mission artifacts, caches, and crash logs with
97
- owner-only POSIX permissions.
98
- - Clarify that `bypassPermissions` is an explicit no-prompt mode while deny
99
- rules and tool hard denials remain enforced.
100
-
101
- ### Fixed
102
-
103
- - Keep installation and normal startup independent of Nerd Fonts; failed,
104
- skipped, unsupported, and manual-only setup paths now remain on safe Unicode.
105
- - Extract the optional pinned Nerd Font archive inside Keelcode instead of
106
- depending on `tar` or PowerShell, and verify its SHA-256 before installation.
107
- - Reject Windows UNC paths before POSIX normalization can hide their form.
108
- - Run the npm launcher with Bun so globally installed commands work on Bun-only
109
- machines without a `node` executable.
110
- - Avoid misclassifying an already-exiting Windows verification child as a
111
- residual background process when no process tree was actually terminated.
112
-
113
- ### Build
114
-
115
- - Standardize development, security auditing, packing, and CI on Bun.
116
- - Replace the unpublished JavaScript npm artifact with a small launcher and
117
- exact platform-suffixed versions of the single `keelcode` package name for
118
- macOS, Linux, and Windows on x64/arm64.
119
- - Fail release packing when source files, source maps, private metadata,
120
- upstream endpoints, or secret-shaped credentials appear in an npm artifact.
package/README.md DELETED
@@ -1,255 +0,0 @@
1
- # keelcode
2
-
3
- Keelcode is a hosted coding agent for your terminal. It can inspect a project,
4
- edit files, run commands, search the web, use MCP servers, and verify its work.
5
-
6
- ## Install
7
-
8
- The quickest way downloads the native binary directly — no package manager, no
9
- Node, no Bun:
10
-
11
- ```bash
12
- # macOS / Linux
13
- curl -fsSL https://keelcode.ai/install.sh | sh
14
- ```
15
-
16
- ```powershell
17
- # Windows (PowerShell)
18
- irm https://keelcode.ai/install.ps1 | iex
19
- ```
20
-
21
- The installer verifies the download's checksum, installs under `~/.keelcode`, and
22
- adds Keelcode to your `PATH` (pass `--no-modify-path` to skip that and get
23
- instructions instead).
24
-
25
- Or install with any package manager. The launcher runs under **Node 18+ or Bun**,
26
- whichever is on your machine:
27
-
28
- ```bash
29
- npm install --global @keelcode-ai/keelcode
30
- pnpm add --global @keelcode-ai/keelcode
31
- yarn global add @keelcode-ai/keelcode
32
- bun add --global @keelcode-ai/keelcode
33
- ```
34
-
35
- > On Windows, prefer the `install.ps1` script above for package-manager-free
36
- > installs — npm-style command shims can't pick a runtime the way the Unix
37
- > launcher does.
38
-
39
- If a package-manager install reports `command not found`, that manager's global
40
- bin directory isn't on your `PATH`. Print it with `npm bin -g` (or `bun pm bin -g`)
41
- and add it to your shell profile — or just use the curl installer, which handles
42
- `PATH` for you.
43
-
44
- The package provides four equivalent commands:
45
-
46
- ```text
47
- keelcode
48
- kc
49
- kcode
50
- keel
51
- ```
52
-
53
- To add your own command name after installation, run the guided setup or add
54
- one or more aliases directly:
55
-
56
- ```bash
57
- keelcode alias setup
58
- keelcode alias add mycode kk
59
- keelcode alias list
60
- keelcode alias remove kk
61
- ```
62
-
63
- Custom aliases are created beside the package-manager shims. Keelcode refuses
64
- to overwrite an existing command and never edits shell startup files. Package
65
- installation stays non-interactive so it remains reliable in terminals, CI,
66
- containers, and package managers that disable lifecycle scripts.
67
-
68
- Fonts are never downloaded and terminal settings are never edited during
69
- installation or normal startup. Keelcode defaults to font-independent Unicode,
70
- and falls back to ASCII for clearly limited terminals. Rich Nerd Font icons are
71
- an optional upgrade through `keelcode setup`; a failed or skipped setup keeps
72
- the safe icon set enabled.
73
-
74
- The `@keelcode-ai/keelcode` npm package is a small launcher that installs the matching
75
- platform-suffixed version of that same package name for the current operating
76
- system, CPU, and Linux libc. Keelcode's
77
- application JavaScript, TypeScript, source maps, tests, and build configuration
78
- are not included in the public package.
79
-
80
- ## Sign in and start
81
-
82
- ```bash
83
- keelcode login
84
- keelcode
85
- ```
86
-
87
- If the machine cannot open a browser:
88
-
89
- ```bash
90
- keelcode login --no-browser
91
- ```
92
-
93
- Keelcode will also start sign-in automatically when an interactive session has
94
- no usable account. Authentication uses a short-lived device approval; provider
95
- credentials are never stored in the CLI.
96
-
97
- Useful account commands:
98
-
99
- ```bash
100
- keelcode whoami
101
- keelcode usage
102
- keelcode logout
103
- ```
104
-
105
- ## Everyday use
106
-
107
- Start in the current project:
108
-
109
- ```bash
110
- keelcode
111
- ```
112
-
113
- Run one prompt without opening the TUI:
114
-
115
- ```bash
116
- keelcode -p "find and fix the failing test"
117
- git diff | keelcode -p "review this diff"
118
- ```
119
-
120
- Resume work:
121
-
122
- ```bash
123
- keelcode -c
124
- keelcode sessions
125
- keelcode --resume 2
126
- ```
127
-
128
- Choose a model at launch:
129
-
130
- ```bash
131
- keelcode --model <model-alias>
132
- ```
133
-
134
- Inside the TUI, use `/models` to open the current model picker and `/usage` to
135
- see the remaining hosted allowance. Run `/help` for the complete command list.
136
- The footer reports client-observed `ttft` and `tps` for the latest model turn.
137
- TTFT includes network and gateway latency; TPS uses provider-reported output
138
- tokens and excludes tool execution. A dash is shown when the stream does not
139
- contain enough timing or usage information for an honest measurement.
140
-
141
- Measure local launcher startup:
142
-
143
- ```bash
144
- keelcode bench
145
- keelcode bench --json
146
- ```
147
-
148
- The benchmark runs the installed launcher repeatedly, reports median/p90/min/max
149
- latency, and is useful for comparing terminals, package managers, and releases.
150
-
151
- ## Common options
152
-
153
- ```text
154
- -m, --model <alias> choose a Keelcode model
155
- --permission-mode <m> default | plan | acceptEdits | bypassPermissions
156
- --yolo bypass permission prompts in trusted environments
157
- --cwd <dir> set the working directory
158
- --icons <set> unicode | nerd | ascii | auto
159
- --no-alt-screen keep output in the main terminal buffer
160
- -c, --continue resume the newest session in this directory
161
- --resume [id] resume by id/index; no argument lists sessions
162
- -p, --print [prompt] run one headless prompt
163
- --output-format <f> text | json | jsonl
164
- -h, --help show help
165
- -v, --version show the installed version
166
- ```
167
-
168
- `bypassPermissions` and `--yolo` remove confirmation prompts for operations
169
- inside the workspace. Crossing the workspace boundary still requires explicit
170
- approval and fails closed in headless mode.
171
-
172
- ## Configuration
173
-
174
- Settings merge in this order, with later files winning:
175
-
176
- 1. `~/.keelcode/settings.json`
177
- 2. `<project>/.keelcode/settings.json` and `settings.local.json` (sanitized,
178
- capability-reducing fields only)
179
- 3. trusted per-project overrides under `~/.keelcode/projects/<workspace-hash>/`
180
- 4. command-line flags
181
-
182
- Example project configuration:
183
-
184
- ```json
185
- {
186
- "model": "<model-alias>",
187
- "permissionMode": "default",
188
- "maxTurns": 100,
189
- "timeoutMs": 600000,
190
- "permissions": {
191
- "ask": ["Bash", "Write", "Edit"],
192
- "deny": ["Write(/etc/**)"]
193
- }
194
- }
195
- ```
196
-
197
- Committed or in-tree settings cannot enable MCP processes, inject environment
198
- variables, add allow rules, select `acceptEdits`/`bypassPermissions`, or define
199
- unknown future capabilities. Explicit per-project choices made through the CLI
200
- are stored outside the repository. Keelcode does not support bring-your-own-provider keys.
201
-
202
- ## MCP and skills
203
-
204
- Inspect extension health:
205
-
206
- ```bash
207
- keelcode doctor
208
- keelcode mcp list
209
- keelcode skills list
210
- keelcode import list
211
- ```
212
-
213
- Use `keelcode mcp --help` and `keelcode skills --help` for management commands.
214
- MCP tools pass through the same permission checks as built-in tools.
215
-
216
- ## Automation
217
-
218
- For scripts and CI, prefer structured headless output:
219
-
220
- ```bash
221
- keelcode -p "run the tests and summarize failures" --output-format json
222
- keelcode -p "review this repository" --output-format jsonl
223
- ```
224
-
225
- Human progress is written to stderr. Machine-readable results are written to
226
- stdout, so redirecting stdout does not mix logs into the protocol.
227
- Model performance is written to stderr in text mode and included as structured
228
- `performance` data in JSON/JSONL output.
229
-
230
- ## Local data and privacy
231
-
232
- Keelcode stores account sessions, settings, conversations, caches, and local
233
- receipts under `~/.keelcode`. Sensitive state uses owner-only permissions on
234
- supported POSIX systems.
235
-
236
- Anonymous product analytics are opt-in and can be controlled at any time:
237
-
238
- ```bash
239
- keelcode telemetry status
240
- keelcode telemetry enable
241
- keelcode telemetry disable
242
- ```
243
-
244
- Do not paste production secrets into prompts or commit `.keelcode` personal
245
- state to a repository.
246
-
247
- ## Security
248
-
249
- Report suspected vulnerabilities privately to `security@keelcode.ai`. Do not
250
- include real credentials or unrelated private data in a report.
251
-
252
- ## License
253
-
254
- Keelcode is proprietary software. Installation and use are governed by the
255
- license included with this package and the applicable Keelcode service terms.
package/SECURITY.md DELETED
@@ -1,23 +0,0 @@
1
- # Security Policy
2
-
3
- ## Supported versions
4
-
5
- Security fixes are provided for the latest published version of Keelcode.
6
-
7
- ## Reporting a vulnerability
8
-
9
- Please do not disclose an unpatched vulnerability publicly. Email
10
- `security@keelcode.ai` with the affected version, reproduction steps, impact,
11
- and any suggested mitigation.
12
-
13
- Avoid including real API keys, proprietary source code, or other sensitive data
14
- in a report. We will acknowledge a complete report as soon as practical and
15
- coordinate disclosure after a fix is available.
16
-
17
- ## Local data
18
-
19
- Keelcode persists conversations, mission records, downloaded skills, model
20
- metadata, and crash diagnostics under `~/.keelcode` by default. On POSIX systems,
21
- Keelcode creates its private state directories with mode `0700` and sensitive
22
- files with mode `0600`. Users remain responsible for securing backups and any
23
- custom path supplied through `KEELCODE_CONFIG_DIR`.