# █████ # ░░███ # ██████ ███████ ██████ # ███░░███░░░███░ ░░░░░███ # ░███ ░███ ░███ ███████ # ░███ ░███ ░███ ███ ███░░███ # ░░██████ ░░█████ ░░████████ # ░░░░░░ ░░░░░ ░░░░░░░░ # # Copyright (C) 2026 — 2026, Ota. All Rights Reserved. # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # Licensed under the Apache License, Version 2.0. See LICENSE for the full license text. # You may not use this file except in compliance with that License. # Unless required by applicable law or agreed to in writing, software distributed under the # License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, # either express or implied. See the License for the specific language governing permissions # and limitations under the License. # # If you need additional information or have any questions, please email: os@ota.run version: 1 project: name: basic-rust description: Basic Rust repo with a Rustup-backed toolchain and Cargo tasks type: application toolchains: rust: version: "1.94.0" components: - rustfmt tasks: setup: description: Fetch Cargo dependencies prepare: kind: dependency_hydration medium: package_dependencies source: kind: cargo cwd: . requirements: toolchains: - rust effects: network: true network_kind: dependency_hydration build: description: Compile the crate command: exe: cargo args: - build depends_on: - setup requirements: toolchains: - rust fmt: description: Check Rust formatting through the selected toolchain command: exe: cargo args: - fmt - --check depends_on: - setup requirements: toolchains: - rust test: description: Run the Cargo test suite command: exe: cargo args: - test depends_on: - fmt - build requirements: toolchains: - rust workflows: default: verify verify: description: Canonical Rustup-backed setup, format, build, and verification path setup: task: setup run: task: test notes: | Use this when you want the repo front door instead of calling Cargo commands ad hoc. agent: entrypoint: setup default_task: test safe_tasks: - setup - fmt - build - test verify_after_changes: - fmt - test writable_paths: - src - tests - docs protected_paths: - ota.yaml notes: | Use `ota workflows` to inspect the main Rust path before running direct tasks. The selected Rust toolchain is the owner for `cargo` and `rustfmt`; do not restate those capabilities under `runtimes` or `tools`. Use `ota run test` after edits and keep changes small and reviewable. Use `ota run build` to confirm the crate still compiles before broader verification.