Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dotvibe.app/llms.txt

Use this file to discover all available pages before exploring further.

Transport

All RPCs are between the macOS host app and the VM supervisor daemon over vsock using protobuf serialization.

Methods

1. EnsureProject

Register a project in the supervisor’s registry. Idempotent. Request: project_id, app_id, package_path, state_path, manifest Response: project_id, namespace, created Errors: INVALID_MANIFEST, PATH_NOT_FOUND, CONFLICT

2. OpenProject

Load a project into memory, pull required images, prepare runtime plan. Does not start services. Request: project_id Response: project_id, services[], images_pulled, warnings[] Errors: NOT_FOUND, IMAGE_PULL_FAILED, ALREADY_OPEN

3. StartProject

Start all services in dependency order. Request: project_id, secrets (map of env var → value) Response: project_id, services[], ports[] Errors: NOT_FOUND, NOT_OPEN, ALREADY_RUNNING, START_FAILED, MISSING_SECRET

4. StopProject

Stop all services. Graceful shutdown with configurable timeout. Request: project_id, timeout_seconds (default: 30) Response: project_id, services[] Errors: NOT_FOUND, NOT_RUNNING

5. DeleteProjectRuntime

Remove all runtime resources (containers, networks, namespace). Does not delete state or snapshots. Request: project_id, force Response: project_id, resources_removed Errors: NOT_FOUND, STILL_RUNNING

6. ListProjects

List all registered projects. Request: filter_status (optional: running, stopped, etc.) Response: projects[] (each: project_id, app_id, name, status, service_count, port_count)

7. GetProjectStatus

Get detailed status for a single project. Response fields: project_id, app_id, name, version, status, services[], ports[], state_size_bytes, snapshot_count, autosave_enabled Errors: NOT_FOUND

8. GetProjectLogs

Stream or fetch logs for a project’s services. Request: project_id, service_name (optional filter), follow, tail_lines (default: 100) Response (stream): entries[] — each: timestamp, service_name, stream (stdout/stderr), line

9. SaveSnapshot

Create a snapshot of the current project state. Request: project_id, reason (manual, autosave, before-upgrade, before-restore), labels Response: snapshot_id, timestamp, state_digest, size_bytes Errors: NOT_FOUND, SAVE_IN_PROGRESS, SAVE_FAILED

10. RestoreSnapshot

Restore state from a previous snapshot. Request: project_id, snapshot_id, create_safety_snapshot (default: true) Response: project_id, restored_snapshot_id, safety_snapshot_id, services[] Errors: NOT_FOUND, SNAPSHOT_MISMATCH, RESTORE_FAILED

11. ListSnapshots

List all snapshots for a project, newest first. Response: snapshots[] — each: snapshot_id, timestamp, parent_snapshot_id, reason, app_version, state_digest, size_bytes, labels

12. DuplicateProject

Clone a project instance, optionally from a specific snapshot. Request: source_project_id, new_project_id, snapshot_id (optional) Response: new_project_id, namespace, state_path Errors: NOT_FOUND, DUPLICATE_FAILED

13. ImportPackage

Import a .vibeapp package into the VM and register it. Request: package_data_path, verify_signature Response: app_id, name, version, trust_status, package_path, capabilities[] Errors: PATH_NOT_FOUND, INVALID_PACKAGE, SIGNATURE_INVALID, TAMPERED

14. ValidateCompose

Validate a Compose file against the supported subset and return an import report. Request: compose_content (bytes) Response: valid, services[], supported_fields[], transformed_fields[], rejected_fields[], warnings[]

15. ResolvePorts

Query or refresh host port allocations for a project. Request: project_id, refresh Response: ports[] — each: service_name, container_port, host_port, protocol Errors: NOT_FOUND, NOT_RUNNING, PORT_CONFLICT

Common types

ServiceStatus

FieldType
namestring
statusstopped | starting | running | stopping | failed
container_idstring
started_atISO 8601
restart_countint32

PortMapping

FieldType
service_namestring
container_portint32
host_portint32
protocoltcp | udp