Skip to main content

Ordel free CLI — local QA-automation for individual devs. Drives the deterministic ordel-engine and exposes it to a BYO coding agent over MCP. No account, no DB, no Ordel LLM.

Project description

ordel (free CLI)

Local QA automation for individual devs — a persistent, deterministic "QA brain" your own coding agent (Claude Code / Cursor / Copilot) drives over MCP. No account, no DB, no Ordel LLM. Your agent is the brain; Ordel is the memory + determinism.

Status: early build. The engine loop (map → record → generate → run) works locally today; packaged npx ordel distribution is the remaining in-progress piece — see docs/plans/2026-07-17-free-cli-implementation-plan.md.

What works today (local, anonymous)

ordel init          # create .ordel/ + an ORDEL.md bridge file. No account.
ordel doctor        # preflight: Node / npx / @playwright/test / Chromium (+ how to fix)
ordel status        # local coverage: pages, elements, run history
ordel graph         # print the local app graph
ordel report        # copy-pasteable Markdown report (Slack/Teams/Jira)
ordel mcp-install    # print the MCP config to add to Claude Code / Cursor / Copilot

Then your coding agent, via MCP, drives the loop (needs Node + @playwright/test in the project — run ordel doctor to check):

  • get_app_context / heal_selector — what Ordel knows + deterministic self-heal of a broken selector (fingerprint match, no LLM; ambiguous cases return needs_agent with ranked candidates for your agent's own LLM to resolve — Ordel never spends inference).
  • explore / record_flow — drive the real browser to map the app + record a flow.
  • generate_scenarios / generate_invariant / generate_perf_check / generate_pom — turn artifacts into runnable specs (happy/negative/boundary, data-integrity, latency, POM).
  • run_test — run a spec via npx playwright test and read the real pass/fail.
  • QA-mind planning: coverage_report / risk_rank / plan_tests / regression_set.

In progress (honest — no fake success)

  • Single npx ordel distribution — a compiled Python engine binary wrapped in one npm package (built + smoke-tested in CI; npm/ here is the wrapper).
  • eject (one-command raw-Playwright export) — scaffold; but there's no lock-in today either: generated tests are already plain tests/*.spec.ts + pages/*.ts on disk.
  • Team sync + hosted dashboard = the paid upgrade (this CLI stays free & local).

The pieces

  • ordel-engine (sibling package) — the pure deterministic core: fingerprint matching + self-heal, stdlib-only, zero backend.
  • ordel_cli.store — the .ordel/ file store (the local shell).
  • ordel_cli.heal_service — heal + per-page circuit-breaker.
  • ordel_cli.mcp_server — the local stdio MCP server your agent connects to.

Dev

pip install -e packages/ordel-engine -e packages/ordel-cli
pip install pytest
pytest packages/ordel-cli/tests packages/ordel-engine/tests -q

Known limitations (by design)

  • Single-writer. The .ordel/ store is for one dev on one machine. Writes are atomic (temp-file + os.replace, so a crash can't corrupt a file), and a corrupted graph.json is reported cleanly (never silently overwritten). But two processes writing the same page concurrently is last-writer-wins — there is no file lock. That is deliberate: a single-user local CLI doesn't warrant lock files / their failure modes. Team-scale concurrency is the hosted product's job (ordel push).
  • Browser tools need a local Node + @playwright/test (explore/record_flow/run_test). They don't ship a browser; run ordel doctor — if Node/Playwright/Chromium are missing it tells you the exact command to fix. Without them these tools report the missing dependency, never fake success.

Privacy

Local-first: no Ordel LLM, no telemetry, no account, no data sent to Ordel. The only network requests are to your own target app and standard package/browser downloads you initiate. See PRIVACY.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ordel_cli-0.2.0.tar.gz (53.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ordel_cli-0.2.0-py3-none-any.whl (62.1 kB view details)

Uploaded Python 3

File details

Details for the file ordel_cli-0.2.0.tar.gz.

File metadata

  • Download URL: ordel_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 53.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ordel_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cd7bcdc34b95f0ef1e6b944a56c6f55c537f1df5c4dc14f77e0912aa1d41a0b6
MD5 6c5234bbdc74b274bafd527aab3787b2
BLAKE2b-256 534cca9381488da2b5c215a3dc129804f78d3e4449b22a61de43293d223b99fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ordel_cli-0.2.0.tar.gz:

Publisher: free-cli.yml on srikanth8286/ordel-platform

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ordel_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ordel_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 62.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ordel_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37687feba7c3e4be3b4ffbbd823d793bf72eac212c5d9571ca776748e53397f0
MD5 705ba8c3de3200578b55deed5a09edb9
BLAKE2b-256 cf8b9f6cc2131968f262b7bb736794f7ed6483db8f9f2be69184a6f1dfc5d6e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ordel_cli-0.2.0-py3-none-any.whl:

Publisher: free-cli.yml on srikanth8286/ordel-platform

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page