kino-cli 0.1.5 → 0.1.8
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 +87 -11
- package/dist/kino_cli-0.1.8-cp312-cp312-linux_aarch64.whl +0 -0
- package/dist/kino_cli-0.1.8-cp312-cp312-linux_x86_64.whl +0 -0
- package/dist/kino_cli-0.1.8-cp312-cp312-macosx_11_0_arm64.whl +0 -0
- package/dist/kino_cli-0.1.8-cp312-cp312-macosx_11_0_x86_64.whl +0 -0
- package/dist/kino_cli-0.1.8-cp312-cp312-win_amd64.whl +0 -0
- package/package.json +1 -1
- package/dist/kino_cli-0.1.5-cp312-cp312-linux_aarch64.whl +0 -0
- package/dist/kino_cli-0.1.5-cp312-cp312-linux_x86_64.whl +0 -0
- package/dist/kino_cli-0.1.5-cp312-cp312-macosx_11_0_arm64.whl +0 -0
- package/dist/kino_cli-0.1.5-cp312-cp312-macosx_11_0_x86_64.whl +0 -0
- package/dist/kino_cli-0.1.5-cp312-cp312-win_amd64.whl +0 -0
package/README.md
CHANGED
|
@@ -5,6 +5,21 @@ 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
|
+
[](https://github.com/DogukanGun/homebrew-tap/releases/tag/demo-videos)
|
|
11
|
+
|
|
12
|
+
**Modes** (2 min): Shift+Tab through the modes, a question in research mode, then plan mode: the plan, the
|
|
13
|
+
go-ahead, the fix approved and tested.
|
|
14
|
+
|
|
15
|
+
[](https://github.com/DogukanGun/homebrew-tap/releases/tag/demo-videos)
|
|
16
|
+
|
|
17
|
+
**kino-code on its own** (44 s): `kino code -p` fixes a real bug and the tests pass.
|
|
18
|
+
|
|
19
|
+
[](https://github.com/DogukanGun/homebrew-tap/releases/tag/demo-videos)
|
|
20
|
+
|
|
21
|
+
All three 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).
|
|
22
|
+
|
|
8
23
|
This guide covers everything, start to finish:
|
|
9
24
|
|
|
10
25
|
1. [Install](#1-install)
|
|
@@ -136,6 +151,18 @@ Apply this edit? [y/N/a]
|
|
|
136
151
|
|
|
137
152
|
It then runs the tests and reports what it changed and how it checked, ending with `✓ done`.
|
|
138
153
|
|
|
154
|
+
**Keep typing while kino works.** The input stays open during a run, with `✻ Working… (12s · esc to interrupt)`
|
|
155
|
+
above it. Each line you send while it works is queued under the input (`⎿ queued: …`) and runs after the
|
|
156
|
+
current one, in order. **↑** on an empty input takes the last queued line back to edit. Approvals and
|
|
157
|
+
questions are asked in the same input: the question replaces `❯`, and what you had half-typed comes back
|
|
158
|
+
after you answer. If you interrupt a run (Esc or Ctrl-C), the queued lines come back to the input instead of
|
|
159
|
+
running.
|
|
160
|
+
|
|
161
|
+
**Clicking in the input** moves the cursor there. For that, kino turns on the terminal's mouse reporting, which
|
|
162
|
+
also takes the scroll wheel: while the console is open, scroll back with the terminal's scrollbar, and select
|
|
163
|
+
text with Option (macOS) or Shift held. `/mouse off` gives the wheel back to the terminal (saved for every
|
|
164
|
+
folder); `/mouse on` turns clicking on again.
|
|
165
|
+
|
|
139
166
|
**It remembers the conversation.** Each new message knows the earlier ones, how they ended and which files they
|
|
140
167
|
changed, so "now add a test for it" works. `/clear` starts over. `kino -c` reopens the last conversation, and
|
|
141
168
|
continues a run that was waiting or had failed.
|
|
@@ -143,7 +170,20 @@ continues a run that was waiting or had failed.
|
|
|
143
170
|
**Attach files** with `@`: `explain @src/api/routes.py` (Tab completes paths). **Several lines:** Alt-Enter,
|
|
144
171
|
Ctrl-J, or a `\` at the end of a line; pasting several lines also works.
|
|
145
172
|
|
|
146
|
-
**The
|
|
173
|
+
**The prompt area:**
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
──────────────────────────────────────────────────────────────── shop ───
|
|
177
|
+
❯ fix the cart total
|
|
178
|
+
─────────────────────────────────────────────────────────────────────────
|
|
179
|
+
⏵⏵ auto mode on (shift+tab to cycle) claude-code:claude-sonnet-5-5 · 1.2k in / 340 out · kino 0.1.8
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
- Above the input, at the right: the label, which is the folder's name unless you set one with `/rename <name>`.
|
|
183
|
+
- Below it, at the left: the mode. **Shift+Tab** cycles through the modes (see [4](#4-approvals-and-modes)).
|
|
184
|
+
- At the right: the model, the tokens used so far, and kino's version. When npm has a newer kino, it says
|
|
185
|
+
`kino 0.1.9 available · npm i -g kino-cli@latest` instead. kino checks for that at most once a day, in the
|
|
186
|
+
background; `KINO_NO_UPDATE_CHECK=1` turns the check off.
|
|
147
187
|
|
|
148
188
|
**Stop and leave:**
|
|
149
189
|
- Esc or Ctrl-C while kino works stops it. The run is kept, and `/resume` continues it.
|
|
@@ -161,13 +201,44 @@ Ctrl-J, or a `\` at the end of a line; pasting several lines also works.
|
|
|
161
201
|
`git push`), one API operation, or, for edits, every edit. `/permissions` shows what you allowed, and
|
|
162
202
|
`/permissions revoke <n|all>` takes it back. Nothing is remembered after you leave.
|
|
163
203
|
|
|
164
|
-
Modes
|
|
204
|
+
**Modes.** Shift+Tab cycles `ask → auto-edit → plan → research → auto → ask`; `/mode <name>` sets any of
|
|
205
|
+
them, `read-only` included.
|
|
165
206
|
|
|
166
|
-
| Mode | File changes | Outward actions |
|
|
167
|
-
|
|
168
|
-
| `ask` (default) | shown and asked | asked |
|
|
169
|
-
| `auto-edit` | shown and applied | asked |
|
|
170
|
-
| `
|
|
207
|
+
| Mode | What kino does | File changes | Outward actions |
|
|
208
|
+
|---|---|---|---|
|
|
209
|
+
| `ask` (default) | the task | shown and asked | asked |
|
|
210
|
+
| `auto-edit` | the task | shown and applied | asked |
|
|
211
|
+
| `plan` | investigates and answers with a plan, then asks whether to go ahead | none | none |
|
|
212
|
+
| `research` | investigates and answers with a report, with `file:line` references | none | none |
|
|
213
|
+
| `auto` | the task, without stopping to ask | shown and applied | shown and allowed |
|
|
214
|
+
| `read-only` | the task, without changing anything | refused | refused |
|
|
215
|
+
|
|
216
|
+
**Plan mode** is for changes you want to agree on first. kino reads the code and answers with a plan: the goal,
|
|
217
|
+
each file to change and how, new tests, the commands that will verify it, risks and open questions. The plan
|
|
218
|
+
is drawn as formatted text in a box titled **Plan** (research reports get a **Report** box). Then it asks:
|
|
219
|
+
|
|
220
|
+
```
|
|
221
|
+
╭─ Plan ready ────────────────────────────────╮
|
|
222
|
+
│ Go ahead with this plan? │
|
|
223
|
+
│ 1. Yes, and ask before each edit │
|
|
224
|
+
│ 2. Yes, and apply edits without asking │
|
|
225
|
+
│ 3. Yes, in auto mode (outward actions too)│
|
|
226
|
+
│ 4. No, keep planning │
|
|
227
|
+
╰─────────────────────────────────────────────╯
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
With a yes, kino switches to that mode and carries the plan out. With no, you stay in plan mode: say what to
|
|
231
|
+
change in the plan.
|
|
232
|
+
|
|
233
|
+
**Research mode** answers questions about the code without changing anything: the direct answer first, the
|
|
234
|
+
findings with `file:line` references, how the parts connect, what is uncertain, and what it did not check.
|
|
235
|
+
|
|
236
|
+
**Auto mode** runs without stopping for approvals. Every edit and every outward action the policy allows (push,
|
|
237
|
+
pull requests, ticket and API writes) is shown as it happens and goes ahead. Use it when you trust the task and
|
|
238
|
+
the setup. What auto mode does not change:
|
|
239
|
+
- the hard guards still refuse force-push, merges, `reset --hard` and the rest (see [Safety](#12-safety));
|
|
240
|
+
- your config's deny rules still refuse their calls;
|
|
241
|
+
- questions only you can answer are still asked.
|
|
171
242
|
|
|
172
243
|
Some things are never done, whatever you answer: see [Safety](#12-safety).
|
|
173
244
|
|
|
@@ -177,7 +248,9 @@ Some things are never done, whatever you answer: see [Safety](#12-safety).
|
|
|
177
248
|
|---|---|
|
|
178
249
|
| `/help` | list the commands |
|
|
179
250
|
| `/model [provider:model]` | open the model picker, or switch to that model |
|
|
180
|
-
| `/mode [ask\|auto-edit\|read-only]` | show or set
|
|
251
|
+
| `/mode [ask\|auto-edit\|plan\|research\|auto\|read-only]` | show or set the mode (Shift+Tab cycles) |
|
|
252
|
+
| `/mouse [on\|off]` | click in the input to move the cursor (on by default; off gives the wheel back to scrolling) |
|
|
253
|
+
| `/rename [name]` | the label above the prompt; with no name, back to the folder's name |
|
|
181
254
|
| `/permissions [revoke <n\|all>]` | what you allowed this session; take it back |
|
|
182
255
|
| `/diff` | `git diff` of what changed |
|
|
183
256
|
| `/cost` | requests, tool calls and tokens used this session |
|
|
@@ -194,8 +267,9 @@ Some things are never done, whatever you answer: see [Safety](#12-safety).
|
|
|
194
267
|
| Enter | send |
|
|
195
268
|
| Alt-Enter, Ctrl-J, `\` at line end | new line |
|
|
196
269
|
| Tab | complete a command, a process name, or a path after `@` |
|
|
197
|
-
|
|
|
198
|
-
|
|
|
270
|
+
| Shift+Tab | the next mode |
|
|
271
|
+
| ↑ / ↓ | earlier messages; ↑ on an empty input while lines are queued takes the last one back to edit |
|
|
272
|
+
| Esc | stop the current run (queued lines come back to the input) |
|
|
199
273
|
| Ctrl-C | stop the run; clear the line; twice on an empty line to leave |
|
|
200
274
|
| Ctrl-D | leave |
|
|
201
275
|
|
|
@@ -385,7 +459,8 @@ API calls stay with kino's own steps, behind its confirmations.
|
|
|
385
459
|
## 12. Safety
|
|
386
460
|
|
|
387
461
|
- **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.
|
|
462
|
+
nobody at the terminal they are refused, or the run waits until someone answers. The exception is auto mode,
|
|
463
|
+
which you switch on yourself: there they are shown and go ahead.
|
|
389
464
|
- **Never done, whatever you answer**: force-push, `git reset --hard`, `git stash`, merging pull requests,
|
|
390
465
|
admin overrides, co-author trailers.
|
|
391
466
|
- **Files** can only change inside the folder kino works in.
|
|
@@ -426,6 +501,7 @@ knowledge:
|
|
|
426
501
|
| `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, `GEMINI_API_KEY` | provider keys |
|
|
427
502
|
| `OLLAMA_HOST` | where Ollama runs (default `http://localhost:11434`) |
|
|
428
503
|
| `KINO_UV`, `KINO_NO_UV_INSTALL` | which uv the npm package uses; don't install uv |
|
|
504
|
+
| `KINO_NO_UPDATE_CHECK` | `1`: never look up newer kino versions |
|
|
429
505
|
|
|
430
506
|
All commands: `kino --help`, and `kino <command> --help` for each one.
|
|
431
507
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|