From 7bfe37700bcc4b85a5873bf499e76dc11cb4f99f Mon Sep 17 00:00:00 2001 From: JSONbored <49853598+JSONbored@users.noreply.github.com> Date: Thu, 2 Jul 2026 16:54:13 -0700 Subject: [PATCH 1/4] docs(ui): point maintainer CTAs and GitHub App docs at self-hosting as the default path Self-hosting is now the only way to get real, live PR reviews -- the shared "gittensory" GitHub App + brokered relay is private/managed-beta only (#1939). Docs and CTAs across the site still presented installing the shared App as the primary/first onboarding step, which doesn't work for the general public. - Homepage hero and closing CTAs, /maintainers primary + closing CTAs now point at self-hosting setup instead of the shared App install URL. - docs/github-app.tsx now leads with self-hosting as the recommended path and reframes the shared App as private/managed-beta only; the rest of the page (settings, gate modes, config-as-code) is unchanged since it applies identically to either App. - docs/maintainer-workflow.tsx, docs/maintainer-install-trust.tsx, docs/beta-onboarding.tsx, docs/miner-workflow.tsx, docs/index.tsx: CTAs and "next step" links now point to self-hosting first. - docs-nav.tsx: removed the "Hosted app" subgroup label (implied hosted was the default); the same three pages now live in a "GitHub App & managed beta" subgroup listed after the self-hosting subgroups instead of before them. --- .../src/components/site/docs-nav.tsx | 16 +++++----- .../src/routes/docs.beta-onboarding.tsx | 12 ++++--- .../src/routes/docs.github-app.tsx | 32 +++++++++++++------ apps/gittensory-ui/src/routes/docs.index.tsx | 4 +-- .../routes/docs.maintainer-install-trust.tsx | 4 ++- .../src/routes/docs.maintainer-workflow.tsx | 12 ++++--- .../src/routes/docs.miner-workflow.tsx | 2 +- apps/gittensory-ui/src/routes/index.tsx | 13 +++----- apps/gittensory-ui/src/routes/maintainers.tsx | 10 +++--- 9 files changed, 59 insertions(+), 46 deletions(-) diff --git a/apps/gittensory-ui/src/components/site/docs-nav.tsx b/apps/gittensory-ui/src/components/site/docs-nav.tsx index 80c4eb76c1..6ddd410859 100644 --- a/apps/gittensory-ui/src/components/site/docs-nav.tsx +++ b/apps/gittensory-ui/src/components/site/docs-nav.tsx @@ -27,14 +27,6 @@ export const docsNav: DocsGroup[] = [ { title: "Maintainers", subgroups: [ - { - title: "Hosted app", - items: [ - { to: "/docs/maintainer-workflow", label: "Maintainer workflow" }, - { to: "/docs/github-app", label: "GitHub App" }, - { to: "/docs/maintainer-install-trust", label: "Maintainer install & trust" }, - ], - }, { title: "Self-hosting: setup", items: [ @@ -68,6 +60,14 @@ export const docsNav: DocsGroup[] = [ { to: "/docs/self-hosting-security", label: "Security" }, ], }, + { + title: "GitHub App & managed beta", + items: [ + { to: "/docs/github-app", label: "GitHub App configuration" }, + { to: "/docs/maintainer-workflow", label: "Maintainer workflow" }, + { to: "/docs/maintainer-install-trust", label: "Maintainer install & trust" }, + ], + }, ], }, { diff --git a/apps/gittensory-ui/src/routes/docs.beta-onboarding.tsx b/apps/gittensory-ui/src/routes/docs.beta-onboarding.tsx index 29ca62d67c..e7c4ef0df6 100644 --- a/apps/gittensory-ui/src/routes/docs.beta-onboarding.tsx +++ b/apps/gittensory-ui/src/routes/docs.beta-onboarding.tsx @@ -107,13 +107,14 @@ gittensory-mcp preflight --login your-login --json`}
- Maintainers install the GitHub App, configure per-repo policy, preview what could appear on - a confirmed-miner PR, then pull context on demand. + Maintainers self-host the review stack and install a GitHub App, configure per-repo policy, + preview what could appear on a confirmed-miner PR, then pull context on demand.
- Once installed, the gittensory app reviews every pull request on the repos
- you select. Each review produces two surfaces: the{" "}
- Gittensory Orb Review Agent check run (and the advisory{" "}
+ Once installed, a Gittensory GitHub App reviews every pull request on the
+ repos you select — whether that's your own self-hosted App (recommended; see{" "}
+ self-hosting setup) or, for private
+ managed-beta operators, the shared gittensory App below. Each review produces
+ two surfaces: the Gittensory Orb Review Agent check run (and the advisory{" "}
Gittensory Context check), and a single review comment posted by{" "}
gittensory[bot] that updates in place as the PR evolves. Everything on this
- page configures that review.
+ page configures that review, and applies identically whichever App you install.
- The hosted deployment uses the GitHub App slug gittensory. Start from{" "}
+ Self-hosting is the recommended, default path. Run the review stack
+ yourself, then install your own GitHub App on exactly the repos you choose using the
+ self-host setup wizard — see{" "}
+ self-hosting setup.
+
+ The shared gittensory App is private / managed-beta only — it
+ is not open for general public install. If you've been invited into the managed beta, start
+ from{" "}
the GitHub App install flow
@@ -332,11 +342,13 @@ GITTENSORY_REVIEW_REPOS="JSONbored/gittensory"`}
If the install route changes, check the deployed GITHUB_APP_SLUG before
- publishing setup copy. For the hosted app, the expected slug is gittensory.
+ publishing setup copy. Self-hosted deployments use whatever slug you chose during setup; for
+ the shared managed-beta app the expected slug is gittensory.
- New maintainers should continue with{" "} + New maintainers should start with{" "} + self-hosting setup, then continue with{" "} Maintainer workflow or the{" "} beta onboarding checklist after the health endpoint reports clean permissions and events. diff --git a/apps/gittensory-ui/src/routes/docs.index.tsx b/apps/gittensory-ui/src/routes/docs.index.tsx index 440fb203b3..f030bf1632 100644 --- a/apps/gittensory-ui/src/routes/docs.index.tsx +++ b/apps/gittensory-ui/src/routes/docs.index.tsx @@ -70,10 +70,10 @@ const AUDIENCES: Audience[] = [ description: "Install, tune, or self-host the review system for your repos.", primary: { to: "/docs/beta-onboarding", label: "Beta onboarding" }, links: [ + { to: "/docs/maintainer-self-hosting", label: "Self-host reviews" }, { to: "/docs/maintainer-install-trust", label: "Install & trust guide" }, - { to: "/docs/github-app", label: "Install the GitHub App" }, + { to: "/docs/github-app", label: "GitHub App configuration" }, { to: "/docs/maintainer-workflow", label: "Maintainer workflow" }, - { to: "/docs/maintainer-self-hosting", label: "Self-host reviews" }, { to: "/docs/self-hosting-rees-analyzers", label: "REES analyzers" }, { to: "/docs/upstream-drift", label: "Upstream drift" }, { to: "/docs/ai-summaries", label: "AI summaries policy" }, diff --git a/apps/gittensory-ui/src/routes/docs.maintainer-install-trust.tsx b/apps/gittensory-ui/src/routes/docs.maintainer-install-trust.tsx index d266c89885..fd837eac59 100644 --- a/apps/gittensory-ui/src/routes/docs.maintainer-install-trust.tsx +++ b/apps/gittensory-ui/src/routes/docs.maintainer-install-trust.tsx @@ -43,7 +43,9 @@ function MaintainerInstallTrust() {
- Start from GitHub App setup, then keep the first rollout + Start from self-hosting setup (the + recommended, default path — you install your own App) or{" "} + GitHub App configuration, then keep the first rollout narrow until the repo owner has verified permissions, webhook delivery, and public copy.
- New installations should start with GitHub App setup: - install on one repo, verify installation health, preview the public panel, then decide - whether Gittensory Orb Review Agent should become a required check. + New installations should start with{" "} + self-hosting setup, then{" "} + GitHub App configuration: install on one repo, verify + installation health, preview the public panel, then decide whether{" "} + Gittensory Orb Review Agent should become a required check.
- Install Gittensory on a repo and your review surface stays calm. No always-on check + Self-host Gittensory on a repo and your review surface stays calm. No always-on check runs. No public scoring. You opt into confirmed-miner context, packets, and diagnostics with explicit commands.
@@ -41,16 +41,20 @@ function GithubApp() {
managed-beta operators, the shared gittensory App below. Each review produces
two surfaces: the Gittensory Orb Review Agent check run (and the advisory{" "}
Gittensory Context check), and a single review comment posted by{" "}
- gittensory[bot] that updates in place as the PR evolves. Everything on this
- page configures that review, and applies identically whichever App you install.
+ gittensory[bot] that updates in place as the PR evolves. The review behavior
+ below this page's Install section (PR panel, checks, gate modes, config-as-code) applies
+ identically whichever App you install — but the App's{" "}
+ install steps and required permissions differ, since a self-hosted App needs write
+ access the shared App does not.
Self-hosting is the recommended, default path. Run the review stack yourself, then install your own GitHub App on exactly the repos you choose using the - self-host setup wizard — see{" "} - self-hosting setup. + self-host setup wizard. The direct App's required permissions and events are covered in{" "} + GitHub App and Orb — use that page's + checklist, not the one below, for a self-hosted install.
The shared gittensory App is private / managed-beta only — it
@@ -76,6 +80,12 @@ function GithubApp() {
pull_request, and repository.
Pull requests: write (not read) and Checks: write is mandatory,
+ not optional — see GitHub App and Orb for
+ the direct App's exact permission and event list.
+ - Start from self-hosting setup (the - recommended, default path — you install your own App) or{" "} - GitHub App configuration, then keep the first rollout - narrow until the repo owner has verified permissions, webhook delivery, and public copy. + Self-hosting is the recommended, default path. Start from{" "} + self-hosting setup — the direct App's + required permissions and events are covered in{" "} + GitHub App and Orb, not the checklist below. + Either way, keep the first rollout narrow until the repo owner has verified permissions, + webhook delivery, and public copy. +
++ The checklist below is for the shared private / managed-beta only App — see{" "} + GitHub App configuration for the install flow.
Pull requests: write (not read) and{" "}
+ Checks: write is mandatory, not optional — this checklist's permissions are
+ scoped to the shared managed-beta App only.
+