ShiftLefter logo ShiftLefter

ShiftLefter

Quality as a dimension, not a phase.

ShiftLefter is an open-source test framework and quality toolkit built around traceable, explainable change — not just another red/green dashboard.

It treats every test run as a stream of structured facts, so you can connect requirements, use cases, code, and releases without spreadsheet archaeology or tribal knowledge that walks out the door.

v0.3.x — open source, actively developed

What ShiftLefter focuses on

  • Vocabulary definition and enforcement. ShiftLefter catches typos, drift, and undefined terms at bind time — before your tests run. Define your project's actors, actions, targets, and interfaces in shared glossaries — the same names in your tests, your docs, and eventually your whole stack — instead of the Confluence glossary nobody updates and the quarterly rediscovery that "customer" means three different things to three teams.
  • Starts gentle, enforces when you're ready. All validation is opt-in. Start with :warn to see what's drifting in your existing suite. Turn on :error when you're ready to hold the line. No big-bang rewrite — just gradual clarity.
  • Macro expansion, not steps-calling-steps. Define "the user logs in" as a Gherkin step sequence, and ShiftLefter expands it at compile time — the runner sees every step with full provenance. When the login flow changes, update one macro definition, not 47 scenarios. Non-developers can read and edit the macro file. The workflow reuse that teams reach for Screenplay to get — without the shadow-SUT complexity.
  • Traceability, end to end. Link requirements → use cases → features → scenarios → checks, so you can answer "what does this failing scenario actually put at risk?" in seconds, not days.
  • Cross-interface abstraction. The glossary entry for login-button isn't a CSS selector — it's a concept. Resolution happens per-interface: web, mobile, API. Same step, same vocabulary, different drivers.
  • Deterministic by design. Reproducible runs across laptops and CI — less flake, fewer "works on my machine" arguments.
  • 100% Cucumber-compatible. Bring your existing .feature files. ShiftLefter parses the full Gherkin spec — then adds vocabulary validation, structured events, and multi-actor contexts on top.

See the code, or say hello.