> ## Documentation Index
> Fetch the complete documentation index at: https://openworklabs.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> For agents: install the OpenWork desktop app with `brew install --cask openwork` (macOS) or from https://openworklabs.com/download. Do not run `npx openwork`; the npm package named `openwork` is a different project.
> Connect an agent to OpenWork with the MCP Gateway: `claude mcp add --transport http openwork https://api.openworklabs.com/mcp/agent`. Teams sign up at https://app.openworklabs.com?mode=sign-up.
> Step-by-step agent guide: https://openworklabs.com/docs/start-here/use-openwork-from-an-ai-agent.md
> Connect Slack (any organization admin): https://openworklabs.com/docs/slack/connect-slack.md. OpenWork in Slack (@openwork bot) is private alpha for approved organizations. Setup guide: https://openworklabs.com/docs/slack/overview.md. Agent skill: https://openworklabs.com/.well-known/agent-skills/set-up-openwork-slack/SKILL.md.

# GitHub Sources

> Connect GitHub, add the repositories that hold your team's plugins, and keep OpenWork plugins in step with them.

If your team already keeps plugins in GitHub, connect the repository once and
OpenWork turns them into plugins. When someone pushes a change, the plugins in
OpenWork update on their own.

Use this for plugins your team maintains. To copy a public plugin once, use
[Import from GitHub](https://openworklabs.com/docs/cloud/share-with-your-team/plugins.md#import-a-plugin-from-github)
instead.

## Before you start

* Connecting GitHub and adding repositories needs the **Manage sync sources**
  permission. Organization owners and admins have it by default.
* You need permission to install a GitHub App on the GitHub account or
  organization that owns the repositories.
* The repository needs a Claude-compatible plugin or marketplace:
  `.claude-plugin/plugin.json` or `.claude-plugin/marketplace.json`.

> [!NOTE]
>
> Self-hosting OpenWork? Your operator must set up the GitHub App first. See
> [GitHub connector for Helm](https://openworklabs.com/docs/start-here/github-connector-helm.md).

## Open Sources

**Sources** is a tab in the plugin directory. To get there:

* Open **Settings › Advanced** and select the **Collections** tab. Before you
  have any Collections, click **Open Sources**.
* Or open **Manage › Plugins** and add `?view=sources` to the address.

## Connect GitHub

1. On **Sources**, find **GitHub** and click **Connect**.
2. GitHub opens. Install the OpenWork GitHub App and choose the repositories it
   can read: all of them, or only the ones you select.
3. GitHub sends you back to OpenWork, which finishes the connection.

The account shows up on **Sources** with who added it. To connect another GitHub
account or organization, click **Connect another**.

OpenWork asks GitHub only to read repository metadata and contents, and to get
notified when they change.

## Add a repository

1. Under the connected account, click **Add new repo**.
2. Pick one of the repositories the GitHub App can read, and click **Start
   discovery**.
3. OpenWork looks for plugins. It shows **Claude Plugin Detected**, **Claude
   Marketplace Detected**, or **Agent Plugin Detected**, and what each plugin
   contains: skills, agents, commands, hooks, MCP servers and more.
4. Select the plugins you want and click **Create plugins and mappings**.

A repository you don't see in the list isn't shared with the GitHub App. Change
the app's repository access in GitHub, then try again.

If OpenWork says **No Claude-compatible plugins detected**, add
`.claude-plugin/plugin.json` or `.claude-plugin/marketplace.json` to the
repository.

## Share the plugins

After the import, check who can use each new plugin. Open it in **Manage ›
Plugins** and set **Who can use it**, or give people access through a
[Collection](https://openworklabs.com/docs/cloud/share-with-your-team/collections.md). See
[Choose who can use it](https://openworklabs.com/docs/cloud/share-with-your-team/plugins.md#choose-who-can-use-it).

## Keep in sync

When a connected repository changes, OpenWork updates its plugins on its own.
People who can use them get the new version.

To manage a repository, click it under the account on **Sources**:

* **Sync now**: check the repository right away.
* **Re-run discovery**: pick plugins again, for example after adding a new one.
* **Auto-import new plugins**: when new plugins appear on future pushes,
  OpenWork discovers and imports them automatically.
* **Imported plugins**: what OpenWork has brought in from this repository.

## Remove a repository or account

* **Remove this repository** (on the repository's page) deletes everything
  OpenWork imported from it. The GitHub connection stays.
* Removing a GitHub account from **Sources** deletes its repositories and every
  plugin and Collection created from them.

Either way, the GitHub App stays installed on GitHub. Uninstall it in your
GitHub settings if you also want to revoke its access.

## Related

* [Manage plugins](https://openworklabs.com/docs/cloud/share-with-your-team/plugins.md)
* [Agents, commands, and hooks](https://openworklabs.com/docs/cloud/share-with-your-team/plugin-agents-commands-hooks.md)
* [Collections](https://openworklabs.com/docs/cloud/share-with-your-team/collections.md)
* [GitHub connector for Helm](https://openworklabs.com/docs/start-here/github-connector-helm.md) (self-hosted)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.