You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A value tagged !js in dekit.yaml or a fragment is a JavaScript
expression, computed when the config loads, as in FIXTURES: !js std.path.join(ctx.dir, "fixtures"); ctx has the
file's dir, the runner, and the vars
vars: in dekit.yaml names values that !js reads as ctx.vars, in
order
dekit wait <target> waits until tasks are ready, or with --for exit
until they have exited, and exits 0, 1 for a failure, or 124 when --timeout runs out; --timeout 0 checks once
--wait on up, start, and restart returns once what they started
is ready, and on stop, kill, and veto once it is down; --wait-timeout bounds it. A failure names the task at the root and
shows the end of its screen
std.dekit.wait(target, {for, timeoutMs}) waits from a script
dekit run x --dep db waits for db when it is not ready yet, instead
of exiting 1 at once
A running job shows as running, not ready; ls --json and why
carry kind
A stop dekit gave up on, because the process outlived a kill, shows as idle (stop timed out), with reason: "kill_timeout"
RPC: the wait method and feature, kind in task-info, and the kill_timeout reason
A tasks: key that ends in / is a folder: apps/: {collapsed: true}
lists the apps folder collapsed at first, and a folder stays while it
is empty
dekit rm apps removes a folder or a group with everything in it
The console keeps which groups are collapsed across restarts; H and L collapse and expand every group, and the fold action opens,
closes, or toggles the groups a path or glob names
ready: {sd_notify: true} counts a task ready when it sends READY=1
to the socket NOTIFY_SOCKET names, as it would to systemd
dekit reload brings what changed in dekit.yaml into a running
project; the console's header says when the file changed and opens the
reload dialog
A runner restart, down and up, and a live upgrade bring every task
back as it was; dekit.yaml is read at a fresh start and by reload
The console adds, edits, duplicates, moves, and removes tasks: a, e, C, J/K or dragging a row, and d; Space or a right click
opens a task's menu, y copies its command
Changes made in the console are written back to dekit.yaml in place,
keeping its comments; what can't be edited safely goes to a coding
agent (agent: {cmd: [...]} in the user config) or is copied as a
prompt
Tasks are listed in the runner's order: a task moved in the console
stays where it was put, across restarts too
dekit rm +dynamic removes every task not from dekit.yaml; a dynamic tag written in the config is refused
dekit spawn --cwd is relative to where the command is typed
The terminal emulator and renderer were rewritten: true color,
underline styles and colors, hyperlinks, the kitty keyboard and
graphics protocols, sixel, and output shaped to what the attached
terminal can show
Keymap: e opens the edit dialog (show-rename-task still works) and C the duplicate dialog; duplicate-task copies without a dialog
RPC: reload; the update, move, and set-origin commands; add
takes the task entry under spec; duplicate takes path and start; the changed and bad_config error codes; terminal
capabilities and the cell size on attach, and input as key, mouse, paste, focus, and resize events
The console follows the terminal's light or dark background; tui.theme: dark | light in the user config pins it