WARNING: Parallax is currently in alpha. Expect rough edges, missing polish, and occasional breaking changes.
Parallax is a local AI orchestration runtime for software tasks.
It pulls work from Linear or GitHub, creates isolated worktrees, runs an agent in two phases (plan then execute), and requires explicit approval before implementation.
- Plan-first task lifecycle with explicit approval/rejection.
- Issue intake from Linear and GitHub.
- Global runtime state under
~/.parallax. - CLI control plane plus dashboard UI.
- Codex, Gemini, and Claude Code adapters (configurable per project).
- Node.js
>= 23.7.0 pnpm10.xgitgh- at least one supported agent CLI (
codex,gemini, orclaude) - Provider credentials in your shell environment (optional per-project
.envviaparallax register --env-file)
pnpm install
pnpm parallax preflight
pnpm test
pnpm buildnpm i -g parallax-cli
parallax preflightRepository config is stored per repo, then registered into the global Parallax runtime:
pnpm parallax start --server-api-port 3000 --server-ui-port 8080 --concurrency 2
pnpm parallax register ./parallax.yml --env-file ./.envparallax.yml is a YAML array of project entries:
- id: example-repo
workspaceDir: /absolute/path/to/your/repo
pullFrom:
provider: github
filters:
owner: your-github-org-or-user
repo: your-repo
state: open
labels: [ai-ready]
agent:
provider: codex
model: gpt-5.4pnpm parallax --version
pnpm parallax start --server-api-port 3000 --server-ui-port 8080 --concurrency 2
pnpm parallax register ./parallax.yml --env-file ./.env
pnpm parallax unregister ./parallax.yml
pnpm parallax stop
pnpm parallax preflight
pnpm parallax status
pnpm parallax pending
pnpm parallax pr-review <task-id>
pnpm parallax retry <task-id>
pnpm parallax cancel <task-id>
pnpm parallax logs --task <task-id>Commands:
parallax start [--server-api-port <port>] [--server-ui-port <port>] [--concurrency <count>]parallax register <config-file> [--env-file <path>]parallax unregister <config-file>parallax stopparallax preflightparallax statusparallax pending [--approve <id>] [--reject <id>]parallax pr-review <task-id>(experimental)parallax retry <task-id>parallax cancel <task-id>parallax logs [--task <id>]
- Pull eligible tasks from provider filters.
- Generate plan text and persist it.
- Wait for explicit plan approval from UI or CLI.
- Execute only approved plan steps.
- Open/update PR and move task lifecycle state.
- Pending plans are editable in a textarea and can be approved/rejected in-place.
- Task logs stream in real time.
- File changes are shown as clickable entries with side-panel diff view.
See CONTRIBUTING.md.
For full user guides, see docs/README.md.
Parallax is published as a single global CLI package:
npm i -g parallax-cliReleases are published through the manual GitHub Actions workflow:
- open the
Release parallax-cliworkflow in GitHub Actions - trigger it with
Run workflow - the workflow publishes the exact version already set in
packages/cli/package.json
Repository requirement:
- configure npm trusted publishing for this repository/package in npm
Before triggering the release, update the version in:
packages/cli/package.jsonThen on Raspberry Pi / any machine:
npm i -g parallax-cli
parallax preflight
parallax start --server-api-port 3000 --server-ui-port 8080 --concurrency 2
parallax status
parallax register ./parallax.ymlDefault runtime locations and ports:
- runtime state:
~/.parallax - API:
http://localhost:3000 - dashboard:
http://localhost:8080
MIT. See LICENSE.
