Getting started
Repo Readiness
What repo readiness means, why setup drifts, and how ota makes readiness explicit in ota.yaml.
Recommended next
What repo readiness means
Repo readiness is the practical state where a cloned repository can explain what it needs, diagnose what is missing, prepare itself, and run the declared tasks without relying on stale prose or tribal knowledge.
A ready repo is not just a repo with code. It has an explicit operating contract for setup, checks, runtime boundaries, task execution, and automation handoff.
- contributors can see the first blocker before they start editing
- CI can validate the same contract humans use locally
- automation can consume JSON output instead of scraping README text
- AI agents can follow declared safe tasks and writable paths instead of guessing
Why setup drifts
Most repositories start with useful setup notes, then the truth spreads into scripts, package manifests, Docker files, CI config, environment files, and old pull requests.
That drift creates a hidden onboarding tax: every new contributor, CI job, and coding agent has to rediscover the same operational shape from fragments.
Problem
README drift
Setup prose says what used to be true, while scripts and manifests keep evolving.
Problem
Local and CI mismatch
Local commands and CI jobs diverge when neither one is declared as the shared source of truth.
Problem
Agent guesswork
AI agents do useful work only when task safety, verification, and writable boundaries are explicit.
How ota makes readiness explicit
ota.yaml turns readiness into a reviewed repo contract. The contract names runtimes, tools, tasks, services, environment sources, safe agent behavior, and verification paths.
The core loop is deliberately small: diagnose first, validate the contract, prepare the repo, then run declared tasks.
ota doctorota validateota up --dry-runota upota run testWhere it fits
- open source projects that want first-run setup to be repeatable
- platform teams standardizing readiness checks across many repos
- CI pipelines that need stable machine-readable readiness output
- AI-assisted engineering workflows that need safe task and file boundaries
- multi-repo workspaces where member readiness has to roll up cleanly