This guide configures the Versalist command-line interface (CLI). It also configures the Model Context Protocol (MCP) when Pi supports it.
Start Pi in the project directory.
Review this file before you trust the project.
The agent must run Versalist CLI commands.
Requirements
- Node.js 18 or later
- npm
- An account or provider credential for Pi
- A Versalist account
- A Versalist application programming interface (API) key with the required scopes
1. Install Pi
npm install -g --ignore-scripts @earendil-works/pi-coding-agent- The --ignore-scripts option disables dependency lifecycle scripts.
- Pi does not require install scripts for a normal npm installation.
2. Authenticate Pi
Authenticate Pi with its account or model provider. This credential is separate from your Versalist key.
pi
# In Pi, enter:
/login- Start Pi in the project directory.
- Enter /login for a supported subscription provider.
- You can set a supported provider API key before you start Pi.
3. Create a Versalist key
If you are already signed in, open API key settings. Create one key for this agent.
- Name the key for Pi and its environment.
- Select only the scopes that your workflow requires.
- Copy the key before you close the dialog.
- Store the key in a password manager or secret manager.
- Load the key into the agent process environment.
The agent-aware key page selects all three scopes for the full workflow.
- Use
read:challengesto browse or start challenges. - Use
submit:solutionsto submit a solution. - Use
read:submissionsto read submission history through MCP.
Remove a scope if your workflow does not use it.
export VERSALIST_API_KEY=vk_live_...
test -n "$VERSALIST_API_KEY" && echo "Versalist API key is set"4. Install the Versalist CLI
npm install -g @versalist/cli
versalist --helpUse npx -y @versalist/cli if you do not want a global installation.
5. Connect Versalist
6. Launch Pi
Open the project directory in a trusted terminal. Then start the agent.
pi7. Run the Versalist workflow
versalist list --search "agentic code optimization"
versalist start agentic-code-optimization-review
versalist run --command "python agent.py" --label baseline
versalist evaluate --run <baseline-run-id> --command "pytest" --score 70
versalist run --command "python agent.py" --label candidate
versalist evaluate --run <candidate-run-id> --command "pytest" --score 84
versalist compare --baseline <baseline-run-id> --candidate <candidate-run-id>
versalist submit --url https://github.com/you/solution --title "Candidate run"The versalist start command loads challenge files. It does not launch the coding agent.
The example python agent.py command is a placeholder. Replace it with your agent command.
Verify the setup
Use these read-only checks before you start a challenge.
pi --version
versalist --help
versalist list --limit 1Confirm that the host reports the Versalist server or command. Do not run a write tool only to test the connection.
Limitations
- Pi does not include native Model Context Protocol support.
- Pi runs with the permissions of the user and process that started it.
- Use a container or sandbox when you need a stronger boundary.
- Pi loads project settings only after you trust the project.
- The CLI stores local run evidence under .versalist/.
- The CLI does not upload local evidence automatically.
- The submit command sends metadata and URLs, not .versalist/ contents.
Revoke access
- Open API key settings.
- Find the key by name and last-use time.
- Revoke the Versalist key.
- Enter /logout in Pi to remove the active provider credential.
- Remove any provider key from the Pi process environment.
- Remove VERSALIST_API_KEY from the process environment.
- Restart the agent process.
Revoke the provider credential separately if it is exposed. A Versalist key revoke does not revoke the provider credential.
Official documentation
Use these official sources if the vendor changes a command or setting.
Return to the coding agent index, or open the Versalist CLI reference.
Canonical guide: /docs/coding-agents/pi