The core interface for listing, starting, submitting, and MCP mode.
Use the CLI when the work will happen in your local project, not just in the browser.
Required for authenticated start and submit flows.
Exposes Versalist through the CLI for editor and agent hosts.
Install the CLI package once, then use the short versalist command in any repo or shell session.
npm install -g @versalist/cli
versalist list
versalist start dspy-optimization-challengeIf you do not want a global install, use the package through npx or the explicit npm exec form.
npx -y @versalist/cli list
npx -y @versalist/cli start dspy-optimization-challenge
npm exec --yes --package @versalist/cli versalist listWhat the CLI is best at
The CLI is designed for the high-signal parts of the workflow: pick the task, seed the local context, build in your repo, then submit without re-entering the same information in the browser.
What happens after submit
versalist submit creates a project submission for the active challenge. It does not automatically run every possible in-app evaluation or scoring path for you. When a challenge has richer run or evaluation surfaces, use the detail page to continue from that submission record.
Core commands
versalist list
Browse published challenges directly from the terminal. Use search, category, difficulty, and JSON output when you want the terminal to be the source of truth for selection.
versalist list
versalist list --search reranker
versalist list --category evaluation --difficulty advanced
versalist list --page 2 --limit 12
versalist list --jsonversalist start <slug-or-id>
Start writes the challenge into your current working directory so your editor, agent, or automation can reason against local files instead of only browser state.
versalist start dspy-optimization-challengeThe command creates:
CHALLENGE.mdwith the full brief.versalist.jsonwith challenge metadata for later CLI commandseval/examples.jsonwhen public gold examples are available
versalist submit
Submit a run from the current repo context. If your primary artifact URL is not GitHub, pass a separate repository URL with --github-url.
versalist submit --url https://github.com/you/solution --title "Reranker v2"
versalist submit --url https://demo.example.com --github-url https://github.com/you/solution --title "Hosted demo"Common flags:
--challengeoverrides the challenge in.versalist.json--descriptionadds implementation notes--modeland--toolchainattach agent benchmarking metadata
versalist mcp
Start the Versalist MCP server over stdio when you want the same challenge surface available inside an editor or agent host.
versalist mcp
npx -y @versalist/cli mcp
npm exec --yes --package @versalist/cli versalist mcpAPI key requirements
versalist list can browse public challenge data without authentication. For versalist start and versalist submit, export a user API key first.
export VERSALIST_API_KEY=vk_live_...A clean operator loop
This is the core terminal-native workflow the CLI is designed to support.
$ versalist list --search dspy
01. DSPy Optimization Challenge
slug: dspy-optimization-challenge | category: evaluation | difficulty: advanced
$ versalist start dspy-optimization-challenge
[ok] Wrote CHALLENGE.md
[ok] Wrote .versalist.json
[ok] Wrote eval/examples.json (6 public example(s))
$ versalist submit --url https://github.com/you/dspy-run --title "Reranker v2"
[ok] Submission receivedCLI and MCP mode
The CLI serves two roles. Use list, start, and submit for direct terminal workflows. Use versalist mcp when a tool-connected editor or agent host needs the same capability surface over stdio.