Trailblaze
Index
Initializing search
Trailblaze
Trailblaze
Trailblaze
Introduction
CLI
Android On-Device Testing
Architecture
Configuration
Getting Started
Host JVM Unit Tests
LLM Configuration
LLM Support
Logging
Maestro Compatibility
Project Layout
Publishing a Trailmap
Report Gallery
Revyl Cloud Device Integration
Roadmap
Snapshot queries from scripted tools
Scripted Tools (TypeScript)
Scripted Tools — Legacy Reference
Support
Trailblaze Tools
Trailmaps
Your First Trailmap
Benchmarks
Benchmarks
Playwright-Native Benchmarks
Devlog
Devlog
Devlog
LLM as Compiler Architecture
Trail Recording Format (YAML)
Maestro as Current Execution Backend
Tool Execution Modes
Tool Naming Convention
Handwritten Agent Loop
Custom Tool Authoring
Desktop Application (Moving Away from IDE-based Execution)
Koog Library for LLM Communication
Kotlin as Primary Language
Logging and Reporting Architecture
Trailblaze MCP
Self-Heal
Device-Specific Trail Recordings
Custom Tool Architecture
App Target Configuration
LLM Provider Configuration
Mobile-Agent-v3 Integration Plan
Trail/Blaze Agent Architecture
Agent Resilience, Maestro Decoupling, and Driver-Specific Hierarchies
Recording Memory Template Substitution
Scripted Tools Vision (TypeScript/QuickJS)
TrailblazeNode — Type-Safe Driver-Specific View Hierarchy
Trail YAML v2 Syntax
Agentic Development Loop
Recording Optimization Pipeline
Waypoints and App Navigation Graphs
MCP STDIO-to-HTTP Proxy for Development
iOS TrailblazeNode Support via IosMaestro
MCP API Redesign: verify→blaze, Mode Defaults, iOS launchApp Fix
Screenshot Format Optimization (WebP Everywhere)
CLI-Based OAuth/Auth and Dynamic On-Device Instrumentation Args
Support reasoning_effort in LLM Config
Unified trails/config/ Classpath Layout
Workspace Config Resolution: .trailblaze/ and trails/config/ Conventions
Unified Provider Auto-Detection Across Host and Android
CLI and MCP Session Management: Device State and Multi-Terminal Behavior
Platform-Native Hierarchical Snapshots with Stable Element Refs
Ref-Based Tap Replaces Node ID Tap
Scripted Tools PR A2 — Synchronous Tool Execution from JS
Scripted Tools PR A3 — Host-Side Subprocess MCP Toolsets (Scope)
Scripted Tools PR A3 Phase 1 — Subprocess MCP Client, Lifecycle, and Registration
Scripted Tools Execution Model (QuickJS + Synchronous Host Bridge)
Scripted Tools — MCP Extension Conventions
Scripted Tools PR A3 — MCP SDK Subprocess Toolsets
Scripted Tools PR A5 — MCP Toolsets Bundled for On-Device
Scripted Tools — Toolset Consolidation & Revised Sequencing
YAML-Defined Tools (the `tools:` mode)
Maestro Scripting & Flow Control — Comparison and Self-Validation
runTrail: Trail-as-Tool Primitive (Proposal)
Scripted Tools — MCP Server Integration Patterns (forward-looking)
Waypoint Discovery via `matchWaypoint` — Agent-Driven, Retroactive
@trailblaze/scripting — Authoring Vision & Roadmap (for TS authors)
Scripting SDK — client.callTool Round-Trip
Scripting SDK — Envelope Migration & Callback Transport (D1 + D2)
A TrailblazeTool is a function call (MCP tool, RPC request — same thing)
On-device MCP tool callbacks — direct QuickJS binding
Trailblaze as the Robot Pattern — and More
Target Trailmaps: Local-First Packaging for Target-Aware Capabilities
Trailmap Manifest V1
Library vs Target Trailmaps
Trailmap config cleanup: id-based targets, implicit tools, transitive dependencies
Trailmap Tools: Nested Subdirectories + Waypoint Auto-Discovery
Waypoint graph viewer: focal+depth, agent prompt tab, dock UX
Waypoint + shortcut graph: planner/executor, express routes, semantic recording
Waypoint --target Flag and Magic capture-example
Why Trailblaze beats code generators
DriverDispatch and the iOS settle gap
Use npm for Trailmap Distribution
Unit-testing scripted tools without a device
Kotlin Canonical, TypeScript Derived
Trail YAML — Unified Per-Test File
Agent-Authored, Human-Readable
Trailblaze Positioning: Developer-First AI Testing and the Trailmap Ecosystem
Playwright tool shims should be code-generated from the Playwright Java SDK
Trailmap-scoped tool naming
Bun is the sole JavaScript runtime
Generated
Generated
Built-in LLM Models
CLI Usage Scenarios
External Config
Functions
Functions
Custom
Custom
assertEquals
assertMath
assertNotEquals
assertNotVisibleWithText
assertVisible
assertWithAi
Compose click
Compose request details
Compose scroll
Compose type
Compose verify element visible
Compose verify text visible
Compose wait
dumpMemory
eraseText
hideKeyboard
inputText
launchApp
mobile pasteClipboard
mobile setClipboard
networkConnection
objectiveStatus
openUrl
playwright desktop launchGoose
pressBack
pressKey
rememberNumber
rememberText
rememberWithAi
Revyl assert
Revyl back
revyl doubleTap
Revyl navigate
revyl pressKey
Revyl swipe
Revyl tap
Revyl type
scrollUntilTextIsVisible
setActiveToolSets
Swipe
takeSnapshot
Tap
tapOnPoint
Wait
waitForChange
web applyCookies
web assertNetworkEvent
Web click
web currentUrl
web fillSecret
web getStorageState
Web hover
Web navigate
web pressKey
web requestDetails
Web resize
Web scroll
web selectOption
Web snapshot
Web type
web verifyElementVisible
web verifyListVisible
web verifyTextVisible
web verifyValue
Web wait
web waitForUrl
Generator
Generator
Index
Mcp
Mcp
MCP Integration
Index
This is a utility to generate Markdown documentation of Trailblaze Tools.