Skip to content

Repository files navigation

Plexmaton

AI coding, clearly in view.

CI Rust Status App Automaton

Plexmaton is App Automaton's Rust AI coding assistant for the terminal. Choose a model, follow the work, and resume saved conversations.

Why Plexmaton?

  • Keep the work in view. Streaming answers, tool activity and approvals share a responsive workspace with expandable details.
  • Choose your models. Use OpenAI Responses or Chat Completions, both exercised daily. The Anthropic Messages and Gemini adapters are implemented and fixture-tested, not yet run against a live endpoint.
  • Stay in control. Approve an action once, remember a Session or Project permission, and review or revoke it in the Drawer.
  • Carry your context forward. Saved conversations and automatic compaction preserve source history. Reusable SKILL.md instructions bring your workflows into the conversation.
  • Read comfortably. Pastel Markdown, syntax-highlighted code, and native math with hats and Chinese labels. Reasoning, tool groups and messages stay compact; copy follows selection.

Plexmaton terminal workspace displaying a formatted assistant response and native mathematical notation
Workspace render preview. Native math support.

Get started

macOS Apple Silicon is the development target. Install the pinned Rust toolchain and rg.

git clone https://github.com/appautomaton/plexmaton.git
cd plexmaton
mkdir -p .local/plexmaton
cp examples/providers.toml .local/plexmaton/config.toml

Select your provider/model in that file, set its api_key_env variable, then launch:

PLEXMATON_HOME="$PWD/.local/plexmaton" cargo run -p plexmaton-cli --bin plexmaton

/model chooses a configured model for the open conversation while idle; new/resumed conversations use your configured default. Model selection.

Configuration and effort

Project guidance loads from PLEXMATON_HOME/AGENTS.md (default ~/.plexmaton/AGENTS.md), then AGENTS.md from the checkout root to your working directory. Opening a conversation refreshes this snapshot; deeper files are read through ordinary tools. Scope and limits.

UI, tools and journals are local, and model requests use your configured endpoint. On macOS an approved command runs behind an OS write fence: your workspace, your temporary directories and your toolchain caches stay writable, writes anywhere else are refused, and reads and network are not fenced. Off macOS there is no fence yet, so a command writes with your account's full authority. File tools stay within the workspace and refuse symlinks on every platform. What the fence covers

Everyday controls

Input Action
Ctrl-B / Agents ^B Toggle Agents
Ctrl-P Open the Drawer: configuration and permissions
Ctrl-J, Shift-Enter, Alt-Enter Newline in conversation input
Alt-↑ Take the most recent waiting message into the empty primary composer
Ctrl-C Clear a draft or interrupt its conversation
Ctrl-D twice within one second Quit
Esc Back out one layer
13 Choose an approval option while focused
Approval: Ctrl-O / command click Inspect; c / ⧉ copy, Esc / × close
$ Find and complete a skill
/ Commands: /new, /resume, /compact, /permissions, /effort, /model, /tree (/rewind)
Tree: ↑↓, Enter, b, f Select, rewind/select branch, switch messages/branches, expand/collapse (+/)

Mouse movement and arrows share the focused menu choice. The Drawer’s bottom-center retracts it; Esc goes back one layer. Copy briefly shows ✓ Copied after local acceptance or Copy sent after terminal delivery. Rate limits offer Retry and Edit & retry.

Full key guide · Skills · Selection and copy · Optional status line

A model/history mismatch leaves available status statistics visible. The pastel example points to /model; it does not convert incompatible history.

History and development

Conversations save on the first message; blank launches save nothing. /tree revisits saved history on a new branch without replaying effects; the original branch remains selectable. The tree connects message nodes vertically, omits intermediate tools, and shows hidden entry/branch counts on collapse; marks the current branch. Use --ephemeral to opt out of saving. Exit prints a resume command. Journal epochs 2026-09-04 and 2026-09-05 remain readable without rewriting history.

Delegate read-only work, exchange mail, stop/take over children, inspect history after process death. Process death cancels pending approvals; repeat under current policy. Linux unverified.

Use the quality gates for local checks and CI coverage. Model fixtures stay local; private state goes in ignored .local/.

For an offline native UI preview in Kitty, run cargo run --locked -p plexmaton-tui --example native_preview. F6 advances fixture control states; this is not production collaboration. Scope and controls.

More from App Automaton

Website · GitHub · Hugging Face

pi-arcweld: a curated Pi coding workspace. webmaton: browser and web-research skills.

About

AI coding in your terminal, with clarity and control. Bring your models and skills, review tool actions, and return to conversations with their history intact.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages