AI Toolkit - Manage AI development tools through a git-backed, declarative manifest
Project description
ATK — AI Tool Kit for Developers
ATK is a developer-side toolchain and service manager for AI system development.
It helps you install, run, update, version, and reproduce the growing set of local tools modern AI-assisted development depends on — without Docker sprawl, shell scripts, or "how did I install this again?" moments.
The problem ATK solves
ATK is built for people who develop with AI, not only people who develop AI.
If you build AI systems locally, your setup probably looks like this:
- an MCP server installed from a Git repo
- a tracing or observability tool running in Docker
- a vector database started with a long-forgotten
docker run - a TTS or inference service installed via a binary
- CLI tools installed via
pip,npm, or Homebrew - secrets scattered across
.envfiles
It works.
Until you:
- switch machines
- break something
- want to roll back
- onboard someone else
- come back after two months and don’t remember what’s running
ATK exists because this setup is real, fragile, and constantly changing — and painful.
Who ATK is for
ATK is for developers who:
- rely on coding agents (Claude Code, Codex, Augment Code, etc.)
- use MCP servers (local and remote)
- run local services like memory, observability, or vector stores
- care about owning their data and controlling their setup
- want identical setups across machines and tools
ATK is not limited to people building AI models. It is for people building software with AI systems in the loop.
What ATK is (and is not)
ATK is
- a toolchain and service manager for developers
- focused on local, long-lived AI tooling
- git-backed and reproducible
- CLI-first and automation-friendly
- designed to be driven by humans and coding agents
ATK is not
- an environment manager (Nix, Conda, Devbox)
- infrastructure-as-code (Terraform, Ansible)
- project-scoped
- a production deployment system
If you’re configuring servers, ATK is the wrong tool. If you’re keeping your AI dev setup sane, it’s the right one.
Mental model
Think of ATK as a control plane for your local AI toolchain.
It sits above package managers, Docker, and agent configs, and keeps everything in sync.
Think of ATK as Homebrew + docker-compose + git history — but for AI developer tooling.
- Tools are plugins
- Each plugin has a lifecycle (install, start, stop, logs, status)
- Everything lives under
~/.atk - Every change is versioned
- Your setup can be cloned, audited, and rolled back
A tiny example
# install ATK
uv tool install atk-cli # recommended
# or: pip install atk-cli
# initialize ATK Home (defaults to ~/.atk)
atk init
# add a plugin (from the registry)
atk add openmemory
# run it
atk start openmemory
atk status
# generate MCP config JSON for your agent
atk mcp openmemory
Your entire setup now lives in ~/.atk/ — a git repository.
Push it. Clone it on another machine. Run atk install --all.
Reproducibility, updates, and drift
AI tooling is not static. MCPs, agents, and local services evolve constantly. ATK treats updates and drift as first-class concerns, not afterthoughts.
AI tooling is not static. MCPs, agents, and local services evolve constantly. ATK treats updates as a first-class concern, not an afterthought.
ATK environments are fully reproducible:
- plugins are validated against a versioned schema
- additive schema changes are backward-compatible
- plugin versions are pinned in a manifest
- secrets live in isolated, gitignored
.envfiles - the entire toolkit directory is git-backed
Clone the repo. Run atk sync. You get the same toolchain — including tool versions, MCPs, and agent-facing configuration.
ATK plugins and registry
ATK is built around plugins.
A plugin describes how to install, configure, run, update, and integrate a tool or service — including MCPs, local services, CLIs, or agent-facing components.
ATK supports three ways to work with plugins:
1. Official ATK Registry (vetted plugins)
ATK maintains a growing registry of vetted plugins for common and useful tools in AI-assisted development.
Install by name:
atk add openmemory
atk add langfuse
Examples include:
- popular MCPs (e.g. GitHub, Playwright, design tools)
- local AI infrastructure (memory systems, observability, vector stores)
- tools like OpenMemory, Langfuse, and similar services
Registry plugins are:
- reviewed and schema-validated
- versioned and pinned
- safe to install and update
Think of this as the "known good" layer.
2. Git repository plugins (distribution channel)
Any Git repository can become an ATK plugin.
If you are building a tool, MCP, or service that others may want to use, you can add a .atk definition to your repository.
Users can then add it directly from the repository URL (ATK looks for a .atk/ directory at the repo root):
atk add github.com/your-org/your-tool
ATK will:
- validate the plugin against the schema
- pin it to a specific commit hash in the manifest
- manage its lifecycle like any other plugin
(Under the hood, ATK uses sparse checkout to fetch only the .atk/ directory.)
This turns ATK into a distribution channel for AI tooling — without a centralized gatekeeper.
3. Local plugins (personal or internal tooling)
You can also define plugins locally for your own use.
These plugins:
- live in your
~/.atkdirectory - are fully versioned and git-backed
- use the same schema and validation
This is ideal for:
- personal scripts and services
- internal tools
- experiments you don’t want to publish
ATK lives above package managers, Docker, and agent configs. It doesn’t replace them — it orchestrates them.
Unified lifecycle
ATK gives every tool the same lifecycle, regardless of how it is installed.
atk start openmemory
atk stop openmemory
atk restart openmemory
atk status
atk logs openmemory
This works whether the tool is:
- a Docker service
- a Python CLI
- a Node binary
- a custom shell-based MCP server
Design principles
| Principle | Meaning |
|---|---|
| Declarative | The manifest describes desired state; ATK enforces it |
| Idempotent | Running the same command twice yields the same result |
| Git-native | Every mutation is a commit; rollback = git revert |
| Transparent | Human-readable YAML; no hidden state |
| AI-first | CLI-driven, scriptable, agent-friendly |
| Focused | Manages tools, doesn’t build them |
Why ATK exists
ATK was built to solve a real, personal problem: keeping a complex AI developer setup understandable, reproducible, and reversible.
If you’re working with:
- agent frameworks
- MCP servers
- observability and tracing
- local inference
- vector databases
- hybrid stacks of Python, Node, Docker, and binaries
ATK is for you.
What ATK is evolving into
ATK is evolving into a control plane for AI-assisted development.
Planned directions include:
- a full ATK plugin registry as a discovery and distribution layer
- proactive configuration of coding agents (e.g.
atk mcp setup claude-code openmemory) - automatic binding between MCPs, local services, and agents
- managing
AGENT.md,CLAUDE.md, and similar files centrally - keeping multiple coding agents in sync to reduce vendor lock-in
The long-term goal:
ATK becomes the last MCP you ever need to install.
Through the ATK MCP, coding agents can install, update, configure, start, stop, and compose all other tools.
Switching agents should feel trivial, because your setup — tools, memory, rules, MCPs — stays identical.
Installation
# Recommended
uv tool install atk-cli
# Alternative
pip install atk-cli
ATK is distributed via PyPI and installs as a single self-contained CLI.
Roadmap (high level)
- Core CLI and lifecycle management — done
- Plugin schema and validation — done
- Registry and git-based distribution — in progress
- Agent configuration and MCP binding — planned
- ATK MCP (self-hosting control plane) — planned
Status
ATK is under active development. Expect rough edges, fast iteration, and opinionated choices.
If this problem resonates with you, try it — and break it.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file atk_cli-0.0.1.tar.gz.
File metadata
- Download URL: atk_cli-0.0.1.tar.gz
- Upload date:
- Size: 245.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c42b2cada21b67aac26c2a0f831f2e7b01a2e54da96009eee9cd4417ba9a0c4c
|
|
| MD5 |
5cd6b0baa8724b6ee11cd853f546b884
|
|
| BLAKE2b-256 |
90e80f235426428f6328ed5cc6b6927a541deb32bedf90f8a024679d957436dd
|
Provenance
The following attestation bundles were made for atk_cli-0.0.1.tar.gz:
Publisher:
publish.yml on Svtoo/atk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
atk_cli-0.0.1.tar.gz -
Subject digest:
c42b2cada21b67aac26c2a0f831f2e7b01a2e54da96009eee9cd4417ba9a0c4c - Sigstore transparency entry: 949486243
- Sigstore integration time:
-
Permalink:
Svtoo/atk@ebade2839b15dc9fced6aa5ef7ccae096d54521c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Svtoo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ebade2839b15dc9fced6aa5ef7ccae096d54521c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file atk_cli-0.0.1-py3-none-any.whl.
File metadata
- Download URL: atk_cli-0.0.1-py3-none-any.whl
- Upload date:
- Size: 54.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b0f39b7890fa4fdbd2fb1792766874fb6ec4e7833edddacc23265a43c612d4e
|
|
| MD5 |
54bd8d9060ea495439e6915a440b382d
|
|
| BLAKE2b-256 |
9c9c65d0bff9e3f22edf3609fae0cd994bfcaf6116bef83212b99a93dbd14c09
|
Provenance
The following attestation bundles were made for atk_cli-0.0.1-py3-none-any.whl:
Publisher:
publish.yml on Svtoo/atk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
atk_cli-0.0.1-py3-none-any.whl -
Subject digest:
6b0f39b7890fa4fdbd2fb1792766874fb6ec4e7833edddacc23265a43c612d4e - Sigstore transparency entry: 949486311
- Sigstore integration time:
-
Permalink:
Svtoo/atk@ebade2839b15dc9fced6aa5ef7ccae096d54521c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Svtoo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ebade2839b15dc9fced6aa5ef7ccae096d54521c -
Trigger Event:
workflow_dispatch
-
Statement type: