Skip to main content

crewship export

Two distinct things live under export:
  • crewship export crew <slug> / crewship export page [slug] / crewship export workspace — render the live workspace as a YAML manifest you can commit to git, share with a teammate, or re-apply on another machine.
  • crewship export <run-id> — bundle a single run’s prompt, response, journal entries and metadata into a folder for post-mortems.
All forms require an authenticated session and a workspace context (inherited from the current CLI profile, same as crewship apply).

crewship export crew

Pull a crew’s current state and render it as a kind: Crew manifest. Round-trip partner of crewship apply: piping the output back through apply on a fresh workspace recreates the same shape. The output is YAML with a yaml-language-server $schema directive on the first line, so editors with the YAML language server (VS Code, JetBrains, Neovim with coc-yaml) give autocomplete and validation while you edit. Pipe through yq -o json if you need JSON.

Flags

Examples

What’s included

  • Crew metadata (name, slug, icon, color, description)
  • Devcontainer fields (image, memory, CPUs, mise config)
  • Sidecar services: (Redis, Postgres, etc.) — full shape, including healthchecks and volume names
  • Every agent — slug, prompt, role, LLM provider/model, tool profile, memory flag
  • Each agent’s skills: and env_refs: bindings
  • Skill bodies (inline by default) for every skill bound to an agent
  • Credential slots (without values — these never travel in the export)
  • Crew-scoped MCP servers (crew_integrations)

What’s not included

  • Credential values (intentional — manifests are safe to commit)
  • Computed fields (IDs, timestamps, cached image hashes)
  • Workspace members (they’re per-user identity, not workspace-shareable)
  • Routines / schedules / inbox / eval scenarios (out of scope for v1 manifests)

crewship export page

Render a page as a kind: Page manifest — the document crewship apply reads. With no slug, every page in the workspace is emitted as one multi-document YAML stream, sorted by slug so the file is diff-stable.

Flags

Examples

This is not crewship page export

The two commands produce different documents on purpose. Use the manifest for GitOps and drift checks; use the bundle for transfer and marketplace installs.

What’s not included

A panel’s authored half — public, actions, wake, on_failure, refresh — is echoed only to an account that may edit the page. Export as the owner, a workspace admin, or a write grantee and the manifest is complete. Export as someone holding read or produce and the same command emits the grid alone, with no error: an absent field is not evidence, because a panel that declares no actions and a panel whose actions were not echoed look identical on the wire. The command prints that condition on stderr on every run, since it cannot tell which case it is in.
Re-applying an exported page manifest as-is removes the published flag, the buttons and the wake gates from every panel that declared them. Merge the export into the YAML you authored (or into crewship page create --file input) rather than replacing it.
Panels sealed to you — owned by a crew you are not in — refuse the export instead of being dropped, because a document missing a panel deletes that panel on the next apply:
Nothing is written when the export refuses, so -o never truncates an earlier export.

crewship export workspace

Render every crew in the active workspace as a single kind: Workspace bundle. Workspace-level deduplication is applied: skills and credentials used by any agent in any crew are lifted to the workspace scope so consumers see one declaration each.

Flags

Examples

Dedup behaviour

If three crews each declare house-style, the workspace export emits one skill at workspace scope and per-crew skills: [house-style] references. Same for credentials — ANTHROPIC_API_KEY becomes a single workspace-scope slot regardless of how many agents reference it.

Pages are not in the workspace bundle

kind: Workspace carries crews, skills and credentials. Pages are a top-level kind and travel as their own documents, so crewship export workspace deliberately does not include them — adding them would change what an existing workspace backup does when it is applied. Append them instead:

crewship export <run-id>

Bundle a single run’s chat, journal, and metadata into a folder. Used for post-mortems, handoffs, or piping the conversation into a different LLM.

Flags

Output layout

Examples

Round-trip with apply

The manifest exports (crew / page / workspace) are designed for round-trip:
A few intentional gaps make this not byte-exact:
  • The exporter strips computed fields (IDs, timestamps).
  • Credential values never travel — pass them via --from-env / --secrets-file on re-apply.
  • URL-fetched skills are re-exported as inline content (the source URL isn’t preserved in the DB row).
  • Page panels come back complete only for an account that may edit the page — see export page above. Exported by a reader or a producer, public, actions, wake, on_failure and refresh are absent and the round trip is lossy.
For a --dry-run check that confirms the round-trip is clean:
The plan should show every resource as = (unchanged).

See also