Skip to main content

agent-tools

Worktree-based agent workflow management toolkit.

Overview

agent-tools provides a Python-based CLI for managing isolated Git worktrees for agent workflows. It replaces shell scripts with a maintainable, testable Python package that can be used locally, as a submodule, or in CI/CD pipelines.

Features

  • Isolated Worktrees: Each agent gets its own isolated Git worktree
  • Domain-based CLI: ws, cfg, env domains with clear action names
  • Backward Compatible: Legacy aliases supported (deprecated in v0.3, removed in v0.4)
  • Manual PR Creation: Push branch and create PR manually in GitHub UI
  • Cross-platform: Works on Windows, Linux, and macOS
  • Installable: Can be installed via pip or used as submodule

Quick Start

Installation

# From source
cd agt
uv pip install -e .  # or: pip install -e .

# Or as submodule
git submodule add -b main https://github.com/tnedr/agent-ops .tools
cd .tools/agt
uv pip install -e .  # or: pip install -e .

Note: This project follows UV Cache Workflow Guidelines. If using uv, ensure UV_CACHE_DIR is set (e.g., E:\uv-cache on Windows).

Usage

New domain-based commands (v0.3+):

# Start a new agent worktree
agt ws new

# Run commands in the worktree
agt ws run python my_script.py

# Commit changes
agt ws save "feat: new feature"

# Push to remote (then open PR manually)
agt ws push

# Optional: cleanup after PR is merged
agt ws clean

Legacy aliases (deprecated, will be removed in v0.4):

agt start    # → agt ws new
agt commit   # → agt ws save
agt run      # → agt ws run
agt push     # → agt ws push
agt clean    # → agt ws clean

See COMMANDS.md for complete command reference.

VS Code Integration

Generate VS Code Command Runner settings with agt commands:

agt vscode init  # Creates/updates .vscode/settings.json

This adds the following commands to VS Code/Cursor:

  • agt start: Start a new agent worktree
  • agt run: Run a command in the agent worktree (with input prompt)
  • agt commit: Commit changes (with input prompt for message)
  • agt push: Push branch to remote
  • agt merge: Merge agent branch back to base
  • agt clean: Remove agent worktree

Usage in VS Code/Cursor:

  • Press F1Command Runner: Run...
  • Select any agt * command
  • Or use in chat: > run command: agt start

Note: The agt vscode init command preserves existing commands in your .vscode/settings.json, so you can combine it with other Command Runner configurations.

Documentation

Examples

See the examples/ directory for:

  • demo_local.sh: Local workflow example
  • demo_action.yml: GitHub Actions workflow example

Development

Setup

cd agt
uv pip install -e ".[dev]"  # or: pip install -e ".[dev]"

Note: Uses UV Cache Workflow - minimal .venv, global cache.

Run Tests

uv run pytest tests/ -v  # or: pytest tests/ -v

Run Linter

uv run ruff check .  # or: ruff check .

Project Structure

agt/
├── __init__.py          # Package metadata
├── __main__.py          # Allows `python -m agt`
├── worktree.py          # Low-level Git worktree operations
├── cli.py               # CLI entrypoint and command handlers
└── pyproject.toml        # Package configuration

bin/
└── agt                  # Standalone entrypoint script

docs/                    # Documentation
tests/                   # Test suite
examples/                # Usage examples
.github/                 # CI/CD workflows and actions

License

MIT

Release files for agent-tools-drnt 0.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agent-tools-drnt 0.4.3
File Size Uploaded
agent_tools_drnt-0.4.3.tar.gz 27.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agent-tools-drnt 0.4.3
File Interpreter ABI Platform
agent_tools_drnt-0.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 39.4 kB

Release files / agent_tools_drnt-0.4.3.tar.gz

Download URL agent_tools_drnt-0.4.3.tar.gz
Size 27.4 kB
Tags Source
SHA-256 checksum
How to use checksums
61b7aa1a58362315217e160af6951e534ad17034aa10b951a17c8c2f9f92a841
BLAKE2b-256 checksum
How to use checksums
7056ba8581d48cd4dde4d9b5e043ed9239907fce120344eb4992f45d516ccb0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / agent_tools_drnt-0.4.3-py3-none-any.whl

Download URL agent_tools_drnt-0.4.3-py3-none-any.whl
Size 12.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
287495757791154e471f67f8050910715df5b7698e46b8795025eb69daa87370
BLAKE2b-256 checksum
How to use checksums
ca939d3204f5339d86f5e61a0479f5b3aee971b35efa818b5f8f026e16b4df01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release history Release notifications | RSS feed

This release

0.4.3 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page