YaOSDeveloper Experience · Coding Harness
YaOS / Platform / Developer Experience / Coding Harness / project.yaml
Project Setup

project.yaml

Canonical repository-level harness configuration.
REFERENCE

Each onboarded repository should declare its harness contract in .harness/project.yaml. The central harness owns the schema; the repository owns its values.

Example

project:
  name: catalog-iq
  type: service
  owner: ai-engineering

profiles:
  - python
  - api
  - ai
  - langgraph
  - rag

commands:
  setup: "uv sync"
  test: "pytest -q"
  lint: "ruff check ."
  format_check: "ruff format --check ."
  typecheck: "pyright"
  eval: "python evals/run_evals.py"

architecture:
  document: "docs/ARCHITECTURE.md"
  decisions_dir: "docs/decisions"
  exec_plans_dir: "docs/exec-plans"

risk:
  pii: false
  customer_data: true
  payments: false
  production_deploy: true

protected_paths:
  - "migrations/**"
  - "infra/**"
  - ".github/workflows/**"

context:
  max_always_loaded_tokens: 1200
  progressive_loading: true

required_skills:
  rag_changes:
    - rag-eval
  prompt_changes:
    - write-evals
  before_pr:
    - pr-self-review

What does not belong here

Long coding standards, prompt recipes and framework documentation. YAML should declare facts and routing decisions, not become prose in disguise.