diff --git a/.gittensory.yml b/.gittensory.yml
index a4e02486ad..8c9aa0954f 100644
--- a/.gittensory.yml
+++ b/.gittensory.yml
@@ -48,6 +48,16 @@ gate:
# provider: anthropic # anthropic | openai — which BYOK provider (the secret key is set via the dashboard, never here)
# model: claude-3-5-sonnet-latest # optional model override for the BYOK write-up
+# Public review-panel content overrides (config-as-code). Maintainer text is dropped if it fails the
+# public-safe filter; the Gittensor attribution + register link always stay appended to the footer.
+# review:
+# footer:
+# text: "Reviewed by the Acme maintainer bot." # custom lead line (attribution still appended)
+# note: "Run the test suite before requesting review." # short intro line shown above the panel
+# fields: # show/hide rows (default: all shown). Keys:
+# relatedWork: false # linkedIssue | relatedWork | reviewLoad |
+# openPrQueue: false # validationEvidence | openPrQueue | contributorContext | gateResult
+
publicNotes:
- Prefer backend Workers, MCP, GitHub App, registry, and scoring work when scope allows.
- Focused control-panel UI changes are welcome when they use live API data or honest empty/error states and tie to safety, release readiness, or operator-facing analytics.
diff --git a/apps/gittensory-ui/src/routes/docs.github-app.tsx b/apps/gittensory-ui/src/routes/docs.github-app.tsx
index ecb471d09c..8a53450156 100644
--- a/apps/gittensory-ui/src/routes/docs.github-app.tsx
+++ b/apps/gittensory-ui/src/routes/docs.github-app.tsx
@@ -124,6 +124,44 @@ GET /v1/installations/:id/repair`}
qualityGateMinScore threshold is configured.
.gittensory.yml)
+
+ Every setting can be committed to .gittensory.yml at the repo root instead of,
+ or layered over, the dashboard. Precedence is .gittensory.yml > repository
+ settings > safe defaults; an unset field falls back to the next layer. It only chooses{" "}
+ what Gittensory does — only confirmed Gittensor contributors are ever hard-blocked,
+ regardless of config.
+
+ Maintainer-supplied footer and note text is dropped if it contains forbidden public language + (reward, score, wallet, hotkey, payout, etc.); the Gittensor attribution and register link + always remain on the footer. +
+
For repos like JSONbored/gittensory and awesome-claude, enable PR
diff --git a/apps/gittensory-ui/src/routes/index.tsx b/apps/gittensory-ui/src/routes/index.tsx
index 500c4e12b8..eabe89be18 100644
--- a/apps/gittensory-ui/src/routes/index.tsx
+++ b/apps/gittensory-ui/src/routes/index.tsx
@@ -13,6 +13,9 @@ import { TrustStrip } from "@/components/site/trust-strip";
import { describeApiStatus, pingHealth, useApiStatus } from "@/lib/api/status";
import { MCP_PACKAGE_NAME, getLatestMcpVersion, useMcpPackageMetadata } from "@/lib/mcp-package";
+/** Canonical GitHub App install URL (app slug `gittensory`) — dead-simple one-click maintainer onboarding. */
+const GITHUB_APP_INSTALL_URL = "https://github.com/apps/gittensory/installations/new";
+
export const Route = createFileRoute("/")({
head: () => ({
meta: [
@@ -75,6 +78,14 @@ function Hero() {
Plan better work, preflight branches, and keep maintainer review surfaces quiet.