Skip to main content

AI-powered open source maintainer agent

Project description

RepoKeeper logo

RepoKeeper

CI codecov PyPI Python Docs

AI-powered open source maintainer agent. Reads issues, writes code, opens PRs — 24/7.

# Label an issue agent-todo — RepoKeeper handles the rest
@repokeeper go

Zero config. GitHub-native. ~$0.01 per PR with DeepSeek.


Why RepoKeeper?

Open source maintenance is a second job you didn't sign up for. Existing tools help you write code faster — Copilot, Cursor, Codeium. But what about everything else? Triaging issues, bumping dependencies, diagnosing CI, responding to the community?

Copilot helps you write code. RepoKeeper runs your repo while you sleep.

Copilot / Cursor RepoKeeper
What it does Suggests code as you type Maintains your repo autonomously
How Inline completion in editor Reads issues + codebase → opens PRs
When While you code 24/7 on schedule
Community No Monitors, classifies, responds
Dependencies No Scans for outdated deps, reports upgrade candidates
CI No Diagnoses failures, suggests fixes
Cost $10–39/month subscription ~$0.01 per PR with DeepSeek
Config IDE settings One YAML (or zero)

What It Does

  • 🔭 Community Radar — Monitors GitHub issues and discussions for keywords. AI classifies hits. Drafts responses. Notifies you via email, Telegram, or WeChat.
  • 🔍 Daily Patrol — Scans 8 ecosystems (pip, npm, Go, Cargo, Bundler, Composer, Maven, Gradle) for outdated deps. Diagnoses CI failures with real job/step data. Auto-fixes CI by opening repair PRs. Finds stale issues. Health score every weekday morning.
  • 🤖 Implementation Agent — Reads your codebase + issue → implements → verifies (lint + tests) → pushes branch → opens PR. Streams LLM output in real-time. Tracks token cost. Supports DeepSeek, OpenAI, and Anthropic Claude models.
  • 👤 Maintainer Profile — One YAML file describing your code style, tone, PR standards. Or skip it — defaults work.

Adopt in 60 Seconds

Three ways to onboard — pick one:

📋 Copy a workflow

Create .github/workflows/repokeeper.yml in your repo:

name: RepoKeeper Implementation Agent

on:
  issue_comment:
    types: [created]
  issues:
    types: [labeled]

jobs:
  repokeeper:
    runs-on: ubuntu-latest
    if: |
      (
        github.event_name == 'issue_comment' &&
        !github.event.issue.pull_request &&
        contains(github.event.comment.body, '@repokeeper go') &&
        (
          github.event.comment.author_association == 'OWNER' ||
          github.event.comment.author_association == 'MEMBER' ||
          github.event.comment.author_association == 'COLLABORATOR'
        )
      ) ||
      (
        github.event_name == 'issues' &&
        github.event.label.name == 'agent-todo'
      )
    permissions:
      contents: write
      issues: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 0

      - uses: actions/setup-python@v6
        with:
          python-version: '3.10'

      - name: Install RepoKeeper
        run: pip install repokeeper

      - name: Run RepoKeeper Agent
        env:
          PYTHONUNBUFFERED: 1
          DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
          REPOKEEPER_GITHUB_TOKEN: ${{ secrets.REPOKEEPER_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
          GITHUB_REPOSITORY: ${{ github.repository }}
          ISSUE_NUMBER: ${{ github.event.issue.number }}
          LLM_BASE_URL: ${{ secrets.LLM_BASE_URL || 'https://api.deepseek.com' }}
        run: repokeeper agent --repo "$GITHUB_REPOSITORY" --issue "$ISSUE_NUMBER"

Then add your API key: Settings → Secrets → Actions → New secret: DEEPSEEK_API_KEY = sk-...

Want Radar & Patrol too? Copy radar.yml and patrol.yml into the same .github/workflows/ folder.

🖥️ CLI

pip install repokeeper
repokeeper init --all-workflows   # profile + all 3 workflows
repokeeper init --minimal         # profile + agent workflow only

🤖 Ask AI

Paste this into any AI coding agent (Copilot Chat, Claude Code, Cursor, Windsurf, pi, etc.):

Add RepoKeeper to this repository. Create .github/workflows/repokeeper.yml with the Implementation Agent workflow from github.com/shenxianpeng/repokeeper — trigger on issue comments (@repokeeper go) and labels (agent-todo). Use pip install repokeeper in the workflow. Then tell me to add a DEEPSEEK_API_KEY secret in GitHub Actions settings.

Trigger the agent

Label any issue agent-todo — or comment @repokeeper go.


Install (optional CLI)

pip install repokeeper
repokeeper init             # Create a profile
repokeeper init --minimal   # Create a profile + agent workflow
repokeeper doctor --repo owner/repo
repokeeper radar --repo owner/repo
repokeeper patrol --repo owner/repo --summary
repokeeper agent --repo owner/repo --issue 42

Documentation

Full docs at shenxianpeng.github.io/repokeeper

Guide
Quick Start 5-minute setup
Community Radar Monitor your community
Daily Patrol Automated health checks
Implementation Agent AI-powered PRs
Maintainer Profile Full config reference

License

MIT © Xianpeng Shen

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

repokeeper-0.4.0.tar.gz (208.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

repokeeper-0.4.0-py3-none-any.whl (47.6 kB view details)

Uploaded Python 3

File details

Details for the file repokeeper-0.4.0.tar.gz.

File metadata

  • Download URL: repokeeper-0.4.0.tar.gz
  • Upload date:
  • Size: 208.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for repokeeper-0.4.0.tar.gz
Algorithm Hash digest
SHA256 86765982e2c3843bf1ef35c30944f645528fc02a10bfbf47d713b746da7ecb87
MD5 207015cb0cd06a612ac6ca75f40ac30d
BLAKE2b-256 8643337436e5f8f58bbe601d1b60b55ddeadc1e3f649b0d3428be7e512d8aa72

See more details on using hashes here.

Provenance

The following attestation bundles were made for repokeeper-0.4.0.tar.gz:

Publisher: release.yml on shenxianpeng/repokeeper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file repokeeper-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: repokeeper-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 47.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for repokeeper-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ffe450887bca6fbcb276e6bd87e7ef9805e4e64b621c2309014464eaeb939050
MD5 a5ba5c7701af8d638b5737d74875c01c
BLAKE2b-256 c91fe79c9c3637b00397446a91a9bb2c12c90e24a8445891f682314942e6c24a

See more details on using hashes here.

Provenance

The following attestation bundles were made for repokeeper-0.4.0-py3-none-any.whl:

Publisher: release.yml on shenxianpeng/repokeeper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page