From 5700e0f4b5a84780688aaab41345e99ad2ccffcf Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Mon, 2 Nov 2026 22:50:12 +0000 Subject: [PATCH] docs: catch up mint instructions topics with recent docs changes --- mint-instructions/automate.mdx | 12 ++++++------ mint-instructions/new-site.mdx | 12 +++++++----- mint-instructions/overview.mdx | 4 ++-- mint-instructions/publish.mdx | 6 +++--- mint-instructions/publish/assistant.mdx | 2 +- mint-instructions/publish/repo.mdx | 5 +++-- mint-instructions/troubleshoot.mdx | 3 ++- 7 files changed, 24 insertions(+), 20 deletions(-) diff --git a/mint-instructions/automate.mdx b/mint-instructions/automate.mdx index d2880a729..0be5c5cc5 100644 --- a/mint-instructions/automate.mdx +++ b/mint-instructions/automate.mdx @@ -11,8 +11,8 @@ Use this to keep docs current or check them on every pull request. Most setup is - Fail a PR on broken builds or links, in any CI, any plan: add `mint validate` and `mint broken-links` to the user's own CI (below). - Broken internal links and Vale prose linting on GitHub PRs, no CI file: Mintlify CI checks (Pro or Enterprise, GitHub only). -- Recurring or triggered doc updates (code merged, content pushed, schedule, integration event, webhook): an automation (Pro or Enterprise). -- "Just keep docs up to date", no prompts or triggers to configure: Autopilot (Pro or Enterprise, GitHub or GitLab including self-hosted). +- Recurring or triggered doc updates (code merged, content pushed, schedule, integration event, webhook): an automation (Enterprise). +- "Just keep docs up to date", no prompts or triggers to configure: Autopilot (Pro or Enterprise, on GitHub, GitLab including self-hosted, or Azure Repos). - One-off or exploratory change: the Mintlify agent in Slack, the web editor, or the dashboard. ## Workflow @@ -23,8 +23,8 @@ Use this to keep docs current or check them on every pull request. Most setup is 4. Agent guidance: write `.mintlify/AGENTS.md`. A root `AGENTS.md` also works but is served publicly at `/agents.md` unless you add it to `.mintignore`. The Mintlify agent reads only `AGENTS.md`, not `CLAUDE.md`, `.cursorrules` or similar, so copy shared rules in. The editor agent ignores `AGENTS.md`; it uses **AI instructions** in editor settings. 5. Automations: you can manage them from the terminal when the user is logged in (`mint login`): `mint automations list`, `mint automations delete `, and `mint automations create` with `--name`, `--prompt`, `--type` (predefined: `changelog`, `source-code-agent`, `translations`, `writing-style`, `typo-check`, `broken-link-detection`, `seo-metadata-audit`, `assistant-docs-updates`, `contextual-feedback-docs-updates`), a trigger (`--cron "<5-field cron>"` or `--push-repo owner/repo`), optional `--context-repo`, `--automerge`, or `--file `. Confirm name, trigger, and prompt with the user before creating. Otherwise the user uses **Automations** in the dashboard. Prompts: one task, numbered steps, exact paths, done state. 6. Test: user clicks **Test run** / **Run now** and picks a scope (**Since a date**, **Everything**, **Specific pull request**). Not available for Integration or Webhook triggers. Check the **Runs** tab. -7. Autopilot: user opens https://app.mintlify.com/products/autopilot, switches on the toggle, picks **Additional repositories** under GitHub **Configure** (GitLab: **Additional projects**, after connecting projects through GitLab OAuth in Git settings), and uses **Chat to configure** to change reviewers, target branch, or schedule. -8. Slack agent: user clicks **Connect Slack** on the Automations page and installs the `mintlify` app (workspace admin approval may be needed; on Enterprise Grid install to the specific workspace). Test with a DM or `@mintlify` in a channel. Not available for Bitbucket Cloud projects. +7. Autopilot: user opens https://app.mintlify.com/products/autopilot, switches on the toggle, picks **Additional repositories** under GitHub **Configure** (GitLab: **Additional projects**, after connecting projects through GitLab OAuth in Git settings. Azure Repos: **Configure** in the **Azure Repos** row), and uses **Chat to configure** to change reviewers, target branch, or schedule. +8. Slack agent: user clicks **Connect Slack** on the Automations page and installs the `mintlify` app (workspace admin approval may be needed; on Enterprise Grid install to the specific workspace). Test with a DM or `@mintlify` in a channel. The Slack agent also chats with Autopilot: ask about its work or change what it works on. Not available for Bitbucket Cloud projects. ## What each piece does @@ -33,13 +33,13 @@ Use this to keep docs current or check them on every pull request. Most setup is - Automations: one trigger each. **Content update** (push to docs repo), **Code change** (PR merged in source repos; per-repo path filters and excluded authors, up to 50 repos), **Custom schedule** (presets or 5-field cron), **Integration** (Enterprise, custom only), **Webhook** (custom only, `POST` with `Authorization: Bearer `, an organization API key with write access). - Predefined: Update from code changes (needs a source repo, default twice weekly), Draft changelog, Fill gaps from assistant conversations, Improve docs from user feedback (feedback collection on), Update from support feedback (Intercom, Plain, Pylon, or Zendesk), Translate content (needs a target language, direct merge), Fix broken links, Fix SEO issues, Fix grammar & typos, Enforce your style guide. Custom: your own prompt. - Output: PRs against the deploy branch, titled with the automation name. No per-automation base branch; to land elsewhere, change the project's deploy branch in Git Settings or use a separate project. Update mode: **Modify and wait for review** (PR) or **Update and merge changes** (GitHub needs the Mintlify GitHub App on the bypass list, mode **Always**, of every ruleset on the deploy branch). Up to 10 context repos. -- Autopilot: decides what to update itself, avoids duplicating active automations, never pushes to the deploy or default branch, assigns the code owner as reviewer. Default: updates on code changes plus a daily quality check. +- Autopilot: decides what to update itself, avoids duplicating active automations, never pushes to the deploy or default branch, assigns the code owner as reviewer (not on Azure Repos). Default: updates on code changes plus a daily quality check. - Integrations (Enterprise): read-only tools and triggers for automations (Confluence, Jira, Linear, Notion, Stripe, Zendesk, Slack). ## Plans and credits - Starter has no AI features and cannot buy credits. -- Each Pro plan adds 10,000 credits per month to one organization-wide balance. +- Each Pro plan adds 10,000 credits per month to one organization-wide balance. A project with a credit allocation (Pro or Enterprise) spends it first. - Automation run that updates docs: 250 credits. Autopilot run that opens or updates a PR: 250. Runs that find nothing or fail: 0. Editor and Slack agent: no credits. - Scheduled runs batch changes into one 250-credit update; push triggers vary with change volume. Max 500 runs per automation per day. Autopilot pauses itself when credits run out. diff --git a/mint-instructions/new-site.mdx b/mint-instructions/new-site.mdx index 2b3366b6a..c83145bde 100644 --- a/mint-instructions/new-site.mdx +++ b/mint-instructions/new-site.mdx @@ -16,6 +16,7 @@ Copy this into your plan and check items off: - [ ] scaffold or add docs.json, write real pages - [ ] mint dev --no-open, report the local URL - [ ] mint validate and mint broken-links pass +- [ ] offer mint agent setup --agent - [ ] go live: mint deploy (no account) or mint login (existing account) - [ ] docs pushed to the hosted or connected repository - [ ] https://.mintlify.site loads with the new docs @@ -31,22 +32,23 @@ Copy this into your plan and check items off: - Write real pages from the repo (README, code, existing docs). No placeholder pages. See `mint instructions write`. - Run `mint dev --no-open` in the background from the directory with `docs.json`, confirm the local URL loads, and report it. - Run `mint validate` and `mint broken-links`. Fix what you caused. -3. **Go live.** Run `mint status`. - - **Logged in with an organization:** keep that session and use its repository (step 4). +3. **Offer to connect the user's coding agent.** If they agree and Node.js is v22.20 or newer, run `mint agent setup --agent ` from the project directory, where `` is `claude-code`, `codex`, or `cursor`. It installs Mintlify skills and adds the admin MCP to the agent's project configuration. Always pass `--agent`: without an interactive terminal the command configures every agent it detects. The user completes OAuth sign-in in the agent afterward. +4. **Go live.** Run `mint status`. + - **Logged in with an organization:** keep that session and use its repository (step 5). - **No account, or the user wants it live now: `mint deploy`.** From the directory with `docs.json`, run `mint deploy --subdomain `. It provisions `https://.mintlify.site` and a hosted Git repository with a short-lived write token, and prints the Git commands. Clone that repository into a separate directory, copy the docs in (never `.env`, `.git` or `node_modules`), commit, and push to `main` with the token as a Bearer header for that Git command only. The push starts the build. - To keep the token out of your transcript, save the output to a file outside the repository and read the repository URL and token into shell variables from it. If you lose the token or it expires (see `Write token expires` in the output), run `mint deploy` again from the same directory: it reuses the site and prints a fresh token. - The site expires unless a person claims it. Ask the user which email address should own it (never invent one), then run `mint claim --email ` from the same directory (or pass `--directory`) and give them the claim link. They open it, sign in or create an account, and read you a code. Run `mint claim --code ` to finish. Do not sign in for them, and do not read or print the credentials the CLI stores; it reads them itself. - To create a second site instead of reusing this one, run `mint deploy --new --subdomain `. - If `mint deploy` fails with `HTTP 429` (`rate_limit_exceeded`), nothing was created. Tell the user, and retry once a few minutes later. Do not loop: repeated attempts keep the limit in place. - - **The user has a Mintlify account:** run `mint login` and use their repository (step 4). + - **The user has a Mintlify account:** run `mint login` and use their repository (step 5). - **The docs live in the user's GitHub repository and they want every push to deploy:** from the repository root, with a GitHub `origin` remote and the GitHub CLI signed in, run `mint deploy --github --subdomain ` (add `--directory docs` if the docs are in a subfolder). It writes `.github/workflows/mintlify.yml`; commit and push it. This works only for unclaimed sites; after the user claims the site, they connect the repository from the dashboard instead. Pass `--force` only if the user agrees to overwrite an existing workflow file. - **The user wants their own account now:** you cannot create it for them. Publish with `mint deploy` and let them claim the site (claiming creates the account), or send them to web onboarding at https://mintlify.com/start. -4. **Own repository (login path).** Mintlify deploys from the Git repository connected during onboarding. +5. **Own repository (login path).** Mintlify deploys from the Git repository connected during onboarding. - After onboarding, run `mint status` again. It should show email, organization, and subdomain. If there is an organization but no subdomain, ask the user to finish selecting or connecting a GitHub repository in the onboarding tab, then retry. - If the docs live in a subfolder of the user's code repo (for example `docs/`), the user must turn on **docs.json is in a subdirectory** in Git Settings (https://app.mintlify.com/settings/project/git-settings) and enter the path, like `/docs` (no trailing slash). See `mint instructions publish repo`. - Ask for the connected repository URL (`mint status` does not show it). If it is the user's repo, add your docs project to it. If Mintlify created a starter repo, clone it and replace the starter pages with the docs you built. Do not overwrite a user's existing repository with starter content. - Commit and push to the deployment branch. A push triggers a deployment. -5. **Confirm live.** Check that `https://.mintlify.site` loads before you tell the user it is live. Until then, say what is left (push, build, claim link, connect GitHub). +6. **Confirm live.** Check that `https://.mintlify.site` loads before you tell the user it is live. Until then, say what is left (push, build, claim link, connect GitHub). ## Rules diff --git a/mint-instructions/overview.mdx b/mint-instructions/overview.mdx index e3062b27d..bd853ea41 100644 --- a/mint-instructions/overview.mdx +++ b/mint-instructions/overview.mdx @@ -14,7 +14,7 @@ Read the topic that matches the task before you edit files. Each topic is a shor | Task | Command | |---|---| -| New docs site, first publish (`mint deploy`, `mint claim`, `mint login`) | `mint instructions new-site` | +| New docs site, first publish (`mint deploy`, `mint claim`, `mint login`), connect a coding agent (`mint agent setup`) | `mint instructions new-site` | | Write or edit pages, components, snippets, changelogs, images | `mint instructions write` (subtopic: `components`) | | docs.json: theme, colors, logo, fonts, navigation, tabs, versions, languages, redirects, SEO, search, integrations, contextual menu, custom CSS/JS, 404 | `mint instructions configure` (subtopics: `navigation`, `settings`, `customization`) | | API reference from OpenAPI, AsyncAPI, or GraphQL, API playground, SDK examples | `mint instructions api-docs` (subtopic: `sdk`) | @@ -42,7 +42,7 @@ Go straight to a subtopic when it matches: - **No account? `mint deploy --subdomain `** puts the docs live with no login. The site expires unless claimed: ask the user for their email and run `mint claim --email `. With an account: `mint login`. Without the CLI: https://mintlify.com/auth.md. - **Guidance for AI tools reading the docs** ("use our SDK", "prefer v2"): `markdown.instructions` in `docs.json`. Not a page, not a root `AGENTS.md`. - **Instructions for the Mintlify agent** (Autopilot, automations, Slack): `.mintlify/AGENTS.md`. The web editor's agent uses **AI instructions** in editor settings instead. -- **Scheduled or triggered doc updates** (weekly changelog, sync on merge): a Mintlify automation, `mint automations create` (Pro or Enterprise). Do not build a GitHub Action, cron job or script for it unless the user asks. +- **Scheduled or triggered doc updates** (weekly changelog, sync on merge): a Mintlify automation, `mint automations create` (Enterprise). Do not build a GitHub Action, cron job or script for it unless the user asks. - **Private docs on the free plan:** yes, private authentication (organization members only). Customer login (OAuth or JWT) is Enterprise. - **Auth does not work on a `/docs` subpath** like `example.com/docs`. It needs `.mintlify.site` or a custom domain like `docs.example.com`. diff --git a/mint-instructions/publish.mdx b/mint-instructions/publish.mdx index 9db4a757d..9e9785879 100644 --- a/mint-instructions/publish.mdx +++ b/mint-instructions/publish.mdx @@ -17,7 +17,7 @@ Use this when the project already exists and you need to deploy changes, confirm Fix every issue your changes caused. 3. Commit and push to the deployment branch (the branch set in Git Settings, typically `main`). The push triggers a deploy automatically. - GitHub: the Mintlify GitHub App must be installed on the account or org that owns the repo, with access to the docs repo. Repos in the `mintlify-community` org already have it. - - GitLab: connected with an access token plus webhooks. Bitbucket Cloud: OAuth plus webhook, Enterprise plan only. + - GitLab: connected with an access token plus webhooks. Bitbucket Cloud: OAuth plus webhook, Enterprise plan only. Azure Repos: Microsoft Entra ID plus service hooks, Enterprise plan only. - Branch protection: the app cannot push to protected branches. Open a PR instead. 4. Confirm it is live: load `https://.mintlify.site` (or the custom domain) and check the changed page. Deploys typically take 30 seconds to a few minutes. Deploy history and build status: dashboard **Publishes** page (https://app.mintlify.com/publishes). Do not report "deployed" until the page shows the change. 5. If nothing deployed: check the GitHub App is installed on the right repo, check you pushed to the configured branch, then the user can click the deploy button in the dashboard to trigger a manual deploy. @@ -41,10 +41,10 @@ For monorepos, multi-repo, Git providers, export and self-hosting, run `mint ins - Claude: Settings, Connectors, **Add custom connector**, name and URL. - Cursor: `mcp.json` with `{"mcpServers": {"": {"url": "/mcp"}}}` - VS Code: `.vscode/mcp.json` with `{"servers": {"": {"type": "http", "url": "/mcp"}}}` -- Admin MCP (for the team, write access): `https://mcp.mintlify.com`, OAuth login. Its `deployment_status` tool reports whether a published commit is `live`. Different from the search MCP. +- Admin MCP (for the team, write access): `https://mcp.mintlify.com`, OAuth login. Its `deployment_status` tool reports whether a published commit is `live`. Different from the search MCP. Connect Claude Code, Codex, or Cursor with `mint agent setup --agent ` (also installs Mintlify skills). For a read-only connection (search and read tools only), send the header `x-mintlify-toolset: knowledge`. - `llms.txt` and `llms-full.txt`: automatic at the site root. A root `llms.txt`/`llms-full.txt` file in the repo overrides the generated one (must start with an H1). If `llms.txt` returns 404: `mint instructions troubleshoot`. - `skill.md`: auto-generated at `/skill.md` for public sites only, can take up to 24 hours. Override with a root `skill.md`, or add `.mintlify/skills//SKILL.md`. Users install with `npx skills add `. -- Markdown export: automatic. Append `.md` to any page URL, or send `Accept: text/markdown`. Add site-wide agent guidance with `markdown.instructions` in `docs.json`. +- Markdown export: automatic. Append `.md` to any page URL, or send `Accept: text/markdown`. Known AI agents (such as `ChatGPT-User`, `Claude-User`) get Markdown at the regular URL. Markdown responses send `X-Robots-Tag: noindex`. Add site-wide agent guidance with `markdown.instructions` in `docs.json`. - Contextual menu: configured, not automatic. Add `contextual.options` to `docs.json`. `download-pdf` is Enterprise. - Assistant (Pro and above): AI chat on the site; indexes published content only, not previews. Setup: `mint instructions publish assistant`. - Pages not in navigation and `noindex: true` pages are excluded from MCP search and `llms.txt` unless `seo.indexing` is `"all"`. diff --git a/mint-instructions/publish/assistant.mdx b/mint-instructions/publish/assistant.mdx index 29f734967..b9a0bea5a 100644 --- a/mint-instructions/publish/assistant.mdx +++ b/mint-instructions/publish/assistant.mdx @@ -15,7 +15,7 @@ Do not confuse three things: ## Plans and cost - Assistant, widget, narration, analytics: Pro or Enterprise. Starter has no AI features and cannot buy credits. -- Credits pool per organization: each Pro plan adds 10,000/month. Answer = 25 credits; "can't answer" = 0. Same price on site, widget, or API. Narration = 50 credits per generated page version; replays free. +- Credits pool per organization: each Pro plan adds 10,000/month. Pro and Enterprise can reserve part for one project with an **Allocation** (Billing page, **Usage** section). That project spends its allocation first, then the shared pool. Set it to 0 to remove it. Answer = 25 credits; "can't answer" = 0. Same price on site, widget, or API. Narration = 50 credits per generated page version; replays free. - Overages ($0.01/credit) are off by default and set per project. With overages off and the balance spent, the assistant is unavailable until reset. Add-ons and alerts: **Usage** page (https://app.mintlify.com/settings/organization/usage). - Enterprise only: assistant customization (pricing page) and bring your own model (per project). diff --git a/mint-instructions/publish/repo.mdx b/mint-instructions/publish/repo.mdx index d91937339..19e833f88 100644 --- a/mint-instructions/publish/repo.mdx +++ b/mint-instructions/publish/repo.mdx @@ -2,7 +2,7 @@ title: "Docs source repository" name: mintlify-publish-repo description: "Covers where the docs source lives and how it connects: monorepos, multi-repo projects, Git providers, cloning a Mintlify-created repo, offline export, and self-hosting." -when: "Monorepo, multi-repo, GitHub/GitLab/Bitbucket, offline export, self-host" +when: "Monorepo, multi-repo, GitHub/GitLab/Bitbucket/Azure Repos, offline export, self-host" related: false --- Use this for docs outside a plain single repo with root `docs.json`, for connecting a Git provider, or when deploys or the editor cannot reach the repo. Repo settings live on the dashboard Git Settings page (https://app.mintlify.com/settings/project/git-settings). @@ -23,6 +23,7 @@ Use this for docs outside a plain single repo with root `docs.json`, for connect - GitLab (gitlab.com or a publicly reachable self-hosted instance): Git Settings, **Connect to GitLab**. Needs Project ID (Settings > General) and a project access token (role Maintainer, scopes `api` and `read_api`; personal tokens work but expire). Self-hosted: set **GitLab instance URL** (`https://`, port 443, no credentials). Then add a GitLab webhook: URL `https://leaves.mintlify.com/gitlab-webhook`, secret = dashboard **Show webhook token**, events Push (all branches) and Merge requests. Test should return `HTTP 200`. Stale config: click the green **Active** badge. - Self-hosted GitLab OAuth (Pro or Enterprise, feature enabled by support): only needed for automations, on top of the token connection. Register a GitLab OAuth app (redirect `https://app.mintlify.com/api/gitlab-oauth/callback`, scopes `api`, `read_repository`, `write_repository`), enter it under **Self-hosted GitLab**, authorize, select projects (user needs Maintainer). `Invalid url given` on webhook: allow local network webhook requests in GitLab admin. `invalid_client`: secret rotated; revoke, remove, re-add. - Bitbucket Cloud (Enterprise, `bitbucket.org` only; no Data Center, no Slack agent or automations): **Connect to Bitbucket**, OAuth, enter workspace slug, repo slug, deploy branch, optional subdirectory (for example `apps/docs`). Missing webhook: disable and re-enable the repo under **Bitbucket OAuth**. +- Azure Repos (Enterprise, `dev.azure.com` with Microsoft Entra ID, not Azure DevOps Server): **Connect to Azure Repos**, **Connect Microsoft** (project admin or **Manage permissions**), pick organization, project, repo, deploy branch. Needs Entra admin consent and the Mintlify app with **Basic** access in **Project Administrators**. Creates three service hooks. ## Multiple repositories @@ -31,7 +32,7 @@ Use this for docs outside a plain single repo with root `docs.json`, for connect ## Export and self-hosting -- `mint export` (Enterprise, Node.js v20.17.0+): zip of pre-rendered pages for offline or air-gapped viewing. Run `mint export --help` for flags (`--output`, `--groups`). No search, assistant, analytics or integrations; navigation pages only; serve from a domain root (no subpath); external-URL files are not bundled. The archive is unauthenticated. View with `node serve.js`. +- `mint export` (Enterprise, Node.js v20.17.0+): zip of pre-rendered pages for offline or air-gapped viewing. Run `mint export --help` for flags (`--output`, `--groups`). No search, assistant, analytics or integrations; navigation pages only; serve from a domain root (no subpath); external-URL files are not bundled. The archive is unauthenticated. View with `node serve.js`. Exports made with `--classic` use a different layout; follow that archive's `README.md` to host it. - Self-hosting (Enterprise, scoped with the account team, not self-serve): AWS CDK app or a Helm chart on any Kubernetes (AKS, GKE, OKE, OpenShift). Source can be GitHub, GHES, GitLab (incl. self-managed), Bitbucket, or an internal proxy API. Custom portals need Enterprise plus self-hosting. ## Rules diff --git a/mint-instructions/troubleshoot.mdx b/mint-instructions/troubleshoot.mdx index a71fcc4d5..a31c94198 100644 --- a/mint-instructions/troubleshoot.mdx +++ b/mint-instructions/troubleshoot.mdx @@ -39,7 +39,7 @@ Use this when a `mint` command errors, a deploy fails, or the local preview, edi - OpenAPI navigation generates no pages -> no `openapi` field on the navigation element, or child groups do not inherit the spec. Fix: add `"openapi": ""` to the group, run `mint validate`. - Some operations missing -> `x-hidden: true`, invalid operations, or you referenced some endpoints explicitly (then only those appear). - Mixed OpenAPI and MDX broken -> an MDX file and a nav entry for one operation (remove one, or move the href with `x-mint`), or a nav entry matching no operation (treated as a file path). Methods must be uppercase. -- `mint broken-links` flags a link to an existing file -> the target matches `.mintignore`. Run `mint broken-links --help` for deeper checks. +- `mint broken-links` flags a link to an existing file -> the target matches `.mintignore`, or the link has no leading `/` (`quickstart`, `../quickstart`) and resolves from the page's directory, like a browser. Start root links with `/`. Run `mint broken-links --help` for deeper checks. ## Deploy @@ -47,6 +47,7 @@ Use this when a `mint` command errors, a deploy fails, or the local preview, edi - `Failed to fetch OpenAPI file for anchor or tab` -> the build cannot download the `docs.json` `openapi` URL (private, `401`/`403`, TLS or DNS errors, or not published yet). Fix: commit the spec and use a repo path (`"openapi": "openapi.json"`), or a stable public HTTPS URL. - `Agent request failed (HTTP 429)` from `mint deploy` -> rate limited, nothing created. Retry once later; don't loop. - `No account was created` from `mint signup` -> expected for agents: use `mint deploy`, `mint claim`. +- Subdomain unavailable after deleting a project -> Mintlify reserves it for that organization for 30 days. Only the same organization can reuse it until then. - `No saved agent registration` from `mint claim` -> run it in the `mint deploy` directory or pass `--directory`. - `mintlify.yml already exists` from `mint deploy --github` -> `--force` only if the user agrees. - Push did not deploy -> GitHub App not installed on the account or org that owns the repo, or push went to a branch other than the deployment branch. Fix: install the app, push to the configured branch, or click the deploy button in the dashboard.