kino-cli 0.1.5 → 0.1.7

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
@@ -5,6 +5,16 @@ answers questions about it, writes and fixes code, and runs the team's documente
5
5
  pull request or working through review comments. It runs on the model you choose, and it asks before anything
6
6
  leaves your machine.
7
7
 
8
+ **The console** (66 s): first start, a question, a fix approved as a diff, the tests run.
9
+
10
+ [![The kino console: choosing a model, asking a question, approving a fix](https://raw.githubusercontent.com/DogukanGun/homebrew-tap/main/media/kino-console.gif)](https://github.com/DogukanGun/homebrew-tap/releases/tag/demo-videos)
11
+
12
+ **kino-code on its own** (44 s): `kino code -p` fixes a real bug and the tests pass.
13
+
14
+ [![kino-code fixing a bug from the command line](https://raw.githubusercontent.com/DogukanGun/homebrew-tap/main/media/kino-demo.gif)](https://github.com/DogukanGun/homebrew-tap/releases/tag/demo-videos)
15
+
16
+ Both are unedited recordings on a Claude Code login. The MP4 files are on [the release page](https://github.com/DogukanGun/homebrew-tap/releases/tag/demo-videos).
17
+
8
18
  This guide covers everything, start to finish:
9
19
 
10
20
  1. [Install](#1-install)
@@ -143,7 +153,20 @@ continues a run that was waiting or had failed.
143
153
  **Attach files** with `@`: `explain @src/api/routes.py` (Tab completes paths). **Several lines:** Alt-Enter,
144
154
  Ctrl-J, or a `\` at the end of a line; pasting several lines also works.
145
155
 
146
- **The bar at the bottom** shows the model, the approval mode, and the tokens and requests used so far.
156
+ **The prompt area:**
157
+
158
+ ```
159
+ ──────────────────────────────────────────────────────────────── shop ───
160
+ ❯ fix the cart total
161
+ ─────────────────────────────────────────────────────────────────────────
162
+ ⏵⏵ auto mode on (shift+tab to cycle) claude-code:claude-sonnet-5-5 · 1.2k in / 340 out · kino 0.1.7
163
+ ```
164
+
165
+ - Above the input, at the right: the label, which is the folder's name unless you set one with `/rename <name>`.
166
+ - Below it, at the left: the mode. **Shift+Tab** cycles through the modes (see [4](#4-approvals-and-modes)).
167
+ - At the right: the model, the tokens used so far, and kino's version. When npm has a newer kino, it says
168
+ `kino 0.1.8 available · npm i -g kino-cli@latest` instead. kino checks for that at most once a day, in the
169
+ background; `KINO_NO_UPDATE_CHECK=1` turns the check off.
147
170
 
148
171
  **Stop and leave:**
149
172
  - Esc or Ctrl-C while kino works stops it. The run is kept, and `/resume` continues it.
@@ -161,13 +184,44 @@ Ctrl-J, or a `\` at the end of a line; pasting several lines also works.
161
184
  `git push`), one API operation, or, for edits, every edit. `/permissions` shows what you allowed, and
162
185
  `/permissions revoke <n|all>` takes it back. Nothing is remembered after you leave.
163
186
 
164
- Modes, changed with `/mode`:
187
+ **Modes.** Shift+Tab cycles `ask → auto-edit → plan → research → auto → ask`; `/mode <name>` sets any of
188
+ them, `read-only` included.
165
189
 
166
- | Mode | File changes | Outward actions |
167
- |---|---|---|
168
- | `ask` (default) | shown and asked | asked |
169
- | `auto-edit` | shown and applied | asked |
170
- | `read-only` | refused | refused |
190
+ | Mode | What kino does | File changes | Outward actions |
191
+ |---|---|---|---|
192
+ | `ask` (default) | the task | shown and asked | asked |
193
+ | `auto-edit` | the task | shown and applied | asked |
194
+ | `plan` | investigates and answers with a plan, then asks whether to go ahead | none | none |
195
+ | `research` | investigates and answers with a report, with `file:line` references | none | none |
196
+ | `auto` | the task, without stopping to ask | shown and applied | shown and allowed |
197
+ | `read-only` | the task, without changing anything | refused | refused |
198
+
199
+ **Plan mode** is for changes you want to agree on first. kino reads the code and answers with a plan: the goal,
200
+ each file to change and how, new tests, the commands that will verify it, risks and open questions. Then it
201
+ asks:
202
+
203
+ ```
204
+ ╭─ Plan ready ────────────────────────────────╮
205
+ │ Go ahead with this plan? │
206
+ │ 1. Yes, and ask before each edit │
207
+ │ 2. Yes, and apply edits without asking │
208
+ │ 3. Yes, in auto mode (outward actions too)│
209
+ │ 4. No, keep planning │
210
+ ╰─────────────────────────────────────────────╯
211
+ ```
212
+
213
+ With a yes, kino switches to that mode and carries the plan out. With no, you stay in plan mode: say what to
214
+ change in the plan.
215
+
216
+ **Research mode** answers questions about the code without changing anything: the direct answer first, the
217
+ findings with `file:line` references, how the parts connect, what is uncertain, and what it did not check.
218
+
219
+ **Auto mode** runs without stopping for approvals. Every edit and every outward action the policy allows (push,
220
+ pull requests, ticket and API writes) is shown as it happens and goes ahead. Use it when you trust the task and
221
+ the setup. What auto mode does not change:
222
+ - the hard guards still refuse force-push, merges, `reset --hard` and the rest (see [Safety](#12-safety));
223
+ - your config's deny rules still refuse their calls;
224
+ - questions only you can answer are still asked.
171
225
 
172
226
  Some things are never done, whatever you answer: see [Safety](#12-safety).
173
227
 
@@ -177,7 +231,8 @@ Some things are never done, whatever you answer: see [Safety](#12-safety).
177
231
  |---|---|
178
232
  | `/help` | list the commands |
179
233
  | `/model [provider:model]` | open the model picker, or switch to that model |
180
- | `/mode [ask\|auto-edit\|read-only]` | show or set how changes are approved |
234
+ | `/mode [ask\|auto-edit\|plan\|research\|auto\|read-only]` | show or set the mode (Shift+Tab cycles) |
235
+ | `/rename [name]` | the label above the prompt; with no name, back to the folder's name |
181
236
  | `/permissions [revoke <n\|all>]` | what you allowed this session; take it back |
182
237
  | `/diff` | `git diff` of what changed |
183
238
  | `/cost` | requests, tool calls and tokens used this session |
@@ -194,6 +249,7 @@ Some things are never done, whatever you answer: see [Safety](#12-safety).
194
249
  | Enter | send |
195
250
  | Alt-Enter, Ctrl-J, `\` at line end | new line |
196
251
  | Tab | complete a command, a process name, or a path after `@` |
252
+ | Shift+Tab | the next mode |
197
253
  | ↑ / ↓ | earlier messages |
198
254
  | Esc | stop the current run |
199
255
  | Ctrl-C | stop the run; clear the line; twice on an empty line to leave |
@@ -385,7 +441,8 @@ API calls stay with kino's own steps, behind its confirmations.
385
441
  ## 12. Safety
386
442
 
387
443
  - **Outward actions are confirmed one call at a time**: push, pull requests, comments, ticket and API writes. With
388
- nobody at the terminal they are refused, or the run waits until someone answers.
444
+ nobody at the terminal they are refused, or the run waits until someone answers. The exception is auto mode,
445
+ which you switch on yourself: there they are shown and go ahead.
389
446
  - **Never done, whatever you answer**: force-push, `git reset --hard`, `git stash`, merging pull requests,
390
447
  admin overrides, co-author trailers.
391
448
  - **Files** can only change inside the folder kino works in.
@@ -426,6 +483,7 @@ knowledge:
426
483
  | `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY` | provider keys |
427
484
  | `OLLAMA_HOST` | where Ollama runs (default `http://localhost:11434`) |
428
485
  | `KINO_UV`, `KINO_NO_UV_INSTALL` | which uv the npm package uses; don't install uv |
486
+ | `KINO_NO_UPDATE_CHECK` | `1`: never look up newer kino versions |
429
487
 
430
488
  All commands: `kino --help`, and `kino <command> --help` for each one.
431
489
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kino-cli",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "kino: an agent that learns your codebase and tools, then works as one of the team's developers. Includes kino-code, a coding agent on any model.",
5
5
  "bin": {
6
6
  "kino": "bin/kino.js"