Skip to main content

Crewship manifest reference

The manifest is Crewship’s declarative deployment surface: a YAML (or JSON, since JSON is YAML 1.2) file that captures every user-creatable entity as data. One crewship apply --file foo.yaml (or crewship apply --dir ./manifests/) converges the workspace to match. crewship export workspace round-trips back. This page is the index. Per-kind details live in docs/manifest/<kind>.md.

Why manifests

  • GitOps for Crewship. Commit a manifest to git, deploy to dev / staging / prod from CI. No clickops drift.
  • Sharing without screenshots. Send a workspace YAML to a teammate; they apply it and have an identical setup.
  • Reproducible disasters. Backups + export = a complete restore path.
  • Less surface for human error. YAML linting + manifest validation catch typos before they reach the server.

Kinds at a glance

Every document has the shape:

Workspace structure

Workflow + automation

Views + ops

Catalog references (install / deploy)

Instance / org config

Foreign-key references

Cross-kind references always use the slug of the referenced entity. The apply pipeline resolves slug → id after the dependency is created.

Apply order (topological)

crewship apply runs kinds in this order so dependencies are created before dependents:
  1. Workspace credentials + skills (existing)
  2. Crews + agents (existing)
  3. Projects, Labels (no deps)
  4. Milestones (deps: Projects)
  5. WorkflowTemplates
  6. FeatureFlags, InstanceSettings
  7. Recipes, CrewTemplates, Connectors (catalog installs)
  8. Routines (deps: Crews, Agents)
  9. Schedules + Webhooks (nested in Routines)
  10. RecurringIssues (deps: Projects, Labels, Crews)
  11. TriageRules (deps: Projects, Labels, Crews)
  12. SavedViews (deps: Labels, Projects)
  13. Pages (deps: Crews, Agents, Routines)
  14. Hooks (toggles only)

Apply modes

Round-trip via export

CLI per-kind admin commands

Every kind also has a per-entity CLI surface for one-off operations (no manifest needed):

Examples

What’s NOT in the manifest (and why)

Some entities are deliberately out of scope:

See also

  • SPEC-2-manifest-complete.md — implementation contract / full schema (internal spec, in-repo)
  • PRD: API — internal product spec (in-repo)
  • PRD: ORCHESTRATION — internal product spec (in-repo)