ATO Language

Reference ATO DSL syntax and semantics for editing .ato files and ato.yaml.

3.6k|225|Updated Dec 19, 2023
One-click install
npx skills add https://github.com/atopile/atopile --skill ato-language
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ATO Language
Source: https://github.com/atopile/atopile/tree/main/.claude/skills/ato_language
Command: npx skills add https://github.com/atopile/atopile --skill ato-language

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a canonical repository-local reference for the ATO Language, enabling LM-assisted editing to be consistent and less error-prone when working with .ato files and ato.yaml.

Core Features & Use Cases

  • Canonical reference guide for ATO syntax and semantics to reduce ambiguity in edits.
  • Experiment gating and pragma guidance to safely evolve language features.
  • Quick-start workflows and editor tips to validate changes and improve collaboration on the atopile project.

Quick Start

To begin, read the ATO Language guide in this skill, then run ato build to validate repository changes. For targeted testing of compiler or LSP behavior, run ato dev test --llm -k ato. To experiment with gated syntax, add a pragma at the top of an .ato file, e.g. pragma experiment("FOR_LOOP").

Frequently Asked Questions about ATO Language

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is the ATO declarative DSL used for in electronics design?

The ATO declarative DSL is a domain-specific language for electronics design, used to define hardware configurations in .ato files and ato.yaml. It enables consistent, less error-prone, language model-assisted editing for developers and technical writers.

How do I validate changes made to .ato files and ato.yaml configurations?

To validate changes to .ato files, run the ato build command. For targeted testing of compiler or language server protocol behavior, execute ato dev test --llm -k ato to ensure your declarative DSL edits function correctly.

Can I use language model-assisted editing with ATO files without syntax errors?

Yes, you can use language model-assisted editing with ATO files by referencing a canonical guide for syntax and semantics. This reduces ambiguity, prevents syntax errors, and ensures SKILL.md frontmatter and operational instructions are correctly defined.

How do I enable experimental syntax features like FOR_LOOP in an .ato file?

To enable experimental syntax in an .ato file, add a pragma at the top of the file, such as pragma experiment("FOR_LOOP"). This experiment gating mechanism allows you to safely evolve and test new declarative DSL language features.

What are the requirements for defining operational instructions in an ATO SKILL.md file?

The requirements for an ATO SKILL.md file state that the frontmatter must define a name and description, the body must provide operational instructions, and optional resources directories must be recognized for the declarative DSL workflow.