Docs · Agents

Project routines

Commit .vinos/routines.yaml next to your code. Teammates run vinos-routine load . after clone and inherit the same agent set.

The way .github/workflows/ gave every repo the same CI, .vinos/ routines.yaml gives every clone the same routines. One file, one command, same agents everywhere.

The manifest

Drop this at the repo root as .vinos/routines.yaml:

# .vinos/routines.yaml
version: 1
project: acme-monorepo

routines:
  - name: pr-review
    file: .vinos/routines/pr-review.toml
    require: [gh]

  - name: nightly-security-scan
    file: .vinos/routines/nightly-security-scan.toml
    require: [semgrep, trivy]

  - name: release-notes-draft
    file: .vinos/routines/release-notes-draft.toml
    when: tag  # only enabled on tag pushes

Then each referenced TOML lives at the path given — same schema as any other routine (see writing your own).

Load

From inside the repo, one command installs every routine into a project-scoped subdir under ~/.vinos/routines/<project>/:

$ cd ~/code/acme-monorepo
$ vinos-routine load .
→ read .vinos/routines.yaml (3 routines)
→ verified deps: gh ✓  semgrep ✓  trivy ✓
→ installed:
    pr-review               → ~/.vinos/routines/acme-monorepo/pr-review.toml
    nightly-security-scan   → ~/.vinos/routines/acme-monorepo/nightly-security-scan.toml
    release-notes-draft     → ~/.vinos/routines/acme-monorepo/release-notes-draft.toml
→ enable individually with: vinos-routine enable <name>

--dry-run inspects without writing. --scope=user (default is project) installs into your top-level ~/.vinos/routines/ instead of a subdir — useful when you’re the only user.

Unload

Reverses a load. Only removes what this YAML installed:

$ vinos-routine unload .
→ read .vinos/routines.yaml
→ disabled + removed 3 routines

Precedence

When two routines share a name across scopes, the closer one wins:

1. ~/.vinos/routines/<project>/*.toml   (project-scoped, from `load`)
2. ~/.vinos/routines/*.toml              (user, hand-authored)
3. /etc/vinos/routines/*.toml           (system defaults, shipped in ISO)

Full spec: vinos-routines-yaml-spec.md.

Next: tools and the sandbox.