Local Development
If you want to work on ado-aw itself, a local Rust-based development setup is enough for most compiler and documentation tasks.
Prerequisites
Section titled “Prerequisites”- Rust 1.94.0 or later (the project uses the Rust 2024 edition)
- Git
- An editor of your choice
Install or update Rust:
rustup toolchain install stablerustup default stablerustc --version # must be 1.94.0 or laterBuild from source
Section titled “Build from source”-
Navigate to the repository root:
Terminal window cd /path/to/ado-aw -
Build the project:
Terminal window cargo buildFor an optimized release build:
Terminal window cargo build --release
Run the test suite
Section titled “Run the test suite”Use the standard Rust workflow while developing:
cargo testcargo clippyThese commands help catch regressions and style issues before you commit changes.
Test compilation locally
Section titled “Test compilation locally”-
Compile an example or your own agent file:
Terminal window cargo run -- compile path/to/agent.md -
Verify the generated YAML matches the source definition:
Terminal window cargo run -- check path/to/agent.lock.yml
Iterate on documentation or compiler changes
Section titled “Iterate on documentation or compiler changes”A common local development loop for compiler work:
-
Build the project:
Terminal window cargo build -
Run the test suite:
Terminal window cargo test -
Compile a test agent to verify your changes:
Terminal window cargo run -- compile path/to/agent.md -
Verify the compiled output matches expectations:
Terminal window cargo run -- check path/to/agent.lock.yml
Work on the docs site
Section titled “Work on the docs site”The docs site lives in site/ and is built with Astro + Starlight.
-
Install dependencies:
Terminal window cd sitenpm ci -
Start the development server:
Terminal window npm run devThe site is served at
http://localhost:4321/ado-aw/. Changes to.mdxfiles reload automatically. -
Or do a full build to confirm all pages compile and internal links are valid:
Terminal window npm run build:astrobuild:astrois faster thannpm run buildbecause it skips the Slidev slide export step. Use it for most content iterations.
What to verify before submitting changes
Section titled “What to verify before submitting changes”- the project builds successfully
- tests pass
- your sample pipeline compiles cleanly
- generated YAML matches the markdown source when checked