{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/cultureamp/concierge-schema/main/concierge.schema.json", "$comment": "Generated by bin/gen-concierge-schema - DO NOT EDIT", "title": "concierge.yaml", "type": "object", "properties": { "additionalRepos": { "description": "Standing sibling repos cloned on every run of this write repo. One hop only; yaml on a yaml-added repo is ignored.", "type": "array", "items": { "type": "object", "properties": { "repo": { "type": "string", "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$", "description": "GitHub repository in org/repo format" }, "access": { "type": "string", "enum": ["write", "read"], "description": "write: clone and allow PRs; read: clone for context only" } }, "required": ["repo", "access"], "additionalProperties": false } }, "reviewGate": { "description": "Per-repo tuning of the review gate.", "type": "object", "properties": { "autoApprove": { "description": "Opt in to Concierge auto-approve. When true and the repo has the review gate enabled, Concierge submits an informational APPROVE review on eligible PRs. Overridden by teams.json's reviewGateAutoApprove when a team or repo sets one.", "type": "boolean" }, "autoApproveRiskCeiling": { "description": "Maximum risk level that Concierge may auto-approve. A repo may lower its ceiling below the global default (high) but not raise it. Omit to use the global default. Overridden by teams.json's reviewGateAutoApproveRiskCeiling when a team or repo sets one.", "type": "string", "enum": ["low", "medium", "high"] }, "excludeCommitAuthors": { "description": "Whether an approver who authored a commit on the PR head is excluded from counting as an independent approver. Default true. Set false to disable this exclusion for the repo. Overridden by teams.json's reviewGateExcludeCommitAuthors when a team or repo sets one.", "type": "boolean" }, "requireIndependentReviewer": { "description": "Whether a Concierge-requested PR requires approval from someone other than the requestor (separation of duties). Default true. Set false to let the requestor's own approval satisfy the gate. Overridden by teams.json's reviewGateRequireIndependentReviewer when a team or repo sets one.", "type": "boolean" } }, "additionalProperties": false }, "skills": { "description": "Externally-sourced Claude skills staged on every workflow run of this repo. Each entry is a cultureamp repo (owner/repo); omit `path` for whole-repo discovery (every SKILL.md dir), or set `path` to a single skill's SKILL.md directory. `ref` is reserved — v1 always uses the default branch and records its resolved SHA.", "type": "array", "items": { "type": "object", "properties": { "repo": { "type": "string", "pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$", "description": "GitHub repository in org/repo format" }, "path": { "type": "string" }, "ref": { "type": "string" } }, "required": ["repo"], "additionalProperties": false } } }, "additionalProperties": {}, "description": "Repo-owned standing sibling contract for Concierge" }