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.1.0.tar.gz (65.9 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.1.0-py3-none-any.whl (75.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ordel_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 65.9 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.1.0.tar.gz
Algorithm Hash digest
SHA256 773fb18eaed54b7b5e824ab603097c99f6c40c070eff2fac5196ad828ff930f8
MD5 9284992c818aa41550ed988051791b81
BLAKE2b-256 d5009d6d84be24d85137c584b29414a8e6e517db7279349454e779e3dc6ea52f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ordel_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 75.7 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a1730b07d5b75fd9e7959153172f1d3ebcb26664d3c049a781c9898fcaed2435
MD5 5781a05d311ad8a6a29af9be74b684a5
BLAKE2b-256 e6bb774154519f1fade89aa78664a1467dfad920903c08c84c29154fccad14dd

See more details on using hashes here.

Provenance

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