AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
An agentic development environment for Julia: AI agents drive a keyboard-driven TUI + REPL to read, run, and surface code — and coordinate across sessions and machines.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
An opinionated, agentic development system for the Julia language.
Drive Claude Code agents from the keyboard — they write and run the code; you
steer, watch, and review.
A real working session (5120×2160) — nav · preview · agent · inline REPL figure · state-colored session strip. Click for full size.
Ship of Tools turns Julia development into directing Claude Code agents — you
steer, watch, and review; they write and run the code. It is opinionated: the
layout is designed, not configured.檢視完整 README ↗Pre-1.0: interfaces still change between releases.
Ship of Tools is an agentic development environment for Julia: you and a Claude Code session share one Julia REPL, in a desktop window that also shows your figures and files; Codex sessions run alongside without it for now. Linux; Windows and macOS run as frontends to a Linux backend (macOS is experimental). See Platforms.
The window is GPU-rendered, with a keyboard-driven, terminal-style layout: a navigation tree, a file preview, an agent pane and a Julia REPL drawer. The agents write code and run it in the persistent REPL while you watch and review the results.
Compared with Claude Code next to a REPL in tmux, or with VS Code, its Julia extension and a Claude Code panel:
Agents
git in a shell session. To change a file yourself, focus the preview and press e for the built-in editor; Ctrl+S saves.Julia live loop
r on a .jl file runs it in a fresh REPL, restarting the session's REPL and dropping whatever the agent had built in Main; Shift+R includes it in the current one. The drawer is Ship of Tools' own input line, with pkg mode (]) and history, but no ? help, ; shell or Tab completion. See Dispatching code.wglshow(fig) opens an interactive WGLMakie figure in your browser; Pluto notebooks run on the backend host.Previews
Machines
Extend
See the feature gallery for a short recording of each one.
Install frontend and backend on one Linux machine yourself:
curl -fsSL https://raw.githubusercontent.com/kalidke/ship-of-tools/main/scripts/install.sh | bash -s -- --local
Or start a coding-agent session (Claude Code or Codex) on the target machine and say:
Install Ship of Tools: fetch https://raw.githubusercontent.com/kalidke/ship-of-tools/main/docs/INSTALL-AGENT.md and follow it.
Use --backend <ssh-alias> for a frontend here with the backend on a remote host, or --be-only for a headless backend.
To update a Linux or macOS machine, tell a coding agent running there "update sot from the repo", or run bash ~/.local/share/sot/repo/current/scripts/install.sh yourself: with no options it moves to the newest release on the channel the machine already runs, never moves backwards, takes its role from the hosts.toml entry for this computer (else a role flag, else what the install recorded), and ends with one PASS, ONE STEP LEFT or FAIL line.
Needs on every machine:
juliaup default 1.12, if your default channel is older; SOT_JULIA_BIN, if set, names the daemon's Julia and must meet the floor too).--be-only backend is a static binary with no glibc floor).Optional on the backend machine: node/npm for typeset math, poppler-utils for PDF previews and ffmpeg for video poster frames.
What it touches:
~/.local/share/sot, plus user lingering (loginctl enable-linger) so the user-level sotd systemd service keeps the backend running after logout on Linux.~/.sot-comm/claude-layer, which only a session Ship of Tools starts (a row, or ccb) loads, except four onboarding skills (sot-install, sot-setup, sot-statusline-setup, sot-gh-auth) that stay in your global ~/.claude/skills because you run them before any row exists; the work-state hooks are carried by that same session, so a claude you start yourself sees neither. Two mail hooks (the end-of-turn check and the subagent guard) are merged into your settings.json and ~/.claude-auth/<name>/settings.json. An install removes the skills and hooks an earlier release put in your own folders only where they are exact copies of what it shipped; anything else of yours stays. The Codex skills and plugin still go into your global ~/.codex and ~/.agents.--dangerously-bypass-approvals-and-sandbox --dangerously-bypass-hook-trust). What each setting means is in How agent sessions are launched.No isolated mode yet: try it under a separate user account or in a VM. See What the installer changes.
The full list, Windows, source builds and updating are in Install details.
Run sot-launch (or the desktop entry). Then:
| Key | What happens |
|---|---|
s, then [+ create new] | Start a session in a project directory (Quickstart) |
f / m | Files mode / Modules mode in the navigation pane; the preview follows the cursor |
Ctrl+J | Show or hide the Julia REPL |
Ctrl+? / F1 | The focused pane's actions / the searchable Help drawer |
The full walkthrough is Your first session; every key is in Keybindings.
A preview for a new file type is a small Julia package: a FileType subtype, a matches method and a preview method, with no Rust changes. A third-party plugin currently loads only from a source checkout, not from a release install; see Discovery.
The documentation home has a short CSV example, and the HDF5 preview tutorial walks through a full one.
In active development. Linux; Windows and macOS run as frontends to a Linux backend (macOS is experimental). See Platforms.
Read the contributing guide before opening a PR; design decisions are in docs/history/adr/.
Dual-licensed: AGPL-3.0-or-later, with a commercial license available for products and services that cannot meet the AGPL's source-sharing terms. Details in LICENSING.md.