Skip to content
Docs/CLI Reference

CLI Reference

The vem CLI is your primary tool for managing project memory, syncing snapshots, and coordinating agents.

Core Commands

vem init

Initialize local .vem/ artifacts, add .vem/ to .gitignore, and optionally install a git pre-push auto-sync hook.

Usage

vem init

vem login

Authenticate with an API key or browser-based login.

Usage

vem login [api-key]

vem logout

Clear your local API key and sign out of the CLI.

Usage

vem logout

vem link

Link the current repo to a project (select or create when no ID is provided).

Usage

vem link [project-id]

vem project open

Open the web app to the linked (or specified) project.

Usage

vem project open [project-id]

vem unlink

Unlink the current repo from its vem project. Asks for confirmation.

Usage

vem unlink

vem push

Push local .vem state to the cloud as a snapshot (with git_hash + snapshot_hash provenance). New snapshots start pending until webhook verification.

Usage

vem push [--dry-run] [--force]

vem pull

Pull the latest snapshot from the cloud to your local .vem directory.

Usage

vem pull

vem search

Search project memory for tasks and context.

Usage

vem search "query"

vem ask

Ask a question against project memory (commits, diffs, tasks, and code).

Usage

vem ask "question" [--path <path>] [--thread-id <id>]

⚡ Power User Workflows

These workflows unlock VEM's full potential for agent-driven development.

vem agent

Launch AI tools wrapped with automatic context injection, task tracking, and strict memory enforcement. This is the most powerful way to use VEM.

Usage

vem agent [tool] [--task <id>]

vem quickstart

Interactive wizard that guides you through setting up powerful workflows from scratch.

Usage

vem quickstart

vem status

View your power feature usage score and see which workflows you're using. Track your progress toward mastery.

Usage

vem status

vem runner

Start a paired runner that powers the web Workspace terminal and claims queued local-runner jobs for the linked project checkout. Multiple runner processes can work in parallel.

Usage

vem runner [--agent <command>] [--poll-interval <seconds>] [--once]

vem finalize

Apply vem_update blocks from agent output to your local memory artifacts. Auto-detected after agent sessions.

Usage

vem finalize [--file <path>]

Web Execution

The web app uses two execution backends:

  • Workspace terminal commands run through a paired local vem runner.
  • Task agent runs are queued for isolated sandbox execution and require a GitHub-connected project.

For setup details and troubleshooting, see the runner guide.

Task Management

vem task list

List project tasks from VEM Cloud (with local fallback when offline).

Usage

vem task list [--all] [--status <status>] [--done] [--deleted]

vem task details

Show deep metadata for a specific task, including history and context.

Usage

vem task details --id <id>

vem task subtasks

View a parent task and all of its nested subtasks.

Usage

vem task subtasks --parent <id>

vem task context

Manage the long-form context associated with a task.

Usage

vem task context <id> [--set <text>|--append <text>|--clear]

vem task assign

Assign a task to a user (prompts for assignee when omitted).

Usage

vem task assign <id> [assignee]

vem task add

Create a new task with metadata, dependencies, and validation steps.

Usage

vem task add <title> [--priority <p>] [--description <d>] [--tags <tags>] [--type <t>] [--estimate-hours <hours>] [--depends-on <ids>] [--blocked-by <ids>] [--recurrence <rule>] [--owner <id>] [--reviewer <id>] [--parent <id>] [--order <n>] [--due-at <iso>] [--validation <steps>] [--cycle <id>] [--impact-score <score>] [--actor <name>] [--reasoning <r>]

vem task update

Update task metadata (tags, dependencies, estimates, due dates).

Usage

vem task update <id> [--tags <tags>] [--type <t>] [--estimate-hours <hours>] [--depends-on <ids>] [--blocked-by <ids>] [--recurrence <rule>] [--owner <id>] [--reviewer <id>] [--parent <id>] [--order <n>] [--due-at <iso>] [--validation <steps>] [--cycle <id>] [--impact-score <score>] [--actor <name>] [--reasoning <r>]

vem task start

Start working on a task (set status to in-progress). Interactive selection when no ID provided.

Usage

vem task start [id] [--reasoning <r>] [--actor <name>]

vem task done

Mark a task as complete with evidence, reasoning, and validation.

Usage

vem task done [id] [--evidence <e>] [--reasoning <r>] [--validation <v>] [--context-summary <summary>] [--actor <name>]

vem task block

Mark a task as blocked with a required reason.

Usage

vem task block <id> --reasoning <r> [--blocked-by <ids>] [--actor <name>]

vem task unblock

Unblock a task (set status back to todo).

Usage

vem task unblock <id> [--reasoning <r>] [--actor <name>]

vem task delete

