Files
mintlify__docs/deploy/github.mdx
Ethan Palm 017d7c7377 Fix Vale warnings (#6378)
* fix: reduce Vale false positives via vocab and config updates

- Make English-word vocab entries case-insensitive so sentence-start
  capitalization and normal prose usage stop flagging (agents, rest,
  cursor, setup, endpoints, etc.)
- Add vocab entries for filenames and code identifiers that appear in
  frontmatter and JSX contexts (docs.json, llms.txt, CLAUDE.md, etc.)
- Ignore openapi frontmatter lines, filenames, JSX attributes, email
  addresses, and internal link targets via TokenIgnores
- Skip inline code scope and indented code fences
- Add Headings exceptions for proper nouns (Claude Code, GitHub
  Actions, Route 53, GA4, etc.)
- Disable linting for the all-code vercel-json-generator snippet

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: resolve all Vale warnings and errors across docs

Content fixes:
- Reword sentences using 'will', first person, spaced em dashes,
  'e.g.', Latin abbreviations, and hyphenated adverbs
- Sentence-case headings that started with dotted filenames
- Backtick literal API values instead of bolding them
- Move periods inside quotation marks
- Fix Oxford comma rule misfires by restructuring sentences

False-positive suppression:
- Vale toggles around example user questions, keyboard shortcut keys
  (Cmd+I), UI labels, and code samples in JSX contexts that Vale
  misparses
- Exclude vale toggle comments from the brace Token/BlockIgnores so
  in-document commands actually reach Vale (the greedy brace pattern
  was also silently swallowing large regions; now lazy)
- Vocab entries for code identifiers (internal_id, handleSubmit, etc.)
- Per-file rule disables for component docs with dotted JSX names and
  files where link-target linting ignores in-document toggles

Result: vale --minAlertLevel warning is clean repo-wide; only
suggestion-level items (Passive, Semicolons, Acronyms) remain.
mint broken-links passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: correct WordList rule instead of degrading prose

- Restore sentence-start "Email" in advanced-support; the rule now
  only flags hyphenated e-mail/E-mail forms
- Restore the idiom "above all else"; the above->preceding swap now
  exempts "above all"

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: restore deliberate prose flagged by blunt rules

- Restore spatial 'above the navbar' / 'above a page title' in
  custom-scripts; the above->preceding swap now exempts 'above
  the/a/an'
- Restore the '= ...' in the react-components named-export example
  (the ellipsis is inside inline code) with an Ellipses toggle
- Restore SLA phrasing 'will use commercially reasonable efforts'
  with a Will toggle
- Restore the quoted developer question in the GEO guide intro with a
  FirstPerson toggle, matching the file's other example questions

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: remove WordList swaps that flag legitimate English

- Drop tablet->device and firewalls->firewall rules; both words are
  correct in ordinary prose
- Narrow touch->tap to UI-instruction phrasing (touch the/a) so
  'keep in touch' and 'touch devices' stop flagging

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: reposition vale toggles to wrap whole blocks

Toggle comments placed between list items split the lists (restarting
ol numbering in deployments) and comments flush against tables risked
breaking GFM table parsing. Wrap entire lists/tables with blank-line
separation instead. Verified rendering with mint dev: single ol with
two items, tables intact, no comments in visible DOM.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor: prune accept.txt to load-bearing entries

Empirically removed 166 vocab entries (575 -> 409) whose removal
causes no Vale flags across all 908 English pages: dictionary words
that never needed listing (agents, setup, endpoints, webhooks, yaml),
lowercase entries the speller already accepts, and filename entries
made redundant by inline vale toggles.

Kept every case-enforcing entry (API, JSON, GitHub, ...) so casing
policy is unchanged, plus entries that double as capitalization
exceptions for headings (mcp, md, auth, cursor, txt).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Update ai/mintlify-mcp.mdx

* Update api/agent/v2/create-agent-job.mdx

* chore: alphabetize Headings exceptions and accept.txt

Case-insensitive sort, ignoring the (?i) prefix; also drops a
duplicate Scala entry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: re-apply OxfordComma rewrite lost in branch merge

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: resolve Vale suggestions batch 1 (acronyms, semicolons, passive voice)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: resolve remaining Vale suggestions (passive voice batch 2)

Rewrite ~90 passive constructions to active voice across deploy,
guides, migration-services, and organize docs. Toggle the deliberate
passive examples in the style-and-tone guide ('by zombies' test).
Add axios/lodash vocab entries for a repositioned code example.

vale . is now fully clean: 0 errors, 0 warnings, 0 suggestions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 17:17:56 -07:00

170 lines
8.1 KiB
Plaintext

---
title: "GitHub"
description: "Connect your GitHub repository to Mintlify for automated deployments, pull request preview builds, and continuous documentation synchronization."
keywords: ["GitHub App","repository connection","automated deployments"]
boost: 3
---
Mintlify uses a GitHub App to automatically sync your documentation with your GitHub repository.
<Tip>
**Do you need the GitHub App?**
- **Mintlify-hosted repository** in the `mintlify-community` organization: No. The GitHub App is already configured.
- **Your own repository**: Yes. Install the GitHub App to enable automatic deployments when you push changes.
See your repository in the [Git Settings](https://app.mintlify.com/settings/deployment/git-settings) page of your dashboard.
</Tip>
If your repository is in a private repository owned by the Mintlify organization, the GitHub App is automatically configured and managed by Mintlify. You can use the web editor to make changes to your documentation. If you want to work on your documentation locally, clone the repository to your own organization and update your Git settings to use your own repository.
## Clone to your own repository
If you skipped connecting your own Git repository during onboarding, your documentation lives in a private repository owned by the Mintlify organization. To move it to your own account or organization, go to [Git Settings](https://app.mintlify.com/settings/deployment/git-settings) in your dashboard. A setup wizard guides you through the process with two options:
<AccordionGroup>
<Accordion title="One-click clone (recommended)">
The clone option automatically creates a copy of your documentation in your GitHub account.
1. Select **GitHub** as your provider.
2. Click **Clone**.
3. Authorize with GitHub when prompted.
4. Select the GitHub organization where you want to create the repository.
5. Confirm the clone. Mintlify copies your documentation files into a new repository.
6. Optionally install the Mintlify GitHub App for automatic deployments.
</Accordion>
<Accordion title="Manual setup">
<Warning>
This process permanently deletes your content from the Mintlify-hosted repository.
Download your documentation from the setup wizard before completing the manual setup process.
</Warning>
If you prefer to set up your repository manually:
1. Download your documentation as a zip file so that you have a backup of your files.
2. Select **GitHub** as your provider.
3. Click **Continue setup**.
4. Authorize with GitHub when prompted.
5. Select your organization, repository, and branch.
6. Optionally specify a subdirectory if your docs are not at the repository root.
7. Save your settings.
</Accordion>
</AccordionGroup>
After completing either path, install the GitHub app by following the steps in [Install the GitHub app](#install-the-github-app).
## Install the GitHub app
<Note>
You must have organization ownership or administrator permissions in a repository to install the app. If you lack the necessary permissions, the repository owner must approve the installation request.
</Note>
Install the Mintlify GitHub App through your [dashboard](https://app.mintlify.com/settings/organization/github-app).
<Frame>
<img
className="h-80"
alt="Mintlify GitHub App installation page with the 'Only select repositories' option selected."
src="/images/github/select-repos.png"
/>
</Frame>
## Permissions
When you install the GitHub App, grant the following permissions.
Read permissions:
- `metadata`: Basic repository information
Read and write permissions:
- `checks`: Create status checks on pull requests
- `code`: Read file changes when you commit to your docs branch
- `deployments`: Generate preview deployments for pull requests
- `pull requests`: Create branches and pull requests from the web editor
<Info>
The app only accesses repositories that you explicitly grant it access to. If you have branch protection rules enabled, the app can't push directly to protected branches.
</Info>
## Manage repository access
When installing the GitHub App, you can grant access to all of your repositories or specific ones. Grant access only to your documentation repository and any repositories that you want to provide as context for the agent or workflows. You can modify this selection anytime in your [GitHub App settings](https://github.com/apps/mintlify/installations/new).
## Configure docs source
Change the organization, repository, or branch that your documentation builds from in the [Git Settings](https://app.mintlify.com/settings/deployment/git-settings) section of your dashboard.
## GitHub Enterprise with IP allowlists
If your GitHub Enterprise Cloud organization has an IP allowlist enabled, you need to add Mintlify's egress IP address (`54.242.90.151`) to your allowlist for the GitHub App to function properly.
Follow [GitHub's documentation](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization) to configure your IP allowlist.
## Troubleshooting
### Deployment not triggering automatically
If pushes to your repository don't trigger deployments, check the following possible problems.
<AccordionGroup>
<Accordion title="Verify GitHub App installation">
Check that the correct repository has the app installed.
1. Go to [GitHub App settings](https://app.mintlify.com/settings/organization/github-app) in your dashboard.
1. Check that your repository is on the active app installations list.
</Accordion>
<Accordion title="Check deployment branch">
Ensure that you're pushing to the correct branch.
1. Go to [Git Settings](https://app.mintlify.com/settings/deployment/git-settings)
1. Verify the branch in your dashboard matches the branch that you're pushing to.
</Accordion>
</AccordionGroup>
### GitHub app connection issues
If you encounter problems with the GitHub app, resetting the connection can solve most problems.
<Steps>
<Step title="Uninstall the Mintlify app through GitHub.">
1. In GitHub, go to [installations](https://github.com/settings/installations) and click **Configure** next to the Mintlify app. Scroll down and click **Uninstall**.
2. Go to [Authorized GitHub Apps](https://github.com/settings/apps/authorizations) and click **Revoke** next to the Mintlify app.
</Step>
<Step title="Reinstall the Mintlify app.">
1. In your Mintlify dashboard, go to [Git Settings](https://app.mintlify.com/settings/deployment/git-settings) and install the GitHub app.
2. Authorize your account in the [My Profile](https://app.mintlify.com/settings/account) section of your dashboard.
</Step>
</Steps>
### Feedback add-ons are unavailable
The edit suggestions and raise issues feedback features are only available for public GitHub repositories. If these options are unavailable in your dashboard, check your repository visibility.
If your repository is public and you cannot enable the edit suggestions or raise issues options in your dashboard, revalidate your Git settings.
<Steps>
<Step title="Navigate to Git Settings">
Go to [Git Settings](https://app.mintlify.com/settings/deployment/git-settings) in your dashboard.
</Step>
<Step title="Revalidate your settings">
Click the green check mark in the corner of the Git settings box to revalidate your repository settings. This forces an update to your repository settings to reflect whether your repository is public or private.
<Frame>
<img
src="/images/github/revalidate-settings-light.png"
alt="The Git Settings page in the Mintlify dashboard. An orange arrow points to the green check mark that revalidates the repository settings."
className="block dark:hidden"
/>
<img
src="/images/github/revalidate-settings-dark.png"
alt="The Git Settings page in the Mintlify dashboard. An orange arrow points to the green check mark that revalidates the repository settings."
className="hidden dark:block"
/>
</Frame>
</Step>
</Steps>