Skip to main content
SHAFT

SHAFT Engine: open-source Java test automation framework

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.

The user guide is the one path through this site.

Your first run

  1. Generate project
  2. mvn test
  3. Inspect report

Adding SHAFT to an existing Maven project? Install SHAFT

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. The quick start still documents the existing-project upgrade.

Upgrade a Java project

Move an existing Maven suite onto current SHAFT and run one test.

Upgrade a project

Install skills

Add the SHAFT skill pack to the agent you already use.

Install skills

Use the IntelliJ plugin

Open the SHAFT tool window and finish setup.

Use the plugin

Connect an MCP client

List SHAFT tools in Codex, Copilot, Claude, or another client.

Connect MCP

Use shaft-cli

Run one SHAFT command from the terminal.

Use shaft-cli

Run in CI

Run the suite headlessly and keep the report.

Run in CI

Add a test surface

Add web, API, mobile, database, or CLI to a project that already runs.

Add a surface

Install local infrastructure

Install the Android, Appium, Grid, or browser profile you chose.

Install infrastructure

Install ChaosEngine

Install the project-local agent harness and read the result.

Install ChaosEngine

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.