x-dog

Tools for building AI agents and managing LLM deployments.

GitHub →

x-dog / Packages / coding / Features

What the coding CLI does today. It is the reference application showing how the lower-level packages fit together.

Modes

Interactive TUI
Streaming chat with live tool-execution and diff display, built on the tui engine.
Print mode
Non-interactive --print with text / json / markdown output for scripts and pipelines.
RPC mode
A JSON-RPC front-end for IDE integration.
Piped + file input
The initial message is assembled from --prompt, piped stdin, and file arguments.

Sessions

Session persistence
JSON-persisted sessions, resumable by most-recent or explicit id.
Branching
Fork a conversation and restore branches to explore safely.
Compaction
Automatic history compaction keeps long sessions within the model window.
Layered settings
session > project > global precedence via pydantic models.

Tools

Default tools
filesystem, bash, and current_time — the tools an agent needs to work a real repo.
Extensions
An extension loader adds capabilities without forking the agent.
Model fallback
Model resolution falls back sensibly when a requested model is unavailable.

Skills

Skills
SKILL.md skills — the open Agent Skills format, so a skill written for another client works here — surfaced as /commands.
Skills ship in packages
pip install a package that carries one and its command appears; uninstall and it is gone. Nothing to register, nothing to copy out of date.
Unloadable
A skill's instructions go into the system prompt, not the transcript, so /unload can take them back out — the message-history approach cannot.
Declared lifetime
An author marks a skill scope: turn and it retires itself. Only the user ends one early; the model can suggest, never execute.