Skip to main content
The agent-army.json manifest defines your entire team configuration — which agents to deploy, what cloud provider to use, and how to connect them to Linear and GitHub. It’s generated by agent-army init and stored in ~/.agent-army/configs/<stack>/.

Schema

interface ArmyManifest {
  stackName: string;           // Unique deployment name
  provider: "aws" | "hetzner"; // Cloud provider
  region: string;              // Deployment region/location
  instanceType: string;        // Default server size
  ownerName: string;           // Your name
  timezone?: string;           // e.g., "America/New_York"
  workingHours?: string;       // e.g., "9am-6pm"
  userNotes?: string;          // Additional context for agents
  linearTeam?: string;         // Linear team identifier
  githubRepo?: string;         // GitHub repo URL
  agents: AgentDefinition[];   // Agent configurations
}

Example

{
  "stackName": "prod",
  "provider": "hetzner",
  "region": "fsn1",
  "instanceType": "cx32",
  "ownerName": "Jane Doe",
  "timezone": "America/New_York",
  "workingHours": "9am-6pm",
  "githubRepo": "https://github.com/myorg/myrepo",
  "linearTeam": "ENG",
  "agents": [
    {
      "name": "agent-pm",
      "displayName": "Juno",
      "role": "pm",
      "preset": "pm",
      "volumeSize": 30
    },
    {
      "name": "agent-eng",
      "displayName": "Titus",
      "role": "eng",
      "preset": "eng",
      "volumeSize": 50
    }
  ]
}

Fields

Stack Configuration

FieldTypeRequiredDescription
stackNamestringUnique name for the Pulumi stack
provider"aws" | "hetzner"Cloud provider
regionstringProvider-specific region/location
instanceTypestringDefault server type

Owner Configuration

FieldTypeRequiredDescription
ownerNamestringYour name (used in agent USER.md)
timezonestringTimezone for scheduling
workingHoursstringYour availability window
userNotesstringExtra context for agents

Integration Configuration

FieldTypeRequiredDescription
linearTeamstringLinear team key — agents pull tickets from this team
githubRepostringGitHub repo — agents open PRs and review code here

Agent Configuration

FieldTypeRequiredDescription
namestringResource name (e.g., agent-eng)
displayNamestringHuman-readable name
rolestringRole identifier
presetstring | nullPreset name or null for custom
volumeSizenumberPersistent storage in GB
instanceTypestringOverride default instance type
soulContentstringCustom SOUL.md content (custom agents only)
identityContentstringCustom IDENTITY.md content (custom agents only)
envVarsobjectAdditional environment variables