foundry.json — Platform Manifest
The manifest is the single source of truth for what a platform IS: its services, their stacks, how each one deploys, and which environments exist. It declares topology — not how to run things locally (that is resolved into .foundry/workspace.yml).
In a monorepo the manifest is the repo's own foundry.json. In a multi-repo platform the authoritative manifest is foundry-ops/platform.json, and service repos carry no manifest of their own.Schema version
The manifest spec is at v0.7.0. foundry init currently scaffolds a schemaVersion 0.5.0 manifest; the v0.7.0 additions (per-service repository, path, and environments) are additive and back-compatible — a 0.5.0 manifest is still valid. The Schema Reference renders the live schema.
Top-level fields
| Field | Type | Required | Description |
|---|---|---|---|
$schema | string | ✓ | JSON Schema URI for validation |
schemaVersion | string | ✓ | Manifest spec version (semver, e.g. 0.7.0) |
name | string | ✓ | Human-readable platform name |
repository | string | ✓ | Root repository folder name (kebab-case) |
ci | object | ✓ | IaC tool + provider + environments (requires iac, provider) |
services | object | ✓ | Service declarations (keyed by name) |
prefix | string | Short prefix for AWS resource naming + satellite discovery (auto-derived from name) | |
structure | object | Directory overrides (appsDir, ciDir, packagesDir) | |
github | object | GitHub org + cross-repo config (replaces ecosystem) | |
foundry | object | CLI metadata (minimum version) | |
template | object | Which template generated this manifest (informational) |
Deprecated blocks
ecosystem— replaced bygithubin v0.4.0. See GitHub & Cross-Repo.databases(top-level) — declare a service's database inline under the service instead.
Name → repository → prefix
The platform name drives two derived values (both overridable):
name: "An Average Platform"
→ repository: "an-average-platform" (slugified)
→ prefix: "aap" (first letter of each word, min 2 chars)The prefix is used for AWS resource naming and for discovering satellite repos by the {prefix}-* pattern.