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.2.tar.gz (58.7 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.2-py3-none-any.whl (68.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ordel_cli-0.2.2.tar.gz
  • Upload date:
  • Size: 58.7 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.2.tar.gz
Algorithm Hash digest
SHA256 15dff32ec8212e305e243b078a405aee0f0b699431846e2a7595abbdc8d3070c
MD5 b16d54e4aa409c1cdf7c141452ce3c70
BLAKE2b-256 4759aefeefd70738ec3cb44a40f1bb2181f56ed4cd61020e1fa054a666e41d4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ordel_cli-0.2.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: ordel_cli-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 68.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 406196ccd3cbd9afa5742320fcbee72291f334258927e6a918bea8111f9e1085
MD5 37a47cc1b92be7c567f43fac1a8e19f0
BLAKE2b-256 5989da8d283be148ebb11e101fac5d5b713d62533355a737bee1fe4c51ca39f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ordel_cli-0.2.2-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