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 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 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 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 status

Troubleshooting

Status Check

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