A pack is a portable definition of behavior: agents, prompt templates, providers, formulas, orders, commands, doctor checks, overlays, skills, and other reusable assets. A city is the root pack plus aDocumentation Index
Fetch the complete documentation index at: https://docs.gascityhall.com/llms.txt
Use this file to discover all available pages before exploring further.
city.toml deployment
file and machine-local .gc/ bindings.
PackV2 separates three concerns:
pack.tomland pack directories define what the system is.city.tomldefines how this deployment runs..gc/stores local site bindings and runtime state managed bygc.
includes, [packs.*], and [[agent]] examples may still load for
migration compatibility, but new docs and new packs should use PackV2 imports
and agents/<name>/ directories.
Pack Layout
Pack structure is convention-based. Standard directories are loaded by name; opaque helper files belong underassets/.
Minimal pack.toml
Pack metadata and imports live in pack.toml. Agent definitions live in
agents/<name>/, not in [[agent]] tables.
schema = 2 is the current PackV2 format. [agent_defaults] applies to
agents discovered from agents/ unless an agent’s own agent.toml overrides a
field.
Agent Directories
A minimal agent is just a directory with a prompt:agent.toml for fields that differ from pack defaults:
prompt.template.md. prompt.md and
prompt.md.tmpl are accepted for compatibility.
Imports
Packs compose other packs with named imports. Imports preserve provenance, so consumers can distinguishgastown.polecat from review.polecat.
transitive = false only when the
import is internal to the pack and should not be visible to consumers.
City Usage
A city imports packs at the root pack level and declares deployment details incity.toml.
gc:
Rig-Level Imports
Use rig-level imports when only one rig should receive a pack’s agents or formulas.backend/gastown.polecat and backend/review.reviewer.
Named Sessions
Packs can declare sessions that should exist independent of current work.template is an agent name from the same pack or an imported qualified
name when needed.
Customizing Imported Agents
Use patches to modify imported agents without redefining them.Formula and Order Files
Formula files go informulas/ and order files go in orders/. No
[formulas].dir declaration is needed for PackV2 packs.
Compatibility Notes
The loader still exposes some V1 fields for migration and old city support:workspace.includes[[rigs]].includes[packs.*][[agent]][formulas].dir
schema = 2, [imports.*], agents/<name>/, conventional formulas/, and
patches for customization.