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 initvem 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 logoutvem 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 unlinkvem 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 pullvem 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 quickstartvem status
View your power feature usage score and see which workflows you're using. Track your progress toward mastery.
Usage
vem statusvem finalize
Apply vem_update blocks from agent output to your local memory artifacts. Auto-detected after agent sessions.
Usage
vem finalize [--file <path>]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>] [--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>] [--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>]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 showvem 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 recent Copilot CLI agent sessions for the current repository. Displays session ID, summary, branch, and last-updated timestamp.
Usage
vem sessions [--limit <n>] [--branch <branch>] [--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>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 reindex
Backfill commit history and trigger repo indexing. Use --all to include commits across all refs.
Usage
vem reindex [--limit <n>] [--all] [--history] [--mode <full|incremental>] [--commit <hash>] [--branch <name>]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 statusTroubleshooting
Status Check
Run vem status to check your login state, linked project, and local task counts.