Core Concept
Artifact
Persistent storage for agent working directories
Artifacts provide persistent storage that maps to the CLI agent's working directory. Files created or modified by the agent are automatically saved and can be restored in future runs.
How Artifacts Work
When you run an agent with --artifact-name:
- Before running - VM0 loads the artifact into the agent's working directory
- After running - VM0 persists any changes back to the artifact
This allows your agent to maintain state across multiple runs, building on previous work.
vm0 run my-agent "continue the project" --artifact-name my-projectManaging Artifacts
You can also manage artifacts manually using the vm0 artifact commands.
Initialize
Initialize an artifact in the current directory:
vm0 artifact initThis creates a .vm0/storage.yaml config file. The current directory name becomes the artifact name.
Push
Upload local files to the cloud:
vm0 artifact pushOptions:
-f, --force- Force upload even if content unchanged
Pull
Download artifact from the cloud:
# Pull latest version
vm0 artifact pull
# Pull specific version
vm0 artifact pull abc123Status
Check the cloud artifact status:
vm0 artifact statusShows version, file count, and size of the remote artifact.
Example Workflow
# Create a project directory
mkdir my-project && cd my-project
# Initialize as an artifact
vm0 artifact init
# Add some initial files
echo "# My Project" > README.md
# Push to cloud
vm0 artifact push
# Run agent with this artifact
vm0 run my-agent "set up a Python project" --artifact-name my-project
# Pull the agent's changes locally
vm0 artifact pull