Soft delete a task while keeping it in history.

Usage

vem task delete <id> [--reasoning <r>]

vem task sessions

View agent sessions linked to a specific task.

Usage

vem task sessions <id>

vem task flow

Analyze the flow state and history of a task.

Usage

vem task flow [id]

vem task score

View the impact score (RICE-based priority) for a task.

Usage

vem task score [id]

vem task ready

Mark a task as ready (all blockers resolved, waiting to be picked up).

Usage

vem task ready [id]

vem task iterate

Create a follow-up iteration of a completed task.

Usage

vem task iterate <id>

Agent Integration

vem agent

Launch an AI agent (Claude, Gemini, etc.) with automatic context injection from your current task.

Usage

vem agent [command] [--task <id>]

vem pack

Generate a raw vem_pack block (JSON or Markdown) for manual injection into prompts.

Usage

vem pack [--json]

vem finalize

Apply a vem_update block from an agent response to your local memory.

Usage

vem finalize [--file <path>]

Memory & Decisions

vem context show

Show project context and current state from cloud when available, with local cache fallback.

Usage

vem context show

vem context set

Persist project context and/or current state. Writes to cloud when linked, and always updates local cache.

Usage

vem context set [--context "<text>"] [--current-state "<text>"]

vem decision add

Record an architectural decision (ADR) with optional task linking.

Usage

vem decision add "<title>" --context "<why>" --decision "<what>" [--tasks TASK-001,TASK-002]

Agent Sessions

Browse and import Copilot CLI agent sessions into project memory. Learn more →

vem sessions list

List recent agent sessions (Copilot, Claude, Gemini, Cursor, Windsurf, Codex) for the current repository. Displays source, session ID, summary, branch, and last-updated timestamp.

Usage

vem sessions list [--limit <n>] [--branch <branch>] [--source <sources>] [--all]

vem sessions import <id>

Interactively import a session into vem project memory. Prompts to add a changelog entry from the session summary and link the session as evidence on an active task. Accepts full UUIDs or short prefixes.

Usage

vem sessions import <id>

Cycle Management

Organise work into named goal cycles (sprints). Tasks can be assigned to a cycle via --cycle <id> on vem task add or vem task update.

vem cycle list

List all goal cycles for the linked project.

Usage

vem cycle list

vem cycle create

Create a new goal cycle with an optional name.

Usage

vem cycle create [name]

vem cycle start

Mark a cycle as the active in-progress cycle.

Usage

vem cycle start <id>

vem cycle close

Close a cycle and move it to completed state.

Usage

vem cycle close <id>

vem cycle focus

Set focus on a specific cycle (or the active one) to filter task views.

Usage

vem cycle focus [id]

vem cycle validate

Run full validation for a cycle: pre-flight checks + AI review. Options: --skip-sensors, --skip-ai, --backend <cloud|local>, --strict.

Usage

vem cycle validate <id>

vem cycle health

Show a health snapshot for a cycle, including sensor metrics, task completion rate, and risk indicators.

Usage

vem cycle health [id]

vem cycle retrospective

Generate a retrospective report for a completed cycle, summarising velocity, blockers, and lessons learned.

Usage

vem cycle retrospective <id>

Agent Instructions

Sync and version-control the instruction files that your AI agents use (e.g. AGENTS.md, CLAUDE.md). The cloud stores version history so you can roll back bad prompts.

vem instructions pull

Pull the latest instruction files from the cloud into the local repo.

Usage

vem instructions pull

vem instructions push

Push local instruction files to the cloud for versioning.

Usage

vem instructions push

vem instructions status

Check whether local instruction files are in sync with the cloud.

Usage

vem instructions status

vem instructions versions

List the version history of instruction files stored in the cloud.

Usage

vem instructions versions

vem instructions revert

Revert instruction files to a specific version by version ID.

Usage

vem instructions revert <versionId>

Advanced & Offline

vem queue

Manage the offline snapshot queue.

Usage

vem queue [--list] [--retry] [--clear]

vem archive

Archive older memory entries to keep context small.

Usage

vem archive [--all] [--decisions] [--changelog] [--tasks] [--older-than <days>] [--keep <count>]

vem diff

Show differences between local .vem/ state and the last pushed snapshot.

Usage

vem diff [--detailed] [--json]

vem doctor

Run comprehensive health checks on your VEM setup (auth, project, git, data integrity).

Usage

vem doctor [--json]

vem summarize

Analyze current git changes and suggest memory updates for changelog, decisions, context, and current state.

Usage

vem summarize [--staged]

vem status

Check login status, linked project, and local task counts.

Usage

vem status

Troubleshooting

Status Check

Run vem status to check your login state, linked project, and local task counts.