Agent speak: Station, Safehouse, and the field kit

If you have ever watched a James Bond film, you know the pattern: before the Aston Martin leaves the garage, someone has already fitted the ejector seat. If you prefer Jason Bourne, you know the other pattern: in a strange city, a cash stash and a clean passport can matter as much as muscle memory. Different franchises, same truth—the mission goes better when the right gear is already in place.
Agent Tool Packager borrows that instinct on purpose. In ATP vocabulary, Station and Safehouse are not spy fantasy—they are real directories on your machine with specific jobs. This page translates the metaphor into something you can use.
The Station: Q Branch before the redeye
Section titled “The Station: Q Branch before the redeye”In Bond films, Q Branch prototypes the gadgets, keeps the inventory, and knows which toy fits which mission profile. ATP’s Station is that idea, minus the exploding pens.
By default your Station lives at ~/.atp_station. It is where ATP keeps:
- Configuration (
atp-config.yaml)—includingagent-paths, the map that says “for this coding agent, rules live here, skills live there, MCP hooks merge into that file.” - The catalog (
atp-catalog.yaml)—the index of packages you can install: curated standard entries plus user packages you publish yourself. - Published packages under
standard_packages/anduser_packages/—each with anatp-package.yamland the preparedpackage.tar.gzthe installer actually reads.
You can think of the Station as central supply: one place to maintain tools so you are not re-inventing the briefing for every repository. Bourne might not trust a single filing cabinet—fair enough—and ATP does not trap you in one either: set STATION_PATH when you need an alternate depot (isolated testing, multiple catalogs, automation).
The point: the Station answers, “What exists, where is it authorised, and how does each agent expect it to be shaped?”
The Safehouse: the rental flat with the go-bag
Section titled “The Safehouse: the rental flat with the go-bag”Spy stories love a safe house—not grand headquarters, but a quiet address where an operator caches what they need for this operation. ATP’s Safehouse is the per-project analogue: a directory .atp_safehouse at your project root (next to .git, usually).
Inside you will find manifest.yaml: the ledger of which catalog packages are installed in this repo, their versions, and enough metadata to remove them cleanly later. There is local Safehouse configuration too—ATP uses it when resolving installs so the project stays consistent.
Bond tends toward bespoke missions with bespoke luggage; Bourne tends toward improvisation from a minimal cache. ATP supports both moods at once:
- Station-wide authority defines what can be issued.
- Safehouse scope defines what this codebase actually carries today.
That separation matters. Two repositories can trust the same Station catalog but carry different installed packages—different “go-bags” for different jobs.
What “the right tools” means for a coding agent
Section titled “What “the right tools” means for a coding agent”In the movies, “equipped” means grappling hooks, forged documents, burner phones—context appropriate to the terrain. For a coding agent—Cursor, Claude Code, Gemini CLI, Codex CLI, another supported product—equipped means:
- Rules and prompts that encode how your team writes code and talks about it.
- Skills that tell the agent how to achieve an outcome with your repo’s conventions.
- Hooks and MCP servers that connect the agent loop to real tools and services.
- Commands and bundles that put executables where PATH and documentation agree.
Without that material, an agent is not stupid—it is under-briefed. It will improvise; sometimes brilliantly, sometimes wastefully. The right tools reduce thrash: fewer wrong directories, fewer “copy this JSON by hand” rituals, fewer merge accidents when MCP or hooks configs collide.
ATP’s workflow is deliberately mundane so the drama stays in your code, not in your filesystem:
- Author a package once.
- Publish it to your Station catalog.
- Install into each project’s Safehouse for the agent that project uses.
That last word—agent—is ATP’s lowercase product id (cursor, gemini, codex, …). Pick it with atp agent … so installs land where that product expects files. Switching agents is a handover: same Safehouse concept, different layout—worth verifying outputs afterward, like checking a passport after a border crossing.
Field notes (no spoilers, just semantics)
Section titled “Field notes (no spoilers, just semantics)”| Term | Translation |
|---|---|
| Station | Shared depot: config + catalog + published packages (STATION_PATH overrides location). |
| Safehouse | Per-project footprint: .atp_safehouse + manifest of what this repo carries. |
| Catalog | Single Station index (atp-catalog.yaml); user entries override standard namesakes. |
| Package | Versioned unit (atp-package.yaml + staged payload) published into the Station. |
For the sober reference without the cinema projector running, see Manual: Terminology and Safehouse & agent.
Closing shot
Section titled “Closing shot”Bond without Q is still charming; Bourne without cache is still dangerous—but neither is optimised. ATP names Station and Safehouse so you can treat agent tooling like tradecraft: central preparation, local readiness, clean manifests. Issue the briefing once; let every repository carry exactly what its mission requires.