turbo-editors/turbo-pythonpublic Fork 0
v1.0.2
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-python.git
git clone ssh://git@rickub.com/turbo-editors/turbo-python.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

acp.toml.tmpl · 80 lines · 3.7 KBCheetah Blame HistoryRaw
📦 Turbo Python 6fc62ea k33g 10h ago1# turbo-python agents.
2#
3# Each [[agent]] becomes one line of the Agent menu (Alt-A). Choosing it starts
4# that program and opens a window on the conversation; closing the window stops
5# it again. Open the same agent twice and you get two independent conversations.
6#
7# The editor is a client for the Agent Client Protocol — https://agentclientprotocol.com —
8# so it holds no API key and knows no model. All of that is your agent's own
9# configuration, in a file this editor does not read.
10#
11# name what the menu shows, and what the window is called. Required, and
12# unique: a project's agent of the same name replaces one of yours.
13# command the program to run. Required. Looked up on PATH.
14# args its arguments, passed as given. There is no shell here, so no
15# quoting, no globs and no && — use command = "sh", args = ["-c", …]
16# when you really want one.
17# env extra environment variables. The agent also inherits the ones the
18# editor was started with, so a credential already exported reaches
19# it without being written down here.
20# cwd where to run it, relative to the project. Left out, it is the
21# project itself.
22#
23# A key this file does not define is refused rather than ignored: a misspelt
24# `comand` would otherwise look exactly like one that had no effect.
25#
26# The same file may also live in %[2]s, where it applies to every project you open.
27# This one is read afterwards and wins where a name appears in both.
28
29# Docker's agent runtime, talking to a model server of your choosing.
30# `docker agent serve acp <file>` speaks the protocol on its standard input and
31# output, which is exactly what the editor wants.
32#
33# The YAML beside this file is the agent's own: which provider, which model,
34# which tools. Write it yourself, or run `docker agent new` to start one.
35
36[[agent]]
37name = "Local agent"
38command = "docker"
39args = ["agent", "serve", "acp", "%[1]s/agent.yaml"]
40env = { TELEMETRY_ENABLED = "false" }
41
42# A second agent is one more block. Two windows side by side — Window ▸ Tile —
43# is how a fast local model and a slow careful one get compared.
44#
45# [[agent]]
46# name = "Reviewer"
47# command = "my-agent"
48# args = ["--acp", "--profile", "review"]
49# cwd = "."
50
51# Once a window is open:
52#
53# Enter send what you have typed
54# Alt-Enter a new line instead of sending
55# Tab move between the conversation and the box
56# / at the start of the box, list the agent's own commands
57# @ list the project's files; the one you pick goes to the agent
58# PgUp PgDn read back through the conversation
59# Esc stop the turn in progress
60# Ctrl-W close the window, and stop the agent with it
61#
62# And in the conversation, with Tab pressed:
63#
64# ↑ ↓ move the cursor through what was said
65# Shift-↑ ↓ select whole lines
66# Ctrl-C copy — the selection, or the block the cursor is on
67#
68# What is copied goes to this editor's clipboard *and*, through the terminal, to
69# the system's — so Shift-Ins pastes it into a file here, and Ctrl-V pastes it
70# anywhere else.
71#
72# Code the agent sends inside a ```python fence is coloured by the same scanner
73# this editor colours .py files with. A fence naming a language it does not
74# know is left plain rather than guessed at.
75#
76# An agent with a shell or a filesystem tool asks before it uses one, and the
77# box that appears carries the agent's own choices. Nothing runs until you
78# answer. When it reads a file you have open and have not saved, it is given
79# what you can see rather than what is on disk; when it writes one, the change
80# lands in the buffer for you to undo with Ctrl-Z or keep with F2.