MCPcopy Index your code
hub / github.com/probot/probot

github.com/probot/probot @v14.3.2

repository ↗ · DeepWiki ↗ · release v14.3.2 ↗ · Ask this repo → · + Follow
163 symbols 597 edges 98 files 5 documented · 3% 1 cross-repo links updated 13d agov14.3.2 · 2026-04-03★ 9,56940 open issues
README

Probot's logo, a cartoon robot

Probot

A framework for building GitHub Apps to automate and improve your workflow

npm Build Status @ProbotTheRobot on Twitter


If you've ever thought, "wouldn't it be cool if GitHub could…"; I'm going to stop you right there. Most features can actually be added via GitHub Apps, which extend GitHub and can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. Apps are first class actors within GitHub.

How it works

Probot is a framework for building GitHub Apps in Node.js, written in TypeScript. GitHub Apps can listen to webhook events sent by a repository or organization. Probot uses its internal event emitter to perform actions based on those events. A simple Probot App might look like this:

export default (app) => {
  app.on("issues.opened", async (context) => {
    const issueComment = context.issue({
      body: "Thanks for opening this issue!",
    });
    return context.octokit.issues.createComment(issueComment);
  });

  app.onAny(async (context) => {
    context.log.info({ event: context.name, action: context.payload.action });
  });

  app.onError(async (error) => {
    app.log.error(error);
  });
};

Building a Probot App

If you've landed in this GitHub repository and are looking to start building your own Probot App, look no further than probot.github.io! The Probot website contains our extensive getting started documentation and will guide you through the set up process.

This repository hosts the code for the npm Probot package which is what all Probot Apps run on. Most folks who land in this repository are likely looking to get started building their own app.

Contributing

Probot is built by people just like you! Most of the interesting things are built with Probot, so consider starting by writing a new app or improving one of the existing ones.

If you're interested in contributing to Probot itself, check out our contributing docs to get started.

Want to discuss with Probot users and contributors? Discuss on GitHub!

Ideas

Have an idea for a cool new GitHub App (built with Probot)? That's great! If you want feedback, help, or just to share it with the world you can do so by creating an issue in the probot/ideas repository!

Extension points exported contracts — how you extend this code

SetupFile (Interface)
(no doc)
test/integration/utils.ts
ProcessEnv (Interface)
(no doc)
src/index.ts
Options (Interface)
(no doc)
src/types.ts
ResolveOptions (Interface)
(no doc)
src/helpers/resolve-app-function.ts
IncomingMessage (Interface)
(no doc)
src/index.ts
WebhookProxyOptions (Interface)
(no doc)
src/helpers/webhook-proxy.ts
LoadEnvOptions (Interface)
(no doc)
src/helpers/load-env.ts
ApplyEnvOptions (Interface)
(no doc)
src/helpers/apply-env.ts

Core symbols most depended-on inside this repo

stop
called by 31
src/server/server.ts
defaults
called by 29
src/probot.ts
start
called by 26
src/server/server.ts
isSupportedRuntime
called by 25
src/helpers/is-supported-runtime.ts
receive
called by 19
src/probot.ts
detectRuntime
called by 17
src/helpers/detect-runtime.ts
createProbot
called by 15
src/create-probot.ts
loadHandlerFactory
called by 13
src/server/server.ts

Shape

Function 105
Method 39
Class 11
Interface 8

Languages

TypeScript100%

Modules by API surface

src/probot.ts16 symbols
src/server/server.ts12 symbols
src/context.ts9 symbols
src/manifest-creation.ts8 symbols
test/utils.ts5 symbols
test/probot.test.ts5 symbols
test/probot-octokit.test.ts5 symbols
test/integration/utils.ts5 symbols
test/integration/integration-add-handler.test.ts5 symbols
src/apps/setup.ts5 symbols
test/manifest-creation.test.ts3 symbols
test/e2e/e2e.test.ts3 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

Dependencies from manifests, versioned

@octokit/core7.0.3 · 1×
@octokit/openapi-webhooks-types12.0.0 · 1×
@octokit/openapi-webhooks-types-transition12.0.0 · 1×
@octokit/plugin-enterprise-compatibility6.0.1 · 1×
@octokit/plugin-paginate-rest14.0.0 · 1×
@octokit/plugin-rest-endpoint-methods17.0.0 · 1×
@octokit/plugin-retry8.0.1 · 1×
@octokit/plugin-throttling11.0.1 · 1×
@octokit/request10.0.3 · 1×
@octokit/tsconfig4.0.0 · 1×
@octokit/types16.0.0 · 1×
@octokit/webhooks14.1.2 · 1×

Datastores touched

(mongodb)Database · 1 repos
(mysql)Database · 1 repos
my-dbDatabase · 1 repos
my-dbDatabase · 1 repos

For agents

$ claude mcp add probot \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact