.autosana/ folder. When you push to your default branch, Autosana syncs those files and materializes them as flows and suites in your dashboard. This is GitOps for your tests: your repository is the source of truth, changes go through pull requests, and every definition is code-reviewed alongside the app it tests.
How it works
- You define flows, suites, and hooks as files under
.autosana/in your repo - On a push to your default branch, Autosana fetches
.autosana/, validates every file, and materializes the changes - On a pull request, Autosana previews the proposed flow definitions and posts a GitHub check
- The dashboard shows the resulting flows and suites as read-only; edit them by pushing to the repo
Files & Schema
The repository layout and the full flow, suite, hook, and config file reference
Running from the CLI
Run your tests on your own device, on cloud devices, or from a branch
Syncing & Pull Requests
Validate locally, preview changes on pull requests, and read the sync check
Migrating
Export the flows you already have and let the sync adopt them
Enabling code-managed flows
Code-managed flows are powered by the GitHub Bot, so install the GitHub App first if you haven’t.- Connect your repository in Settings > Integrations > GitHub
- Commit your flow, suite, and hook files under
.autosana/ - Push to the default branch to sync them, or open a pull request to preview the changes
.autosana/ has been detected. For a folder below the repository root, set the repo’s Root directory first (see Monorepos).
You need to be an admin of your Autosana organization to install the GitHub App and manage integration settings.
Read-only in the dashboard
A flow, suite, or hook is code-managed when it originates from a connected repository. Code-managed rows are read-only in the dashboard: to change one, edit the YAML (or script) in your repository and push, or open a PR to preview the change first. On the Flows page, use View to inspect a flow or suite without editing it, or select the GitHub icon to open its source file directly. Read-only applies to the definition, not execution. You can still run code-managed flows and suites from the dashboard, and from the terminal. Environment values stay in the dashboard. Flow and suite overrides can be defined in YAML withvariables.
Deleting files and pushing archives their corresponding flows, suites, and hooks. Their history remains available; removing a file does not turn its archived definition into a dashboard-editable flow.
Repository context
Add.autosana/autosana.md to share plain Markdown context with the test agent. Use it for app terminology, navigation hints, and conventions that apply across tests. No frontmatter or YAML is required. The file must be UTF-8 text, at most 64 KiB.
.autosana/autosana.md
Migrating existing flows
Already have flows in the dashboard? Export them to files and let the first sync adopt them with their history: see Migrating.Use with Claude Code
If you use Claude Code, install the Autosana plugin so Claude knows the.autosana/ schema, the validate-before-push workflow, and the gotchas. It can then scaffold and fix flows, suites, and hooks for you in one pass, and validate them before you push:
/autosana:code-managed-flows, or just start editing files under .autosana/ and Claude pulls in the skill automatically. The plugin is open source at Autosana/claude-code-plugin.