Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.pome.sh/llms.txt

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

The pome CLI reads several environment variables for authentication, LLM configuration, and runtime overrides. Environment variables take precedence over .pome.json values but are themselves overridden by explicit CLI flags.

Authentication

These variables let you authenticate without running pome login — essential for CI pipelines and automated environments.
VariablePurpose
POME_API_KEYLong-lived API key for hosted Pome. Format: pme_.... Set this in CI instead of running pome login. The CLI reads this automatically; no credentials file is written.
POME_API_URLOverride the cloud API base URL. Equivalent to the --api-url global flag. Useful for self-hosted deployments or staging environments.
# CI usage
export POME_API_KEY=pme_yourteamkey
pome run scenarios/

LLM configuration (for [P] evaluation)

Pome evaluates [P] (prompt-based) success criteria using a judge LLM that you configure and pay for directly — Pome never proxies your LLM traffic or holds your keys. Set these variables to point the CLI at any OpenAI-compatible endpoint.
VariablePurpose
POME_LLM_BASE_URLOpenAI-compatible endpoint for the judge. Examples: https://openrouter.ai/api/v1, https://api.openai.com/v1, http://localhost:11434/v1 (Ollama).
POME_LLM_API_KEYAPI key for the configured LLM endpoint.
POME_LLM_MODELModel identifier passed to the endpoint as-is. Examples: claude-haiku-4-5, gpt-4o-mini, anthropic/claude-haiku-4-5 (for OpenRouter).
OPENAI_API_KEYAuto-detected fallback. If POME_LLM_* variables are unset and this variable is set, the CLI uses https://api.openai.com/v1 with this key.
ANTHROPIC_API_KEYAuto-detected fallback. If POME_LLM_* and OPENAI_API_KEY are all unset and this variable is set, the CLI uses Anthropic’s native endpoint with this key.
# OpenRouter (recommended default)
export POME_LLM_BASE_URL=https://openrouter.ai/api/v1
export POME_LLM_API_KEY=sk-or-...
export POME_LLM_MODEL=anthropic/claude-haiku-4-5

# Ollama (fully offline / air-gapped)
export POME_LLM_BASE_URL=http://localhost:11434/v1
export POME_LLM_MODEL=llama3
OpenRouter is the zero-friction default for bring-your-own-key evaluation — one API key gives you access to all major model providers. It’s ideal if you want to switch models without managing multiple keys or endpoints.

Agent-side variables (set by pome run)

pome run injects the following environment variables into your agent process before it starts. Read these variables in your agent to know what task to perform and how to reach the twin.
VariablePurpose
POME_TASKThe agent’s task text, taken from the ## Prompt section of the scenario file.
POME_GITHUB_REST_URLBase URL for the GitHub-shaped REST surface on the active twin session (e.g., http://localhost:3333 in OSS mode).
POME_AUTH_TOKENBearer token for authenticating twin requests in hosted mode. Include this as Authorization: Bearer $POME_AUTH_TOKEN on every request to the twin.
POME_TWIN_NAMESComma-separated list of twin names active in this session (e.g., github).
POME_RUN_IDUnique identifier for the current run. Use this if your agent writes its own artifacts and wants to correlate them with Pome’s trace.
POME_ARTIFACTS_DIRDirectory path where your agent can write additional artifacts. Pome includes this directory in the run bundle.
POME_PREFLIGHTSet to "1" during the preflight check that runs before each scenario. Your agent should exit 0 immediately when this is set.
Minimum agent pattern that handles preflight correctly:
if (process.env.POME_PREFLIGHT === "1") {
  console.log("preflight ok");
  process.exit(0);
}

const task = process.env.POME_TASK;
const githubUrl = process.env.POME_GITHUB_REST_URL;

if (!task || !githubUrl) {
  throw new Error("POME_TASK and POME_GITHUB_REST_URL are required");
}

// Your agent logic here

Debug

VariablePurpose
POME_DEBUGSet to any non-empty value to enable debug logging to stderr. Equivalent to the --verbose / -v global flag.
POME_DEBUG=1 pome run scenarios/01-bug-happy-path.md