Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SynthexCode

A terminal-native AI coding assistant — run an agent that reads, writes, and ships code right from your shell.

Python UI Status

SynthexCode is a fast, keyboard-first AI coding assistant for the terminal, built with Python and Textual. It turns your shell into an agentic workspace: multi-model backends, a rich toolset, subagents, multi-agent teams, MCP servers, memory, hooks, and a sandboxed permission layer.

  ______   SynthexCode
 / #{}# \
 \______/

✨ Features

  • Multi-provider — Anthropic (Claude) and OpenAI (GPT) backends, with thinking mode and custom base URLs.
  • Full toolset — read, write, and edit files; run bash; glob & grep; task tracking; and more.
  • Subagents & teams — spawn explore / plan / verification subagents, or form multi-agent teams (lead + teammates) that collaborate over a shared task board.
  • MCP support — stdio, Streamable HTTP, and SSE servers, with context-window-aware tool loading.
  • Memory — automatic memory, recall, and instruction files (SYNTHEXCODE.md / AGENTS.md).
  • Hooks — pre/post tool-use hooks for guardrails and automation.
  • Permissions & sandbox — permission modes, dangerous-command detection, and OS sandboxing (bwrap / seatbelt).
  • Git worktree — first-class worktree switching and isolation.
  • Skills — install and run reusable skill packs.
  • Remote mode — serve a browser UI over WebSocket.

🚀 Quick start

Requires Python 3.11+ and uv.

git clone https://github.com/Asuka008/SynthexCode.git
cd SynthexCode
uv sync

Create a config file at .synthexcode/config.yaml (project) or ~/.synthexcode/config.yaml (user):

providers:
  - name: anthropic-official
    protocol: anthropic
    base_url: https://api.anthropic.com
    api_key: "your-api-key-here"
    model: claude-sonnet-4-20250514
    thinking: true

permission_mode: default

You can also set ANTHROPIC_API_KEY / OPENAI_API_KEY as environment variables instead of putting keys in the config.

💻 Usage

synthexcode                                     # launch the TUI
synthexcode -p "fix the failing test"           # one-shot, non-interactive
synthexcode -p "..." --output-format stream-json  # NDJSON events
synthexcode --remote                            # browser UI on http://localhost:18888

Built-in commands

Command Description
/help Show help
/plan Enter plan mode
/compact Compact the conversation context
/clear Clear the conversation
/rewind Rewind to a previous checkpoint
/memory Manage memory
/session Manage sessions
/mcp Show MCP server status
/skill Manage skill packs
/sandbox Manage the sandbox
/tasks Manage background tasks
/trace Show the agent call tree
/worktree Manage Git worktrees
/status Show status

🗂 Project structure

synthexcode/
├── app.py            # Textual TUI (SynthexCodeApp)
├── __main__.py       # CLI entry point
├── agent.py          # core agent loop
├── tools/            # built-in tools
├── agents/           # subagent loading & task manager
├── teams/            # multi-agent collaboration
├── mcp/              # MCP client & loading strategy
├── memory/           # auto memory, recall, instructions
├── hooks/            # hook engine
├── permissions/      # permission checker & sandbox
├── worktree/         # Git worktree integration
├── skills/           # skill loader & executor
└── commands/         # slash commands

🧪 Development

uv run pytest

License

TBD

About

A CLI-based coding agent similar to Claude Code.

Resources

Stars

40 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages