Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,11 @@ function SelfHostingConfiguration() {
description:
"Private self-host only — illustrative fleet global default and per-repo overlay (deep-merge). Never commit real policy into these example paths.",
},
{
title: "shared.gittensory.yml",
description:
"Private self-host only — lowest-priority cross-repo house policy for an operator running many repos (#1959). Write a default once instead of copy-pasting it into every repo's file.",
},
]}
/>
<CodeBlock
Expand Down Expand Up @@ -164,6 +169,13 @@ cp config/examples/global.gittensory.yml gittensory-config/.gittensory.yml`}
</a>{" "}
— catalog + fleet usage notes
</li>
<li>
<a href="https://github.com/JSONbored/gittensory/blob/main/config/examples/README.md">
<code>config/examples/README.md</code>
</a>{" "}
— the full private-config layout, precedence chain, and deep-merge semantics, including
the shared base layer
</li>
</ul>
<p>
Several gate-only fields are documented only in the full template comments — see below for
Expand Down
2 changes: 2 additions & 0 deletions config/examples/TEMPLATES.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ mount (`GITTENSORY_REPO_CONFIG_DIR`).
| [`gittensory.full.yml`](./gittensory.full.yml) | Exhaustive commented reference — every `gate:`, `settings:`, `review:`, and `features:` field |
| [`global.gittensory.yml`](./global.gittensory.yml) | **Private only** — illustrative fleet-wide default for a self-host mount |
| [`repo-override.gittensory.yml`](./repo-override.gittensory.yml) | **Private only** — per-repo overlay deep-merged over `global.gittensory.yml` |
| [`shared.gittensory.yml`](./shared.gittensory.yml) | **Private only** — lowest-priority cross-repo house policy for multi-repo operators (#1959) |

Canonical copies of the minimal and full templates also live at the repo root as
[`.gittensory.minimal.yml`](../../.gittensory.minimal.yml) and
Expand All @@ -25,6 +26,7 @@ in sync with those files.
| **Public** | `.gittensory.yml` or `.github/gittensory.yml` in git | Contributors | `wantedPaths`, test expectations, public review presentation |
| **Private global** | `${GITTENSORY_REPO_CONFIG_DIR}/.gittensory.yml` | Operator only | Shared autonomy baseline, contributor caps, maintainer allowlists |
| **Private per-repo** | `${GITTENSORY_REPO_CONFIG_DIR}/owner__repo/.gittensory.yml` | Operator only | Repo-specific CI context names, AI mode, overrides |
| **Private shared base** | `${GITTENSORY_REPO_CONFIG_DIR}/_shared/.gittensory.yml` | Operator only | Lowest-priority cross-repo house policy for an operator running many repos (#1959) — see [README's "Shared base layer" section](./README.md#shared-base-layer-multi-repo-operators-1959) |

When **either** a private global or private per-repo file exists, the loader **never fetches** the
public repo file for that review — mount private policy deliberately. See [README.md](./README.md)
Expand Down
1 change: 1 addition & 0 deletions config/examples/gittensory.full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
# gittensory.full.yml — this file — every gate:/settings:/review:/features: field documented
# global.gittensory.yml — private fleet global default (illustrative placeholders only)
# repo-override.gittensory.yml — private per-repo overlay example
# shared.gittensory.yml — private cross-repo house policy, lowest-priority layer (#1959)
#
# ============================================================================
# .gittensory.yml — per-repo configuration for gittensory CI & gittensory review
Expand Down
8 changes: 5 additions & 3 deletions config/examples/gittensory.minimal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
#
# WHERE TO COPY (pick one):
# PUBLIC REPO — repo root as `.gittensory.yml` (or `.github/gittensory.yml`). Contributors can read it.
# PRIVATE SELF-HOST — `${GITTENSORY_REPO_CONFIG_DIR}/.gittensory.yml` (global default) or
# `${GITTENSORY_REPO_CONFIG_DIR}/owner__repo/.gittensory.yml` (per-repo override). Never commit real
# policy here to a public repo — use the private mount for thresholds, allowlists, and autonomy.
# PRIVATE SELF-HOST — `${GITTENSORY_REPO_CONFIG_DIR}/.gittensory.yml` (global default),
# `${GITTENSORY_REPO_CONFIG_DIR}/owner__repo/.gittensory.yml` (per-repo override), or
# `${GITTENSORY_REPO_CONFIG_DIR}/_shared/.gittensory.yml` (lowest-priority cross-repo base, #1959).
# Never commit real policy here to a public repo — use the private mount for thresholds,
# allowlists, and autonomy.
#
# Canonical copy also lives at the repo root as `.gittensory.minimal.yml` (kept in sync by CI).
# For every supported field, defaults, and allowed values see `gittensory.full.yml` or
Expand Down
Loading