Skip to main content
SHAFT

Release decisions backed by inspectable evidence.

Run one Java project across web, mobile, API, database, and CLI. Keep native engine control, then connect Capture, Doctor, Heal, and MCP when they add evidence.

  1. Generate project
  2. mvn test
  3. Inspect report
Real SHAFT execution. Open the report evidence and inspect it.

From intent to reviewable Java and evidence.

Use evidence to keep engineers in control and give delivery leaders a reviewable release signal.

Capture lifecycle

capture_start capture_stop capture_generate_replay

Capture an approved flow, review generated native Java, then retain replay evidence with the recording.

Reviewed native Java
SHAFT.GUI.WebDriver driver = new SHAFT.GUI.WebDriver();
driver.browser().navigateToURL("https://example.com");
driver.element().click(By.id("submit"));

Model choice remains with the MCP client. Tests remain ordinary Java. Proposals do not silently edit, approve, or merge.

Start from the job in front of you

For engineers, preserve native Java control. For delivery leaders, make release evidence easy to inspect.

Start a new suite

Generate a Maven project, then run its first test with the checked-in command.

Generate a project

Migrate an existing suite

Upgrade supported Selenium, Appium, REST Assured, or older SHAFT projects in controlled steps.

Read upgrade guide

Add another testing surface

Keep web, mobile, API, database, and CLI checks in one Java project and evidence model.

Explore surfaces

Diagnose a failed run

Use failed Allure or trace evidence to classify a cause before reviewing a remediation proposal.

Review diagnosis flow

One evidence model across five test surfaces

Start with the native engine. Keep the evidence and Java suite in one place.

Native engine

Selenium WebDriver

Actions, screenshots, trace context, and Allure steps.

Read web guide
Web SHAFT snippet
SHAFT.GUI.WebDriver driver = new SHAFT.GUI.WebDriver();
driver.browser().navigateToURL("https://example.com");
driver.element().click(By.id("submit"));

Start with a project. Keep the evidence.

Generate a focused starter, examine the documentation, or follow development on GitHub.