Getting Started
Haiku runs your tests as plain English — on iOS, in Python, in Rust, and more. Write what your code should do; Haiku compiles it to a real test in your existing toolchain.
Haiku lets you write tests in plain English. Describe what your app or your code
should do; Haiku compiles your description to a real test in the framework
your language already uses — XCUITest for iOS, pytest for Python, cargo test
for Rust — and runs it.
No selectors, no boilerplate, no new test runner to adopt.
How it works
- Write a
.haikufile. The filename's extension chooses the target:login.ios.haikufor an iOS UI test,test_parser.py.haikufor Python,cache.rs.haikufor Rust. - Recite with
haiku recite <file>. Behind the scenes Haiku translates your English into the right native artifact — a.simaction sequence for iOS, a pytest module for Python, a Rust integration test forcache.rs.haiku, and so on — then runs it through your language's real test runner and reports pass/fail step by step. The translation step is cached, so repeated runs on an unchanged spec skip straight to execution.
Filename → target
The filename extension is the single source of truth for what Haiku does with
a spec. Plain .haiku files are not accepted — every spec carries a platform
extension.
| Filename | Target | Status |
|---|---|---|
foo.ios.haiku | iOS Simulator (XCUITest) | available |
foo.macos.haiku | macOS | coming |
foo.web.haiku | Web browser | coming |
foo.android.haiku | Android Emulator | coming |
foo.py.haiku | Python (pytest) | available |
foo.rs.haiku | Rust (cargo test) | available |
foo.go.haiku | Go (go test) | experimental |
foo.ts.haiku | TypeScript | experimental |
foo.java.haiku | Java | experimental |
foo.rb.haiku | Ruby | experimental |
Requirements
- macOS with Apple Silicon (arm64)
- Roughly 6 GB of free disk space for the bundled local AI models
- Xcode (for
.ios.haikutargets — Haiku builds an XCUITest driver against your installed Xcode the first time you run an iOS spec)
Next steps
- Installation — install the
haikubinary and download the models - Platforms — per-target setup notes and runner specifics
- The .haiku file format — frontmatter, body, file layout
- CLI Reference — every command and flag