# Editor support (/docs/editor-support)



Actio ships a JSON Schema for `.actio.yml`, so the
[YAML extension](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml)
(which bundles `yaml-language-server`) gives you autocomplete, hover docs, and
validation for the macro keywords — no custom language server required.

The schema inherits the full official
[GitHub Actions workflow schema](https://www.schemastore.org/github-workflow.json)
(vendored from [SchemaStore](https://www.schemastore.org/)) and layers the Actio
macros on top, so you get complete Actions validation *plus* the macro keywords —
nothing from regular Actions is missing. The only hand-maintained piece is
`actio.extensions.json`; run `npm run schema:build -w actio-core` to regenerate, or
`npm run schema:refresh -w actio-core` to pull the latest upstream Actions schema
first.

## Modeline [#modeline]

Add this modeline to the top of any `.actio.yml` file (`actio init` adds it for you):

```yaml
# yaml-language-server: $schema=https://raw.githubusercontent.com/austenstone/actio/main/packages/core/schema/actio.schema.json
```

Prefer a pinned local copy? Write one and point the modeline at it:

```bash
actio schema --out .actio.schema.json
# then: # yaml-language-server: $schema=./.actio.schema.json
```

The schema is also exported from `actio-core` (`actioSchema()`, `actioSchemaPath`,
`ACTIO_SCHEMA_URL`, `SCHEMA_MODELINE`).


## Sitemap

Browse the full documentation: [Markdown sitemap](https://austenstone.github.io/actio/sitemap.md) · [XML sitemap](https://austenstone.github.io/actio/sitemap.xml)