Skip to main content

twagent CLI

Project description

twagent logo

Unified configuration framework for AI coding agents — Claude Code, Copilot CLI, Pi, VS Code, opencode. One canonical TOML, one CLI, two deploy modes.

Replaces twmcp (MCP servers only) and devops-binx/agent/render.py (instructions + skills) — both in a single TOML now.

What you get

  • One config at ~/.config/twagent/config.toml describes every skill, subagent, prompt, instruction template, and MCP server you care about.
  • One CLI (twagent apply) renders Jinja templates, symlinks file artifacts, and compiles MCP JSON in each agent's native shape.
  • Two deploy modes: globally (each agent's default profile to ~/.claude/, ~/.copilot/, etc.) or locally (a CLI-supplied selection into the current directory).
twagent apply --global                          # sync everything globally
twagent apply -s tw-claude                      # local: drop a profile into cwd
twagent apply --global -s e2e-emea              # swap MCP env for the day
twagent apply --global -s e2e-emea -a copilot-cli  # one agent only

Mental model

  ┌──────────────┐    ┌─────────────┐
  │  Registries  │ →  │   Profiles  │ →  apply (local | --global)
  │              │    │ (composable │        │
  │ instructions │    │   bundles)  │        ▼
  │ skills       │    │             │   per-agent paths
  │ subagents    │    │  extends... │   (global or cwd-relative)
  │ prompts      │    │             │
  │ servers      │    │             │
  └──────────────┘    └─────────────┘
  • Artifacts live in registries — globally unique name + source path.
  • Profiles bundle artifact references, composable via extends.
  • Agents declare capabilities and per-kind paths (global and per-project).
  • --select is polymorphic (profile or artifact names, mixed) and exhaustive (only kinds in the selection deploy).

Install

uv tool install twagent
# or, from a clone:
make install

Python 3.13+. Optional: fzf >= 0.35 improves the --interactive picker.

First deploy

twagent edit --init                # bootstrap a commented starter config
$EDITOR ~/.config/twagent/config.toml
twagent apply --global -n          # preview
twagent apply --global             # deploy

→ Full walkthrough: Quick Start (10 min) and Tutorial (30 min, two-agent setup).

Documentation

Read When
Overview What twagent is, who it's for, supported agents.
Quick Start First deploy in 10 minutes.
Tutorial Realistic two-agent setup with project overlay and MCP secrets.
Reference: Commands Every command, every flag.
Reference: Configuration Full TOML schema with worked examples.
FAQ Common questions and gotchas.

Develop

uv sync
make test
make format
make lint
make build

License

BSD-3-Clause.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

twagent-1.0.0.tar.gz (51.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

twagent-1.0.0-py3-none-any.whl (39.1 kB view details)

Uploaded Python 3

File details

Details for the file twagent-1.0.0.tar.gz.

File metadata

  • Download URL: twagent-1.0.0.tar.gz
  • Upload date:
  • Size: 51.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for twagent-1.0.0.tar.gz
Algorithm Hash digest
SHA256 781bd3cdf1e47e8f3d5adb700dde2ac76dfc531600e92a51c7e8a10c7efadc28
MD5 a2cf0b7382b07fd8d3daeac124a69323
BLAKE2b-256 bbf0b2106226beebe6565cdedb97ae1cd8b5f48a4314972bdaaa4a1ac630695e

See more details on using hashes here.

File details

Details for the file twagent-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: twagent-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 39.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for twagent-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 285efdc990f73404ce170f3d91e29fef6542b79e940026aeb7fe0b6e76ad51f3
MD5 6f24959b3be98a6225769efa3fffdfe7
BLAKE2b-256 cb4bfd95794a31d97cb7beb7245fa8004a281e02d6963127a8c77f2e73e38543

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page