.sightmap/. It describes the app’s views, components, and requests, with optional memory entries that carry notes agents can use at runtime.
These pages explain the format. The Schema reference provides the field-by-field contract and is generated from the canonical spec.
What’s in a sightmap
The main kinds of definitions, all optional:Views
Named screens identified by URL routes.
Components
Named DOM subtrees identified by CSS selectors.
Requests
Named API endpoints identified by route patterns.
Messages and signals
Named console and exception patterns, and named predicates over page state.
Environments and origins
Named deploy targets and hosts that views and requests run on.
Memory
Short freeform notes attached to any definition.
*.yaml and *.yml file under .sightmap/ is discovered recursively and merged. The directory layout is for authors; it has no semantic meaning.
Top-level fields
Every file begins withversion: 1. All other top-level keys are optional.
components and requests at the file root are global and match against every view. Nest them inside a view to limit them to that view. Scoped definitions are additive with globals, except that a view-scoped $ref subsumes a global component with the same name. Entries in any components: array may be $ref references to shared definitions. See Components and Requests for the matching rules. messages and signals exist only at the file root, and environments and origins merge into project-wide registries; see Messages and signals and Environments and origins.
Two versioning axes
The spec and the project that publishes it move independently.- The spec stream is the integer in the YAML
version:field. It is currently1and changes only when the format has a breaking change. - The project semver describes how settled stream
1is. It is currently0.1.0. Before1.0.0, the spec may be tightened or clarified in place. Project releases are published on GitHub Releases. After1.0.0, the rules in Versioning become commitments.
1 for a long time. A version: 2 would mean a new spec/v2/ directory and a real, accepted breaking change.
A small example
.sightmap/home.yaml