# Trailblaze Examples
Copy-me starting points. Each directory below is a **standalone, runnable Trailblaze
workspace** — its own `trails/config/`, its own scripted-tool sources, its own
`build.gradle.kts` — that you can copy into your project as a template, or run in place.
If you're here to learn how to author a trail and a typed tool, **start with
[`ios-contacts/`](ios-contacts/) (mobile) or [`wikipedia/`](wikipedia/) (web).**
## Trailmap-authoring examples — start here
These show the current best-practice authoring shape: typed
`trailblaze.tool()` tools, auto-discovered from bare `.ts` files (no
`.yaml` manifests required), with a system prompt and a full trail suite.
| Example | Platform | What it teaches |
|---|---|---|
| [`ios-contacts/`](ios-contacts/) | iOS | **Canonical mobile reference.** 9 typed scripted tools (launch, search, open/create/delete, multi-step edit forms, contact-shape assertions, a composition example), 18 trails, and **tool unit tests** (`*.test.ts`). |
| [`wikipedia/`](wikipedia/) | Web | **Canonical web reference.** 9 typed scripted tools driving live `en.wikipedia.org` through the Playwright Native driver, 28 trails, a typed-tool demo, and a conditional-action demo. |
| [`playwright-native/`](playwright-native/) | Web | A minimal Playwright Native web workspace with its own bundled sample app, typed tools, and `*.test.ts` — the smallest end-to-end scripted-tool setup. |
## Sample target apps
Controlled apps that exist to be *driven* by trails (eval targets), not to teach
trailmap authoring:
| Example | Platform | What it is |
|---|---|---|
| [`android-sample-app/`](android-sample-app/) | Android | A small Android app used as a deterministic test target, with its own trails. |
| [`ios-sample-app/`](ios-sample-app/) | iOS | A minimal SwiftUI app mirroring the Android sample's Forms screen, used for iOS evals. |
| [`compose-desktop/`](compose-desktop/) | Desktop | A Compose for Desktop sample target. |
| [`playwright-electron/`](playwright-electron/) | Electron | A bundled Electron sample app driven through the Playwright driver. |
## Not examples
`build/`, `src/`, `dependencies/`, `package.json`, and `build.gradle.kts` at this level
belong to the `:examples` Gradle aggregate module (it also runs a local HTTPS server for
the web examples). Ignore them — they aren't starting points.
## Running an example
```bash
# Materialize the workspace SDK + per-trailmap typed bindings (run once after clone)
./trailblaze check --workspace examples/wikipedia
# Then drive or replay its trails against a connected device/browser
./trailblaze run --workspace examples/wikipedia
```