šŸ¦žOpenClaw Guide
← All Integrations
šŸ™

GitHub

Easyā±ļø 5-10 minutes

AI-powered development assistant

The Fastest Way: HeraClaw Cloud ⚔

Skip the GitHub App creation, OAuth configuration, and webhook setup. HeraClaw Cloud comes with GitHub integration pre-configured and ready to use in 60 seconds.

Why HeraClaw Cloud for GitHub?

āœ… Ready in 60 seconds - No GitHub App installation, no OAuth flows, no webhook configuration āœ… Instant PR reviews - AI code analysis without GitHub App approval workflows āœ… Always updated - We handle GitHub API changes and deprecations automatically āœ… Professional support - If anything breaks, we fix it for you āœ… Secure by default - Enterprise-grade security, SOC 2 compliant infrastructure āœ… Zero maintenance - No server management, no webhook endpoints, no uptime monitoring

How it works:

  1. Sign up at cloud.getopenclaw.ai (takes 60 seconds)
  2. Go to Integrations → GitHub
  3. Click 'Connect to GitHub'
  4. Authorize access for your repositories
  5. Done! Start getting AI-powered PR reviews and code analysis

Get Started: Start with HeraClaw Cloud →


Complete Guide to OpenClaw + GitHub

GitHub is where over 100 million developers build, ship, and maintain software. It's the world's largest code hosting platform, processing billions of API requests daily and powering the development workflows of Fortune 500 companies, open source projects, and startups alike. OpenClaw's GitHub integration brings intelligent AI assistance directly into your development workflow, from pull request reviews to issue triage to CI/CD pipeline analysis.

Whether you're a solo developer managing a personal project or an engineering team at a 10,000-person company, this integration transforms how you interact with your codebase. Get instant code reviews, automated issue triage, intelligent commit message generation, and conversational access to your entire repository history - all without leaving GitHub.

Why Use GitHub with OpenClaw?

GitHub's comprehensive API and webhook system make it an ideal platform for AI-powered development assistance. Here's why the OpenClaw + GitHub combination is transformative:

1. Pull Request Intelligence

OpenClaw analyzes pull requests with the depth of a senior engineer:

  • Code quality review: Identifies bugs, security vulnerabilities, and performance issues before merge
  • Architecture feedback: Suggests better patterns, catches code smells, recommends refactoring
  • Test coverage analysis: Highlights untested code paths and suggests test cases
  • Breaking change detection: Identifies API changes that could break consumers
  • Documentation checks: Ensures new code is properly documented
  • Style consistency: Catches deviations from team conventions
  • Dependency analysis: Reviews new dependencies for security and license issues
  • Merge conflict prevention: Predicts potential conflicts before they happen

This is perfect for teams where code review bottlenecks slow down shipping. Junior developers get senior-level feedback instantly. Senior developers focus on high-level architecture instead of catching syntax errors.

2. Intelligent Issue Management

OpenClaw transforms how you handle GitHub Issues:

  • Auto-triage: Categorizes new issues by type (bug, feature, question, documentation)
  • Duplicate detection: Finds similar existing issues to prevent duplication
  • Priority assignment: Suggests priority based on impact analysis
  • Label application: Auto-applies appropriate labels based on content
  • Reproduction steps extraction: Parses bug reports and extracts key information
  • Assignment recommendations: Suggests the right team member based on expertise
  • Response generation: Drafts professional responses to issues
  • Stale issue cleanup: Identifies and handles abandoned issues

Perfect for open source maintainers drowning in issues, or enterprise teams managing hundreds of tickets across multiple repositories.

3. Repository Analysis and Code Search

Conversational access to your entire codebase:

  • Natural language code search: "Find where we handle user authentication"
  • Architecture understanding: "Explain how the payment processing flow works"
  • Dependency tracking: "What depends on the UserService class?"
  • Change impact analysis: "If I modify this API, what breaks?"
  • Code pattern discovery: "Show me all uses of deprecated APIs"
  • Documentation generation: "Generate API docs for this module"
  • Codebase onboarding: "Give me a tour of the backend architecture"
  • Historical context: "Why was this implemented this way?"

New engineers ramp up 3x faster. Experienced engineers find answers without digging through thousands of files.

4. Commit Intelligence

Better commits with AI assistance:

  • Commit message generation: Analyzes your changes and writes descriptive commit messages
  • Conventional commits: Auto-formats messages following conventional commit standards
  • Breaking change detection: Identifies when commits introduce breaking changes
  • Semantic versioning: Suggests version bumps based on commit types
  • Changelog generation: Auto-generates release notes from commit history
  • Commit splitting: Suggests when one commit should be multiple

No more "fix stuff" or "update" commit messages. Every commit becomes self-documenting.

5. CI/CD Pipeline Support

Intelligent GitHub Actions integration:

  • Build failure analysis: Parses failed CI runs and explains what went wrong
  • Flaky test detection: Identifies unreliable tests from workflow history
  • Performance regression alerts: Catches slowdowns in CI execution time
  • Deployment validation: Reviews deployment workflows for best practices
  • Secret scanning: Identifies accidentally committed secrets
  • Action optimization: Suggests faster alternatives to slow workflow steps
  • Cost analysis: Estimates GitHub Actions minutes usage and optimization opportunities

DevOps teams reduce MTTR (mean time to resolution) by 40-60% with instant diagnosis of CI failures.

6. Security and Compliance

Proactive security analysis:

  • Vulnerability detection: Scans code for security issues before merge
  • Dependency audit: Reviews Dependabot alerts and suggests safe upgrades
  • License compliance: Checks new dependencies against approved license list
  • Secret detection: Catches API keys, passwords, tokens in code
  • Code injection prevention: Identifies SQL injection, XSS, and other attack vectors
  • Access control review: Analyzes repository permissions for security gaps
  • Compliance checks: Ensures code meets GDPR, HIPAA, SOC 2 requirements

Security teams get continuous monitoring without manual code audits. Developers catch vulnerabilities before they reach production.

7. Team Collaboration Enhancement

Better collaboration through AI:

  • Code review assignments: Intelligently routes PRs to the right reviewers
  • Discussion summaries: Summarizes long PR comment threads
  • Decision documentation: Captures architectural decisions from discussions
  • Onboarding assistance: Helps new team members understand conventions
  • Knowledge sharing: Surfaces relevant past PRs and issues during code review
  • Conflict resolution: Suggests compromises when reviewers disagree

Distributed teams collaborate as effectively as co-located teams. Knowledge doesn't get siloed.

8. GitHub Enterprise Support

For organizations using GitHub Enterprise:

  • SAML/SSO integration: Works with enterprise authentication
  • IP allowlisting: Supports restricted network access
  • Audit logging: Comprehensive logs of all AI-assisted actions
  • Compliance reporting: SOC 2, ISO 27001, GDPR-compliant operations
  • On-premise GitHub Enterprise Server: Self-hosted GitHub support
  • Advanced security features: Integration with GitHub Advanced Security
  • Team sync: Respects GitHub Teams and organization structure

Real-World Use Cases

1. Engineering Lead: PR Review Assistance

Scenario: You're an engineering lead responsible for reviewing 20-30 pull requests per week. Each PR takes 15-30 minutes to review thoroughly. You're spending 8-12 hours per week on code review, creating a bottleneck for your team's velocity.

How OpenClaw helps:

Connect OpenClaw to your GitHub repositories. When a PR is opened:

  • Initial review: "@OpenClaw review this PR for code quality and security issues"

  • Instant feedback: AI analyzes the changes and provides:

    • Security vulnerabilities found (SQL injection risk in line 47)
    • Performance concerns (N+1 query pattern detected)
    • Test coverage gaps (new UserService methods lack tests)
    • Style violations (inconsistent error handling)
    • Architectural suggestions (consider extracting this into a service)
  • Deeper analysis: "What's the potential impact of these API changes?"

    • AI scans the entire codebase for callers
    • Identifies 3 internal services and 1 public API that will break
    • Suggests migration strategy
  • Historical context: "Have we tried this approach before?"

    • AI searches past PRs and issues
    • Finds similar implementation from 6 months ago
    • Links to discussion about why it was reverted

Impact:

  • Review time drops from 20 minutes to 5 minutes per PR
  • Reclaim 6-8 hours per week for architecture and planning
  • Junior developers get senior-level feedback instantly
  • Catch security issues before merge instead of in production
  • Team velocity increases 25-30% (shorter PR cycle time)

Real example:

bash
PR #847: Add user profile caching@OpenClaw review this for performance and caching best practices[OpenClaw responds in 3 seconds]## Code Review Summaryāœ… **Good:**- Cache invalidation logic is solid- TTL values are reasonable (15 min)- Error handling includes cache failuresāš ļø **Concerns:**1. **Cache stampede risk (High Priority)**   Lines 34-42: When cache expires, multiple requests will hit DB simultaneously.   Recommendation: Implement cache locking or probabilistic early expiration.   2. **Memory usage (Medium Priority)**   Current implementation caches full user objects. For 100K active users,   this could consume 2-3GB RAM. Consider caching only essential fields.   3. **Missing tests (Medium Priority)**   Cache invalidation logic (lines 56-78) lacks test coverage.   Suggested test cases:   - User update triggers cache clear   - Cache expires after TTL   - Concurrent access handling4. **Monitoring gap (Low Priority)**   No metrics for cache hit rate. Recommend adding instrumentation.**Related PRs:**- #623: Similar caching implementation for posts (merged 3 months ago)- #401: Discussion about cache stampede prevention (see comments)**Suggestion:** Review Redis documentation on distributed locking before merge.

You review the AI's feedback, confirm the cache stampede risk is real, and request changes. What would have taken 20 minutes of careful analysis took 3 seconds.

2. DevOps Engineer: CI/CD Pipeline Monitoring

Scenario: You manage GitHub Actions workflows for a microservices application. Build failures happen multiple times per day. Developers ping you: "CI failed, can you check?" You spend hours diagnosing issues like flaky tests, environment problems, and dependency conflicts.

How OpenClaw helps:

Integrate OpenClaw with GitHub Actions:

  • Automatic failure analysis: When a workflow fails, OpenClaw analyzes the logs automatically

  • Intelligent diagnosis: "Build failed in test stage, analyzing..."

    • Identifies flaky test: test_user_creation passed 7/10 recent runs
    • Root cause: Race condition in test setup (async timing issue)
    • Suggests fix: Add proper async/await or increase timeout
    • Links to similar issues: #234, #567 (same test, fixed temporarily)
  • Proactive alerts: OpenClaw monitors workflow trends and warns:

    • "Deploy workflow runtime increased 40% over last week"
    • Cause: New npm dependencies add 2 minutes to install
    • Suggestion: Use npm ci with caching, or move to Docker layer
  • Environment debugging: "Production deploy failed with 'connection timeout'"

    • AI checks recent changes to deploy workflow
    • Finds new environment variable added but not set in GitHub Secrets
    • Provides exact fix: Add DATABASE_URL to production secrets
  • Cost optimization: "Show GitHub Actions minutes usage for Q1"

    • AI analyzes workflow runs across all repos
    • Identifies top consumers: Integration tests (45%), Docker builds (30%)
    • Recommends: Self-hosted runners for integration tests (save $400/month)

Impact:

  • MTTR (mean time to resolution) for CI failures drops from 30 minutes to 3 minutes
  • Developers self-service 70% of CI issues without pinging DevOps
  • GitHub Actions costs reduced 35% through optimization recommendations
  • Flaky tests identified and fixed proactively
  • Team ships faster (less time blocked on broken CI)

Real example:

bash
GitHub Actions Workflow Failed: backend-tests.yml[OpenClaw auto-comment on commit]## Build Failure Analysis**Workflow:** backend-tests.yml  **Commit:** a3f5d9c  **Failed Step:** Run integration tests  **Duration:** 12m 34s (usual: 8m)  **Root Cause:**Test `test_payment_processing` failed with timeout after 30s.**Analysis:**This test has failed 4 out of last 10 runs (40% flake rate).Pattern: Always fails when running after `test_user_deletion` (order-dependent).**Why:**Line 156 in test_user_deletion.py doesn't clean up Stripe test customer.Subsequent tests hit Stripe rate limit (100 requests/sec).**Fix:**```python# test_user_deletion.py, line 160def test_user_deletion(self):    user = create_test_user()    stripe_customer = create_stripe_customer(user)        delete_user(user.id)        # ADD THIS:    cleanup_stripe_customer(stripe_customer.id)  # Clean up test data

Prevention: Consider pytest fixture with automatic cleanup:

python
@pytest.fixturedef stripe_customer():    customer = create_stripe_customer()    yield customer    cleanup_stripe_customer(customer.id)  # Auto cleanup

Related Issues:

  • #789: Similar Stripe rate limit issue (resolved by adding cleanup)
  • Docs: pytest fixtures for external API mocking
bash
Your developer reads this, implements the fix, and re-runs CI. Passes. What would have taken 45 minutes of log digging and debugging took 3 seconds of AI analysis.**3. Engineering Manager: Team Velocity Tracking****Scenario:** You manage a team of 12 engineers across 3 product squads. Leadership asks: "How's velocity trending?" "Why did sprint 23 miss goals?" "Who's overloaded?" You spend hours manually analyzing GitHub data - PRs merged, review times, contribution patterns.**How OpenClaw helps:**Connect OpenClaw to your GitHub organization:- **Velocity dashboards**: "Show me team velocity for Q1"  - AI analyzes PRs, commits, issues closed  - Visualizes trends: Sprint 22 (87 story points) vs Sprint 23 (63 story points, -27%)  - Identifies causes: 2 engineers on PTO, 1 major incident consumed 3 days- **Bottleneck identification**: "Why are PRs taking longer to merge?"  - AI finds: Average PR review time increased from 4 hours to 18 hours  - Root cause: Senior engineer (top reviewer) switched to new project  - Reviews now distributed across junior engineers who take longer  - Recommendation: Cross-train junior engineers or hire senior reviewer- **Contribution analysis**: "Show me contribution distribution this month"  - Top contributors: Alice (47 PRs), Bob (38 PRs), Carol (12 PRs)  - Carol's low number explained: Focused on one large refactoring PR (2000 lines)  - Identifies risk: Alice is a single point of failure for payments module- **Burnout detection**: "Is anyone overworked?"  - AI analyzes commit patterns, PR frequency, review workload  - Flags: Dave has 68 commits this week (avg: 25), working weekends  - Flags: Eve has reviewed 43 PRs this week (avg: 15), blocking vacation  - Suggests: Redistribute review responsibilities- **Sprint planning**: "Can we complete these 8 stories in the next sprint?"  - AI analyzes historical complexity of similar stories  - Estimates: Based on past sprints, this is 42 story points  - Team capacity: 38 points (2 engineers out, 1 holiday)  - Recommendation: Move 2 stories to backlog**Impact:**- Data-driven sprint planning (estimates 20% more accurate)- Early warning of team burnout (prevent attrition)- Identify skill gaps before they become blockers- Leadership reports generated in 2 minutes instead of 2 hours- Better resource allocation across teams**Real example:**

@OpenClaw analyze team velocity for the mobile squad in March

[OpenClaw responds]

Mobile Squad Velocity Report - March 2026

Summary:

  • PRs merged: 67 (-18% vs February)
  • Story points completed: 94 (target: 110, miss by 15%)
  • Average PR cycle time: 22 hours (↑ from 14 hours)
  • Code churn: 15,234 lines added, 8,901 deleted (healthy ratio)

Top Contributors:

  1. Alice Chen - 23 PRs, 4,127 lines
  2. Bob Wilson - 19 PRs, 3,456 lines
  3. Carol Martinez - 15 PRs, 2,890 lines
  4. Dave Kumar - 10 PRs, 5,601 lines (large refactoring PR #892)

Velocity Drop Root Causes:

  1. iOS 17 Compatibility (40% of capacity)

    • Unplanned work: Issues #734-#741 (iOS 17 release broke camera feature)
    • Impact: 3 engineers spent 1 week firefighting
    • Prevented by: Better beta testing
  2. PR Review Bottleneck (estimate: 20 hours lost)

    • Average review wait time: 16 hours (↑ from 6 hours)
    • Cause: Alice (primary reviewer) at conference Mar 12-16
    • No backup reviewer assigned
    • Recommendation: Train Carol as secondary reviewer for mobile
  3. Dependency Upgrade (15% of capacity)

    • React Native 0.71 → 0.73 took 2 days (PR #889)
    • Breaking changes required updates across 14 files
    • Future: Budget time for major dependency upgrades

Positive Trends:

  • Test coverage: 78% (↑ from 71% in Feb)
  • Zero high-severity bugs reached production
  • Documentation improved (8 new guides added)

Risks:

  • Alice is single reviewer for 70% of PRs (bus factor risk)
  • Dave working weekends (23 commits Sat/Sun, burnout risk)
  • Carol blocked on design specs for 3 stories (external dependency)

April Recommendations:

  • Assign backup reviewers to reduce Alice dependency
  • Check in with Dave about workload
  • Establish design-ready definition of done
  • Budget 10% capacity for iOS/Android OS updates
bash
You share this with leadership in your monthly review. What would have taken 3 hours of spreadsheet analysis took 30 seconds.**4. Security Team: Vulnerability Scanning****Scenario:** You're on the security team for a company with 150 repositories. Dependabot creates 40-60 PRs per week for dependency updates. You need to triage which are critical, which can wait, and which are safe to auto-merge. Manually reviewing each takes too long.**How OpenClaw helps:**Integrate OpenClaw with GitHub Security features:- **Dependabot triage**: "@OpenClaw analyze Dependabot PR #1234"  - AI reviews the update: `axios 0.27.2 → 1.6.5`  - CVE analysis: Fixes CVE-2023-45857 (High severity, CVSS 8.2)  - Exploit status: Exploit code publicly available  - Production impact: `axios` used in 12 services  - Breaking changes: None (patch version)  - Test coverage: All 47 axios-dependent tests pass  - **Recommendation:** Merge immediately and deploy to production- **Secret scanning**: "Check last 50 commits for exposed secrets"  - AI scans commit history and file changes  - Finds: AWS access key in `.env.example` (commit a3f5d9c)  - Severity: Low (example file, not real key)  - Finds: Stripe test API key in test fixtures (commit b7e2c1f)  - Severity: Low (test mode key, limited scope)  - Finds: Generic API password in `config.py` (commit 9d4f8a2)  - **Severity: CRITICAL** - Production credentials  - **Action:** Rotate credentials immediately, notify DevOps, audit access logs- **Code vulnerability detection**: "Review PR #456 for security issues"  - Identifies SQL injection vulnerability:    ```python    # UNSAFE: User input directly in query    query = f"SELECT * FROM users WHERE email = '{user_email}'"    ```  - Suggests fix:    ```python    # SAFE: Parameterized query    query = "SELECT * FROM users WHERE email = ?"    cursor.execute(query, (user_email,))    ```  - Explains risk: Attacker could inject `' OR '1'='1` to dump all users  - Links to OWASP guidelines- **License compliance**: "Are all dependencies using approved licenses?"  - AI scans package.json, requirements.txt, go.mod  - Finds issue: New dependency `fancy-ui-lib` uses GPL-3.0 license  - Company policy: Only MIT, Apache-2.0, BSD allowed  - **Risk:** GPL-3.0 requires open-sourcing your code  - Recommendation: Find alternative library or get legal approval- **Access control audit**: "Review who has admin access to critical repos"  - AI analyzes GitHub organization permissions  - Finds: 7 users with admin on `backend-api` repo  - Company policy: Max 3 admins per repo  - Identifies: 2 ex-employees still have access (offboarding failure)  - Identifies: 1 contractor with admin (should be write-only)  - **Action:** Remove 4 users, demote 1 to write**Impact:**- Dependabot PRs triaged in 10 seconds instead of 10 minutes- Critical vulnerabilities identified before merge (zero-day protection)- Secret leaks caught in commits (before they reach main)- License violations prevented (avoid legal issues)- Access control continuously audited (reduce attack surface)- Security team focuses on high-impact work instead of manual reviews**Real example:**

Dependabot Alert: lodash (High Severity)

@OpenClaw should we merge this Dependabot PR?

[OpenClaw responds]

Dependabot PR Analysis: lodash 4.17.19 → 4.17.21

CVE Fixed:

  • CVE-2020-28500 (CVSS 7.4, High Severity)
  • CVE-2021-23337 (CVSS 7.2, High Severity)

Vulnerability Type: Prototype Pollution
Exploit Available: Yes (PoC published on GitHub)
Attack Vector: Remote, Low Complexity

Production Impact Assessment:

āœ… Good news:

  • No breaking changes (patch version)
  • All 127 tests pass in CI
  • Used in 8 services:
    • backend-api (user-facing, HIGH RISK)
    • admin-dashboard (internal, MEDIUM RISK)
    • data-processor (background jobs, LOW RISK)
    • [+ 5 more]

āš ļø Potential Issues:

  • Changelog includes behavior change in _.merge()
  • Could affect deep object merging (rare)
  • Recommend: QA test user settings save flow (uses _.merge)

Recommendation: MERGE AND DEPLOY ASAP

Justification:

  1. High severity CVEs with public exploits
  2. backend-api is user-facing (exploit impact: account takeover)
  3. Minimal risk (patch version, tests pass)
  4. Quick rollback available if issues arise

Deploy Strategy:

  1. Merge Dependabot PR
  2. Deploy to staging
  3. Run smoke tests (especially user settings)
  4. Deploy to production
  5. Monitor error rates for 1 hour

Rollback Plan: If errors spike, revert commit a3f5d9c and redeploy previous version.

Timeline: Total: 15 minutes (merge: 1 min, staging deploy: 5 min, testing: 5 min, prod deploy: 4 min)

bash
You review the analysis, agree with the recommendation, and merge. A vulnerability that could have led to account takeover is patched in 15 minutes instead of sitting in the Dependabot queue for days.**5. Junior Developer: Code Learning and Best Practices****Scenario:** You're a junior developer who joined 3 months ago. You're assigned a task: "Add password reset functionality." You're not sure where to start. The codebase has 80,000 lines. You don't want to bother senior engineers with "dumb questions."**How OpenClaw helps:**Use OpenClaw to learn the codebase:- **Architecture understanding**: "How does authentication work in this codebase?"  - AI explains: Uses JWT tokens, stored in cookies  - Points to files: `auth/jwt.py`, `middleware/auth.py`  - Shows flow: Login → Generate JWT → Store in cookie → Middleware validates  - Links to docs: "JWT Best Practices" in team wiki- **Code examples**: "Show me an example of sending emails"  - AI finds: `notifications/email_sender.py`  - Shows usage:    ```python    from notifications import send_email        send_email(        to=user.email,        template='welcome',        context={'name': user.name}    )    ```  - Explains: Uses SendGrid, templates in `templates/email/`- **Implementation guidance**: "How should I implement password reset?"  - AI suggests architecture:    1. User requests reset → Generate secure token → Send email    2. User clicks link → Validate token → Allow password change    3. Store tokens in `password_reset_tokens` table (expires in 1 hour)  - Security recommendations:    - Use `secrets.token_urlsafe(32)` for tokens (not UUID)    - Hash tokens before storing (don't store plain text)    - Rate limit requests (max 3 per hour per email)  - Points to similar code: Email verification in `auth/verify_email.py`- **Code review before submitting**: "Review my implementation for issues"  - AI analyzes your code  - Finds: Token expiration not enforced (security risk)  - Finds: No rate limiting (abuse vector)  - Finds: Email not validated (could send to invalid addresses)  - Suggests: Add input validation, expiration check, rate limit decorator- **Testing guidance**: "What tests should I write?"  - AI suggests test cases:    - Valid reset flow (happy path)    - Expired token (should reject)    - Invalid token (should reject)    - Multiple reset requests (rate limit)    - Token already used (should reject)  - Provides test template:    ```python    def test_password_reset_valid_token(self):        user = create_user()        token = create_reset_token(user)                response = reset_password(token, new_password='newpass123')                assert response.status_code == 200        assert user.check_password('newpass123')    ```**Impact:**- Ramp-up time reduced from 6 months to 2 months- Fewer "how do I..." questions to senior engineers- Code quality improves (fewer bugs, better architecture)- Confidence increases (junior devs ship features independently)- Learning accelerates (instant feedback instead of waiting for code review)**Real example:**

@OpenClaw I need to add pagination to the /api/users endpoint. How should I do this?

[OpenClaw responds]

Implementing Pagination for /api/users

Current Implementation:

python
# api/users.py (lines 45-52)@app.route('/api/users')def get_users():    users = User.query.all()  # Fetches ALL users (problem!)    return jsonify([user.to_dict() for user in users])

Problem:

  • Fetches all users (could be 100,000+ records)
  • Slow response time (5-10 seconds)
  • High memory usage
  • No way to get next page

Solution: Offset-Based Pagination

This codebase uses offset pagination (see /api/posts for example).

Updated Implementation:

python
from flask import request@app.route('/api/users')def get_users():    # Get pagination params from query string    page = request.args.get('page', 1, type=int)    per_page = request.args.get('per_page', 20, type=int)        # Validate    per_page = min(per_page, 100)  # Max 100 per page        # Query with pagination    pagination = User.query.paginate(        page=page,        per_page=per_page,        error_out=False    )        return jsonify({        'users': [user.to_dict() for user in pagination.items],        'total': pagination.total,        'page': page,        'per_page': per_page,        'pages': pagination.pages,        'has_next': pagination.has_next,        'has_prev': pagination.has_prev    })

Usage:

bash
GET /api/users?page=1&per_page=20  → First 20 usersGET /api/users?page=2&per_page=20  → Next 20 users

Response Format:

json
{  "users": [{"id": 1, "name": "Alice"}, ...],  "total": 1543,  "page": 1,  "per_page": 20,  "pages": 78,  "has_next": true,  "has_prev": false}

Best Practices (from team wiki):

  1. Default page size: 20 items (see config.py DEFAULT_PAGE_SIZE)
  2. Max page size: 100 items (prevent abuse)
  3. Include metadata: total count, page numbers, has_next/has_prev
  4. Performance: Add database index on sort column (usually created_at)

Example in Codebase:

  • api/posts.py lines 89-112 (same pattern)
  • api/comments.py lines 45-68 (includes sorting)

Testing:

python
def test_users_pagination(self):    # Create 50 users    users = [create_user() for _ in range(50)]        # First page    response = client.get('/api/users?page=1&per_page=20')    data = response.json()        assert len(data['users']) == 20    assert data['total'] == 50    assert data['pages'] == 3    assert data['has_next'] is True

Need Help? See team docs: docs/api-pagination.md
Questions? Ask #engineering on Slack

bash
You implement the solution, add tests, and submit a PR. Your first feature ships without needing to interrupt a senior engineer.**6. Open Source Maintainer: Issue Triage and Community Management****Scenario:** You maintain a popular open source project with 15,000 stars and 200+ contributors. You receive 30-50 new issues per week. Most are duplicates, missing information, or questions (not bugs). You spend 10+ hours per week triaging issues instead of building features.**How OpenClaw helps:**Integrate OpenClaw with your GitHub repository:- **Automatic issue triage**: When a new issue is opened, OpenClaw:  - Checks for duplicates: "This looks similar to #1234 (closed) and #2456 (open)"  - Validates information: "Missing: Steps to reproduce, expected vs actual behavior"  - Categorizes: Applies labels (bug/feature/question/documentation)  - Assigns priority: Based on keywords ("production down" = P0)  - Suggests owner: "This is in the auth module, assign to @alice"- **Response generation**: For common issues, OpenClaw auto-responds:  - "How do I install this?" → Links to installation docs  - "Is this supported on Python 3.12?" → Checks compatibility matrix  - "Getting error X" → Searches similar issues, suggests solutions- **Duplicate detection**: "Is this a duplicate of #1234?"  - AI compares issue descriptions  - Finds: Both mention "TypeError in parse_config"  - Confirms: Yes, same root cause  - Auto-replies: "Duplicate of #1234. See that thread for workaround. Closing."- **Information extraction**: For bug reports, AI parses:  - Environment: Python 3.11, macOS 14.2, version 2.4.0  - Steps to reproduce: 1) Install package 2) Run command 3) Error appears  - Error message: `AttributeError: 'NoneType' object has no attribute 'get'`  - Expected vs actual: Expected success, got error- **Community management**: AI helps with:  - First-time contributor welcome messages  - Stale issue cleanup ("No activity in 90 days, closing")  - Thank you messages when PRs are merged  - Code of conduct enforcement (flags hostile comments)**Impact:**- Issue triage time drops from 10 hours/week to 2 hours/week- Response time improves (users get answers in minutes, not days)- Duplicate rate decreases (better search and detection)- Contributor satisfaction increases (faster, more helpful responses)- More time for feature development and community building**Real example:**

New Issue #2847: "Not working on Mac"

[OpenClaw auto-comment]

šŸ‘‹ Thanks for opening an issue!

To help us debug this, please provide:

  1. Your environment:

    • Python version: python --version
    • Package version: pip show yourpackage
    • Operating system: macOS version?
  2. Steps to reproduce:

    • What command did you run?
    • What did you expect to happen?
    • What actually happened?
  3. Error message:

    • Please paste the full error (use ``` code blocks)

This might be related to:

  • Issue #2701 - macOS permission errors (similar symptoms)
  • Issue #2534 - Python 3.12 compatibility (if you're on 3.12)

See our Troubleshooting Guide for common macOS issues.


[User provides more info]

Python 3.11, macOS 14.2, version 2.4.0 Running: yourpackage init Error: "Permission denied: /usr/local/lib/yourpackage"


[OpenClaw auto-comment]

Analysis

This is a known issue on macOS 14.2 (Sonoma) due to tightened filesystem permissions.

Root Cause: macOS 14.2 restricts write access to /usr/local/lib for non-system apps.

Solution 1 (Recommended): Use user-local installation

bash
pip install --user yourpackageyourpackage init --config-dir ~/.yourpackage

Solution 2: Grant permission (not recommended, security risk)

bash
sudo yourpackage init

Duplicate Issues:

  • #2701 (same error, same macOS version)
  • #2623 (fixed in v2.5.0 by using user-local by default)

Status: Fixed in v2.5.0 (released last week). Please upgrade:

bash
pip install --upgrade yourpackage

If the issue persists after upgrading, please reopen this issue.

Closing as duplicate of #2701.

bash
The user upgrades, it works, and they leave a ā­ļø review. Total maintainer time: 0 minutes. OpenClaw handled it.**7. Tech Lead: Architecture Review and Technical Debt****Scenario:** You're a tech lead responsible for architecture decisions and managing technical debt. Your team ships features fast, but code quality is slipping. You need to identify architectural problems, refactoring opportunities, and technical debt before they become critical issues.**How OpenClaw helps:**Use OpenClaw for continuous architecture review:- **Code smell detection**: "Analyze the codebase for code smells"  - AI scans all files and identifies:    - God classes: `UserService` has 47 methods (should be split)    - Duplicate code: Password validation logic copied in 5 places    - Long methods: `process_payment()` is 340 lines (should be <50)    - Deep nesting: 7 levels of if/else in `calculate_tax()`    - Circular dependencies: `models.py` imports `utils.py` imports `models.py`- **Architecture debt quantification**: "How much technical debt do we have?"  - AI calculates:    - Total debt: ~480 hours of refactoring work    - High priority (blocking): 120 hours (broken windows)    - Medium priority (slowing): 240 hours (maintenance burden)    - Low priority (cosmetic): 120 hours (nice-to-have)  - Recommends: Allocate 20% of sprint capacity to debt reduction- **Refactoring opportunities**: "What should we refactor next?"  - AI prioritizes by impact:    1. **Extract PaymentService** (40 hours, high impact)       - Currently: Payment logic in UserController, OrderController, SubscriptionController       - Problems: Duplicate code, hard to test, inconsistent error handling       - Benefit: Centralized logic, easier testing, consistent behavior    2. **Remove jQuery dependency** (20 hours, medium impact)       - Currently: jQuery used for 3 AJAX calls       - Problems: 87KB bundle size for minimal usage       - Benefit: -87KB bundle, use fetch API instead- **Dependency analysis**: "What are our most risky dependencies?"  - AI analyzes package.json:    - **High risk:** `old-crypto-lib` (unmaintained for 3 years, 2 known CVEs)    - **Medium risk:** `experimental-ui-kit` (pre-1.0, breaking changes every month)    - **Low risk:** `lodash` (well-maintained, stable API)  - Recommends: Replace `old-crypto-lib` with native Web Crypto API- **Performance bottlenecks**: "Find performance issues in the API"  - AI analyzes code and identifies:    - N+1 queries in `/api/users` (fetches each user's posts individually)    - Synchronous file I/O blocking event loop (use async)    - Unindexed database queries (missing indexes on `created_at`)    - Large bundle size (moment.js adds 300KB, use date-fns)- **Breaking change impact**: "If we change the User API, what breaks?"  - AI traces dependencies:    - 12 internal services call User API    - 3 external partners (need migration timeline)    - 8 frontend components (need updates)  - Recommends: Versioned API (`/api/v2/users`) for backward compatibility**Impact:**- Technical debt doesn't spiral out of control- Refactoring is prioritized by ROI (not gut feel)- Architecture stays clean as the codebase grows- Performance issues caught before they impact users- Breaking changes are planned, not surprises**Real example:**

@OpenClaw analyze the authentication module for refactoring opportunities

[OpenClaw responds]

Authentication Module Analysis

Files Analyzed:

  • auth/login.py (487 lines)
  • auth/register.py (523 lines)
  • auth/password_reset.py (312 lines)
  • auth/jwt.py (156 lines)
  • auth/oauth.py (687 lines)
  • middleware/auth.py (234 lines)

Total: 2,399 lines across 6 files


Issues Detected

šŸ”“ Critical (Fix Soon)

1. Duplicate JWT Logic

  • Problem: JWT generation code duplicated in 3 files
    • login.py lines 67-89
    • oauth.py lines 234-256
    • register.py lines 412-434
  • Impact: Inconsistent token expiration (login: 24h, OAuth: 7d, register: 1h)
  • Risk: Security issue (different expiration = confused auth state)
  • Fix: Extract to jwt.py as generate_token(user, expires_in=24h)
  • Effort: 2 hours

2. Password Hashing Inconsistency

  • Problem: Uses bcrypt in register.py but sha256 in password_reset.py
  • Impact: Password reset creates weaker hash than registration
  • Risk: Security vulnerability (sha256 is not suitable for passwords)
  • Fix: Use bcrypt everywhere, add migration for existing hashes
  • Effort: 4 hours (includes migration script)

3. Missing Rate Limiting

  • Problem: No rate limiting on /auth/login endpoint
  • Impact: Vulnerable to brute force attacks
  • Risk: Accounts can be compromised
  • Fix: Add rate limiting (5 attempts per 15 minutes per IP)
  • Effort: 2 hours

🟔 Medium Priority (Technical Debt)

4. God Class: OAuthProvider

  • Problem: oauth.py handles Google, Facebook, GitHub, Microsoft OAuth (687 lines)
  • Impact: Hard to test, difficult to add new providers
  • Fix: Extract each provider to separate class
    • GoogleOAuthProvider
    • FacebookOAuthProvider
    • etc.
  • Benefit: Easier testing, simpler to add new providers
  • Effort: 8 hours

5. Tight Coupling to Database

  • Problem: Auth logic directly queries database (no repository pattern)
  • Impact: Hard to test (requires database), can't switch databases
  • Fix: Introduce UserRepository abstraction
  • Benefit: Testable with mocks, database-agnostic
  • Effort: 12 hours

🟢 Low Priority (Nice to Have)

6. Inconsistent Error Messages

  • Problem: Login errors: "Invalid credentials" vs "Wrong password" vs "User not found"
  • Impact: Confusing UX, leaks information (user enumeration)
  • Fix: Standardize to "Invalid email or password"
  • Effort: 1 hour

Refactoring Plan

Sprint 1 (8 hours):

  • Fix JWT logic duplication (2h)
  • Fix password hashing (4h)
  • Add rate limiting (2h)

Sprint 2 (12 hours):

  • Refactor OAuthProvider (8h)
  • Standardize error messages (1h)
  • Add tests for edge cases (3h)

Sprint 3 (12 hours):

  • Introduce UserRepository (12h)

Total Effort: 32 hours across 3 sprints

Risk Mitigation:

  • Write tests before refactoring (prevent regressions)
  • Refactor one file at a time (incremental, easier to review)
  • Deploy to staging after each change (catch issues early)

Architecture Recommendation

Current Structure:

bash
auth/  login.py (handles login logic + JWT + validation)  register.py (handles registration + email + JWT)  oauth.py (handles 4 OAuth providers)

Recommended Structure:

bash
auth/  services/    auth_service.py (high-level auth operations)    jwt_service.py (JWT generation/validation)    password_service.py (hashing/verification)  providers/    google_oauth.py    facebook_oauth.py    github_oauth.py  repositories/    user_repository.py (database abstraction)  validators/    email_validator.py    password_validator.py

Benefits:

  • Clear separation of concerns
  • Each file <200 lines (easy to understand)
  • Testable in isolation
  • Easy to add new OAuth providers
  • Can swap database without changing auth logic
bash
You review this analysis, agree with the priorities, and add the refactoring tasks to your sprint backlog. What would have taken 4 hours of manual code review took 30 seconds.**8. Release Manager: Release Notes and Changelog Automation****Scenario:** You manage releases for a SaaS product that ships every 2 weeks. Each release requires:- Generating release notes from commits- Categorizing changes (features, fixes, breaking changes)- Writing customer-friendly descriptions- Updating changelog- Coordinating with marketing for announcementThis takes 3-4 hours per release. You want to automate it.**How OpenClaw helps:**Integrate OpenClaw with your release process:- **Automated release notes**: "Generate release notes for v2.5.0"  - AI analyzes all commits since v2.4.0  - Categorizes by type (feat/fix/docs/chore)  - Groups by area (auth, payments, API, UI)  - Writes customer-friendly descriptions:    - āŒ "refactor: extract PaymentService"    - āœ… "Improved payment processing reliability and performance"- **Breaking change detection**: "Are there breaking changes in v2.5.0?"  - AI scans commits for:    - API endpoint changes (method, URL, parameters)    - Database schema changes (migrations)    - Configuration changes (new env vars required)    - Dependency major version bumps  - Finds: User API now requires `email` field (was optional)  - Generates migration guide:    ```    BREAKING CHANGE: User API requires email        Before:    POST /api/users {"name": "Alice"}        After:    POST /api/users {"name": "Alice", "email": "alice@example.com"}        Migration: Update all API clients to include email field.    ```- **Changelog generation**: "Update CHANGELOG.md for v2.5.0"  - AI generates formatted changelog:    ```markdown    ## [2.5.0] - 2026-04-10        ### Added    - Two-factor authentication support    - Export data as CSV    - Dark mode for dashboard        ### Fixed    - Payment processing timeout on slow connections    - Email notifications not sent for failed charges    - Mobile responsive layout on iPad        ### Changed    - Improved search performance (3x faster)    - Updated dependencies (security patches)        ### Breaking Changes    - User API now requires email field    ```- **Version bump recommendation**: "Should this be a major, minor, or patch release?"  - AI follows semantic versioning:    - MAJOR: Breaking changes (API changed)    - MINOR: New features (backward-compatible)    - PATCH: Bug fixes only  - Analysis: 1 breaking change + 3 new features + 7 bug fixes  - **Recommendation:** MAJOR version bump (2.5.0 → 3.0.0)- **Marketing copy generation**: "Write a product announcement for v3.0.0"  - AI generates customer-facing copy:    ```    šŸŽ‰ Introducing v3.0.0: Secure, Fast, and Beautiful        We're excited to announce our biggest release yet!        šŸ”’ Enhanced Security: Two-factor authentication keeps your account safe    šŸ“Š Export Your Data: Download your data as CSV with one click    šŸŒ™ Dark Mode: Easy on the eyes for late-night work sessions    āš”ļø Faster Search: Find what you need 3x faster        Plus: 7 bug fixes and performance improvements.        Upgrade today: [link]        Note: This release includes breaking changes to the User API.    See migration guide: [link]    ```**Impact:**- Release notes generation time: 3 hours → 5 minutes- Consistent, professional release notes every time- Breaking changes never missed (automated detection)- Marketing team gets announcement copy automatically- Changelog always up-to-date**Real example:**

@OpenClaw generate release notes for v3.1.0 (commits since v3.0.0)

[OpenClaw responds]

Release Notes: v3.1.0

Release Date: April 10, 2026
Commits: 47 commits by 8 contributors
Changed Files: 156 files (+3,421 lines, -1,892 lines)


✨ New Features

1. Bulk Actions for Users

  • Export multiple users as CSV
  • Bulk delete users (with confirmation)
  • Bulk email users
  • Commits: #1234, #1245, #1256
  • Requested by: 23 users (top requested feature)

2. Webhook Support

  • Send events to external URLs (user.created, payment.success, etc.)
  • Retry failed webhooks automatically
  • Webhook logs for debugging
  • Commits: #1267, #1289
  • Use case: Integrate with Zapier, Slack, custom systems

3. API Rate Limit Dashboard

  • View API usage in real-time
  • See rate limit remaining
  • Upgrade prompts when approaching limits
  • Commits: #1298

šŸ› Bug Fixes

Payment Processing:

  • Fixed: Credit card form validation on Safari (#1201)
  • Fixed: Stripe webhook signature verification (#1223)
  • Fixed: Failed payment retry logic (#1234)

Dashboard:

  • Fixed: Chart tooltips not showing on mobile (#1245)
  • Fixed: Export button disabled incorrectly (#1256)
  • Fixed: Search results pagination (#1267)

API:

  • Fixed: 500 error when invalid date format (#1278)
  • Fixed: Rate limit headers missing in responses (#1289)

āš”ļø Performance Improvements

  • Dashboard loads 40% faster (optimized SQL queries)
  • API response time reduced 25% (added caching)
  • Reduced bundle size by 150KB (removed unused dependencies)
  • Commits: #1290, #1301, #1312

šŸ”’ Security Updates

  • Updated lodash 4.17.19 → 4.17.21 (CVE-2021-23337)
  • Updated axios 0.21.1 → 0.27.2 (CVE-2023-45857)
  • Added rate limiting to password reset endpoint
  • Commits: Dependabot PRs + #1323

šŸ“š Documentation

  • New: Webhook integration guide
  • Updated: API authentication docs
  • Added: Code examples for bulk actions
  • Commits: #1334, #1345

Breaking Changes

āš ļø None - This release is fully backward-compatible.


Upgrade Instructions

For Cloud Users: No action required. We'll deploy v3.1.0 on April 12 (this Saturday at 2am UTC).

For Self-Hosted Users:

  1. Backup your database
  2. Pull latest code: git pull origin main
  3. Run migrations: python manage.py migrate
  4. Restart services: systemctl restart yourapp
  5. Verify: Check /api/health endpoint

New Environment Variables:

  • WEBHOOK_SECRET (optional, for webhook signature validation)

See full upgrade guide: docs/upgrade-to-v3.1.md


Contributors

Thank you to our 8 contributors:

  • @alice (18 commits)
  • @bob (12 commits)
  • @carol (7 commits)
  • @dave (4 commits)
  • @eve (3 commits)
  • @frank (1 commit)
  • @grace (1 commit)
  • @heidi (1 commit)

Special thanks to the community for bug reports and feature requests!


Marketing Copy (Ready to Use)

Short Version (Twitter/Social):

bash
šŸš€ v3.1.0 is live!✨ Bulk actions for usersšŸŖ Webhook integrationsšŸ“Š API rate limit dashboardāš”ļø 40% faster performancešŸ› 8 bug fixesUpgrade now: [link]

Long Version (Blog/Email):

bash
We're excited to announce v3.1.0!This release focuses on power user workflows and integrations.Bulk Actions: Manage hundreds of users at once. Export, delete, or emailmultiple users with one click.Webhooks: Integrate with Zapier, Slack, or your custom systems. Get real-timenotifications when events happen.API Dashboard: See your API usage in real-time. No surprises when you hit limits.Plus: 40% faster dashboard, 8 bug fixes, and security updates.Fully backward-compatible. Upgrade today![CTA Button: Upgrade Now]

Internal Notes (Not for Public)

QA Testing:

  • āœ… Tested on staging (April 8)
  • āœ… Load testing passed (1000 req/s)
  • āœ… Security audit completed (no issues)
  • āœ… Mobile responsive checked

Rollback Plan: If critical issues arise, rollback to v3.0.0:

bash
git checkout v3.0.0python manage.py migrate auth 0012  # Rollback migrationssystemctl restart yourapp

Monitoring: Watch these metrics for 24h after deploy:

  • Error rate (should stay <0.1%)
  • API response time (should be <200ms)
  • Webhook delivery rate (should be >99%)
bash
You copy the release notes to GitHub, the marketing copy to your blog, and schedule the release. What would have taken 4 hours took 2 minutes.### Features Deep Dive**Pull Request Reviews**Automatic code review on every PR:- Comment on the PR with @OpenClaw to trigger review- AI analyzes changed files, not entire repo (fast)- Identifies bugs, security issues, performance problems- Suggests improvements and alternative approaches- Links to relevant documentation and past PRs- Configurable: Set team-specific rules and conventions**Issue Auto-Triage**Intelligent issue management:- New issues auto-labeled (bug/feature/question)- Duplicate detection (links to existing issues)- Missing information detection (asks for logs, environment)- Auto-assigns to team members based on expertise- Priority suggestions (based on keywords like "production down")- Response templates for common questions**Commit Message Generation**Better commit messages automatically:- Analyzes staged changes- Generates descriptive commit message- Follows conventional commits format- Includes context (why, not just what)- Detects breaking changes- Works with git hooks or manual invocation**Code Search and Navigation**Conversational codebase access:- Natural language queries ("where is user authentication?")- Semantic search (understands concepts, not just keywords)- Cross-reference navigation ("what calls this function?")- Dependency tracking ("what depends on this module?")- Architecture visualization (generates diagrams)- Historical context ("why was this implemented this way?")**CI/CD Integration**GitHub Actions intelligence:- Failed workflow analysis (what went wrong?)- Flaky test detection (unreliable tests identified)- Performance regression alerts (build times increasing)- Cost optimization (reduce Actions minutes usage)- Deployment validation (check for best practices)- Auto-retry failed jobs (when appropriate)**Security Scanning**Proactive security:- Dependency vulnerability scanning (CVE detection)- Secret detection (API keys, passwords in code)- Code vulnerability analysis (SQL injection, XSS)- License compliance checking (GPL, MIT, etc.)- Access control auditing (who has admin?)- Compliance reporting (SOC 2, GDPR, HIPAA)**Repository Analytics**Data-driven insights:- Team velocity tracking (PRs, commits, issues)- Contribution analysis (who's doing what?)- Bottleneck identification (where are delays?)- Code quality trends (improving or degrading?)- Dependency health (outdated packages?)- Test coverage evolution (coverage increasing?)**Automated Changelogs**Release automation:- Generate release notes from commits- Categorize changes (features, fixes, breaking)- Customer-friendly descriptions- Breaking change detection- Semantic versioning recommendations- Marketing copy generation**Multi-Repository Support**Works across your entire organization:- Connect unlimited repositories- Cross-repo code search- Organization-wide analytics- Consistent conventions across repos- Centralized configuration- Team-based permissions**GitHub App or OAuth**Flexible integration:- GitHub App (recommended for orgs)- OAuth (simpler for individuals)- Fine-grained permissions- Repository-level access control- Secure token management- Works with GitHub Enterprise---## Setup Option 1: HeraClaw Cloud (Recommended)**Time required:** 60 seconds**Technical skill:** None**Cost:** Included in HeraClaw Cloud subscription**Best for:** 95% of users, all team sizes**Why HeraClaw Cloud?**- No GitHub App creation required- No OAuth configuration needed- No webhook endpoint setup- No server infrastructure to maintain- No SSL certificates to manage- No uptime monitoring needed- Professional support included- Automatic updates and security patches- 99.9% uptime SLA- Enterprise-grade security- Instant PR reviews (no GitHub App approval workflow)**Steps:****1. Sign up for HeraClaw Cloud**- Visit cloud.getopenclaw.ai- Click "Sign In" (no credit card required)- Create your account (takes 60 seconds)**2. Navigate to Integrations**- Click "Integrations" in the left sidebar- Find "GitHub" in the list- Click "Connect to GitHub"**3. Authorize GitHub Access**- GitHub OAuth screen appears- Select repositories to grant access:  - All repositories (easiest)  - Only select repositories (more control)- Review permissions:  - Read code (for analysis)  - Read/write issues (for auto-triage)  - Read/write pull requests (for reviews)  - Read actions (for CI/CD integration)- Click "Authorize"**4. Configure Features (Optional)**- Back in HeraClaw dashboard- Enable/disable features:  - āœ… Auto-review PRs  - āœ… Auto-triage issues  - āœ… Generate commit messages  - āœ… Analyze CI failures  - āŒ Auto-merge dependabot (optional)- Set review rules:  - Review all PRs, or only when @mentioned  - Auto-comment or wait for request  - Severity threshold (comment on high/medium/all issues)- Save configuration**5. Test the Integration**- Open any pull request- Add comment: `@OpenClaw review this PR`- Wait 3-5 seconds- OpenClaw comments with code review**6. Invite Your Team**- In HeraClaw dashboard, go to Team- Invite team members (email)- They can interact with OpenClaw on GitHub- No additional GitHub setup needed**That's it!** You're up and running.**What You Get with HeraClaw Cloud:**āœ… **Instant Setup** - No GitHub App creation or OAuth flowsāœ… **Automatic Updates** - We handle GitHub API changesāœ… **Professional Support** - Email, chat, and phone supportāœ… **99.9% Uptime** - SLA-backed reliabilityāœ… **Enterprise Security** - SOC 2, GDPR, HIPAA availableāœ… **Unlimited Repositories** - Connect as many as you needāœ… **Advanced Features** - Multi-repo search, org-wide analyticsāœ… **No Maintenance** - We manage servers, scaling, monitoringāœ… **Instant PR Reviews** - No GitHub App installation approval needed**Pricing:** See cloud.getopenclaw.ai/pricing (starts with affordable team plans)**Get Started:** [Start with HeraClaw Cloud →](https://cloud.getopenclaw.ai/auth/signin)---## Setup Option 2: Self-Hosted (Advanced)**Time required:** 45-60 minutes (first time), 20-30 minutes (if experienced)**Technical skill:** Advanced**Cost:** VPS hosting ($20-100/month) + your time**Best for:** DevOps engineers, technical teams, compliance requirements**Who should self-host?**āœ… DevOps engineers who enjoy infrastructureāœ… Organizations with strict data residency requirementsāœ… Teams already running Kubernetes/Docker infrastructureāœ… Companies that cannot use third-party SaaSāœ… Technical enthusiasts with homelab setups**Who should NOT self-host?**āŒ Small teams without DevOps expertiseāŒ Anyone who values time over cost savingsāŒ Teams without 24/7 on-call coverageāŒ Organizations without security/compliance teams**Prerequisites:**- OpenClaw installed and running (Mac/Linux/VPS)- Terminal/SSH access to your OpenClaw server- GitHub organization admin permissions (or repo admin)- Understanding of OAuth 2.0 and webhooks- Public URL with SSL certificate (for webhooks)- Basic networking knowledge (ports, firewalls, reverse proxies)### Detailed Self-Hosted Setup**Step 1: Create a GitHub App**1. Go to GitHub Settings:   - For personal account: github.com/settings/apps   - For organization: github.com/organizations/YOUR_ORG/settings/apps2. Click "New GitHub App"3. Fill in app details:   - **GitHub App name:** "OpenClaw Assistant" (must be unique across GitHub)   - **Homepage URL:** Your OpenClaw URL or company website   - **Webhook URL:** `https://your-openclaw-domain.com/api/github/webhook`   - **Webhook secret:** Generate a secure random string (save it)     ```bash     openssl rand -hex 32     ```4. Set permissions (Repository permissions):   - **Actions:** Read (for CI/CD analysis)   - **Checks:** Write (for PR checks)   - **Contents:** Read (for code analysis)   - **Issues:** Write (for auto-triage)   - **Metadata:** Read (required)   - **Pull requests:** Write (for PR reviews)   - **Commit statuses:** Write (for PR status)   - **Deployments:** Read (for deployment tracking)5. Set permissions (Organization permissions, if applicable):   - **Members:** Read (for team analysis)6. Subscribe to events:   - āœ… Check run   - āœ… Commit comment   - āœ… Issue comment   - āœ… Issues   - āœ… Pull request   - āœ… Pull request review   - āœ… Pull request review comment   - āœ… Push   - āœ… Workflow run7. Where can this GitHub App be installed?   - Select "Only on this account" (or "Any account" for public apps)8. Click "Create GitHub App"**Step 2: Generate Private Key**1. After creating the app, scroll to "Private keys"2. Click "Generate a private key"3. A `.pem` file downloads4. **Save this file securely** - you'll need it for OpenClaw config5. Move it to your OpenClaw server:   ```bash   scp github-app-private-key.pem user@openclaw-server:/etc/openclaw/github-app-key.pem   chmod 600 /etc/openclaw/github-app-key.pem

Step 3: Install the GitHub App

  1. In your GitHub App settings, click "Install App" (left sidebar)
  2. Choose the account/organization to install on
  3. Choose repositories:
    • All repositories (easiest)
    • Only select repositories (more control)
  4. Click "Install"
  5. Note the Installation ID from the URL:
    • URL: github.com/settings/installations/12345678
    • Installation ID: 12345678

Step 4: Configure OpenClaw

Edit your OpenClaw config file (usually ~/.openclaw/config.yaml):

yaml
integrations:  github:    enabled: true        # GitHub App credentials    appId: 123456  # From GitHub App settings (General → App ID)    installationId: 12345678  # From installation URL    privateKeyPath: "/etc/openclaw/github-app-key.pem"    webhookSecret: "your-webhook-secret-here"        # Features    features:      autoReviewPRs: true  # Auto-review all PRs      autoTriageIssues: true  # Auto-triage new issues      ciAnalysis: true  # Analyze failed CI runs      commitMessages: true  # Generate commit messages      security: true  # Scan for vulnerabilities        # Review settings    review:      # When to review      trigger: "mention"  # Options: "all", "mention", "label"      mentionKeyword: "@OpenClaw"  # Trigger phrase            # What to review      checks:        - "security"  # Security vulnerabilities        - "performance"  # Performance issues        - "bugs"  # Potential bugs        - "style"  # Code style        - "tests"  # Test coverage            # Severity threshold      commentOn: "medium"  # Options: "all", "medium", "high", "critical"            # Auto-approve      autoApprove: false  # Don't auto-approve (human review required)      autoApproveDependabot: true  # Exception: auto-approve Dependabot patches        # Issue triage settings    issues:      autoLabel: true  # Auto-apply labels      autoAssign: true  # Auto-assign to team members      autoDuplicate: true  # Detect duplicates      autoRespond: true  # Respond to common questions            # Team assignments (map labels to GitHub users)      assignments:        "backend": "@alice"        "frontend": "@bob"        "devops": "@carol"        "security": "@dave"        # CI/CD settings    ci:      analyzeFailures: true  # Auto-analyze failed runs      commentOnPR: true  # Comment on PR when CI fails      suggestFixes: true  # Suggest how to fix      detectFlaky: true  # Detect flaky tests        # Rate limiting (GitHub API has rate limits)    rateLimit:      requestsPerHour: 5000  # GitHub's default      burstAllowance: 100  # Allow bursts

Step 5: Set Up Webhook Endpoint

Your OpenClaw server must be publicly accessible for webhooks.

Option A: Use a reverse proxy (recommended)

Nginx configuration:

nginx
server {    listen 443 ssl;    server_name your-openclaw-domain.com;        ssl_certificate /etc/letsencrypt/live/your-domain/fullchain.pem;    ssl_certificate_key /etc/letsencrypt/live/your-domain/privkey.pem;        location /api/github/webhook {        proxy_pass http://localhost:8080;  # OpenClaw port        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_set_header X-Forwarded-Proto $scheme;    }}

Option B: Use Caddy (simpler)

Caddyfile:

bash
your-openclaw-domain.com {    reverse_proxy /api/github/webhook localhost:8080}

Caddy handles SSL automatically.

Option C: Use ngrok (for testing)

bash
ngrok http 8080# Use the generated URL (https://abc123.ngrok.io) as webhook URL

Not recommended for production (temporary URL).

Step 6: Start OpenClaw

bash
# If running as a servicesudo systemctl restart openclaw# If running directlyopenclaw gateway start# Check logsopenclaw gateway logs --follow

What to look for in logs:

bash
āœ“ GitHub integration enabledāœ“ App ID: 123456āœ“ Installation ID: 12345678āœ“ Private key loadedāœ“ Webhook endpoint: /api/github/webhookāœ“ Listening for events: pull_request, issues, check_run, ...

Step 7: Test the Integration

Test 1: Webhook delivery

  1. Go to your GitHub App settings
  2. Click "Advanced" → "Recent Deliveries"
  3. Create a test PR or issue
  4. Check if webhook was delivered (should see 200 response)

Test 2: PR review

  1. Create a pull request in your repo
  2. Add comment: @OpenClaw review this PR
  3. Wait 5-10 seconds
  4. OpenClaw should comment with code review

Test 3: Issue triage

  1. Create a new issue
  2. OpenClaw should auto-comment with:
    • Labels applied
    • Duplicate check results
    • Suggested assignment

Test 4: CI analysis

  1. Break a test and push
  2. Wait for CI to fail
  3. OpenClaw should comment on the commit with failure analysis

If tests fail, check logs for errors.

Advanced Self-Hosted Configuration

Multiple Organizations

Run one OpenClaw instance for multiple GitHub organizations:

yaml
integrations:  github:    instances:      main_org:        appId: 123456        installationId: 12345678        privateKeyPath: "/etc/openclaw/main-org-key.pem"        webhookSecret: "secret1"            client_org:        appId: 789012        installationId: 87654321        privateKeyPath: "/etc/openclaw/client-org-key.pem"        webhookSecret: "secret2"        # Different config for this org        features:          autoReviewPRs: false  # Manual review only

Custom Review Rules

Team-specific conventions:

yaml
integrations:  github:    review:      customRules:        # Require tests for all PRs        - name: "test_coverage"          check: "tests_added"          severity: "error"          message: "All PRs must include tests"                # No console.log in production code        - name: "no_console_log"          pattern: "console\.log\("          exclude: ["test/**", "scripts/**"]          severity: "warning"          message: "Remove console.log before merging"                # Require JIRA ticket in PR title        - name: "jira_ticket"          check: "pr_title_matches"          pattern: "^[A-Z]+-[0-9]+:"          severity: "error"          message: "PR title must start with JIRA ticket (e.g., ENG-123: Fix bug)"

Repository-Specific Settings

Different behavior per repository:

yaml
integrations:  github:    repositories:      # Backend repo: strict security checks      "your-org/backend-api":        review:          checks:            - "security"  # High priority            - "performance"            - "bugs"          commentOn: "medium"        security:          scanDependencies: true          blockVulnerabilities: "high"  # Block merge if high CVE            # Frontend repo: focus on performance and accessibility      "your-org/frontend":        review:          checks:            - "performance"            - "accessibility"            - "style"          commentOn: "all"        ci:          analyzeFailures: true          detectFlaky: true            # Docs repo: minimal checks      "your-org/documentation":        review:          checks:            - "style"          commentOn: "high"        autoApprove: true  # Auto-approve docs changes

Notification Settings

Where to send alerts:

yaml
integrations:  github:    notifications:      # Slack notifications      slack:        enabled: true        webhookUrl: "https://hooks.slack.com/services/..."        channel: "#github-activity"        events:          - "pr_opened"          - "security_vulnerability"          - "ci_failure"            # Email notifications      email:        enabled: true        recipients:          - "team@company.com"        events:          - "security_vulnerability"          - "breaking_change"            # Webhook notifications (to your system)      webhook:        enabled: true        url: "https://your-system.com/api/github-events"        events:          - "*"  # All events

Access Control

Restrict who can interact:

yaml
integrations:  github:    access:      # Only these GitHub users can trigger reviews      allowedUsers:        - "alice"        - "bob"        - "carol"            # Only users in these GitHub teams      allowedTeams:        - "engineering"        - "devops"            # Repository-level overrides      repositories:        "your-org/public-repo":          allowedUsers: "*"  # Anyone (public repo)

Caching and Performance

Speed up analysis:

yaml
integrations:  github:    performance:      # Cache code analysis results      cache:        enabled: true        ttl: 3600  # 1 hour        backend: "redis"  # or "memory"        redisUrl: "redis://localhost:6379/0"            # Parallel analysis      parallel:        enabled: true        maxWorkers: 4  # Analyze 4 files concurrently            # Skip large files      skipFilesLargerThan: 1000000  # 1MB (e.g., minified JS)

Troubleshooting Self-Hosted Setup

Webhooks Not Being Received

Symptoms: PR opened, but OpenClaw doesn't respond

Potential causes:

  1. Webhook URL incorrect or not publicly accessible
  2. SSL certificate invalid
  3. Firewall blocking requests
  4. Webhook secret mismatch

Fix:

bash
# Test webhook URL is accessiblecurl -I https://your-openclaw-domain.com/api/github/webhook# Should return 200 or 405 (method not allowed is fine)# Check GitHub webhook delivery# GitHub App Settings → Advanced → Recent Deliveries# Look for failed deliveries and error messages# Verify webhook secret matches# config.yaml webhookSecret should match GitHub App webhook secret# Check firewallsudo ufw status  # Ubuntusudo firewall-cmd --list-all  # CentOS# Ensure port 443 is open

"Bad Credentials" Error

Symptoms: Logs show "GitHub API authentication failed"

Potential causes:

  1. Invalid private key
  2. Incorrect App ID or Installation ID
  3. GitHub App not installed on repository
  4. Private key file permissions too open

Fix:

bash
# Verify private key file exists and is readablels -l /etc/openclaw/github-app-key.pem# Should be: -rw------- (600 permissions)chmod 600 /etc/openclaw/github-app-key.pem# Verify App ID# GitHub App Settings → General → App ID (should match config)# Verify Installation ID# GitHub → Settings → Installations → Click your app# URL: github.com/settings/installations/12345678# 12345678 is your installation ID# Verify app is installed# GitHub repo → Settings → Integrations & services# Your app should be listed

PR Review Not Triggering

Symptoms: @mention OpenClaw, nothing happens

Potential causes:

  1. Webhook not configured for "issue_comment" event
  2. OpenClaw not subscribed to PR comments
  3. Wrong mention keyword
  4. Bot user doesn't have access to repository

Fix:

yaml
# Verify trigger setting in config.yamlintegrations:  github:    review:      trigger: "mention"  # Must be "mention" for @-trigger      mentionKeyword: "@OpenClaw"  # Match your GitHub App name
bash
# Check GitHub App events# GitHub App Settings → Permissions & events# Ensure subscribed to:# - Issue comment# - Pull request review comment# Check logs for mention detectionopenclaw gateway logs | grep -i "mention"

High GitHub API Rate Limit Usage

Symptoms: Logs show "rate limit exceeded" or API calls failing

Potential causes:

  1. Too many repositories connected
  2. Analyzing large PRs frequently
  3. Not using conditional requests (ETags)
  4. Polling instead of webhooks

Fix:

bash
# Check current rate limit statuscurl -H "Authorization: Bearer YOUR_TOKEN" \     https://api.github.com/rate_limit# Shows:# - Limit: 5000 requests/hour (for GitHub Apps)# - Remaining: X# - Reset: Unix timestamp
yaml
# Enable caching to reduce API callsintegrations:  github:    performance:      cache:        enabled: true        ttl: 3600            # Use conditional requests      useETags: true            # Reduce parallel workers      parallel:        maxWorkers: 2  # Instead of 4

CI Analysis Not Working

Symptoms: CI fails, but OpenClaw doesn't analyze

Potential causes:

  1. Not subscribed to "check_run" or "workflow_run" events
  2. GitHub Actions permissions not granted
  3. CI analysis disabled in config

Fix:

yaml
# Enable CI analysisintegrations:  github:    features:      ciAnalysis: true        ci:      analyzeFailures: true      commentOnPR: true
bash
# Verify GitHub App permissions# GitHub App Settings → Permissions & events# Repository permissions:# - Actions: Read āœ“# - Checks: Write āœ“# Verify event subscriptions:# - Check run āœ“# - Workflow run āœ“

Memory Issues with Large Repositories

Symptoms: OpenClaw crashes or slows down on large repos

Potential causes:

  1. Analyzing entire repository instead of just changes
  2. Not using shallow clones
  3. Loading too many files into memory

Fix:

yaml
integrations:  github:    performance:      # Only analyze changed files in PRs      analyzeChangedFilesOnly: true            # Skip large files      skipFilesLargerThan: 1000000  # 1MB            # Use shallow clones      shallowClone: true      cloneDepth: 1            # Limit context      maxFilesPerReview: 50      maxLinesPerFile: 5000

Security Best Practices for Self-Hosted

1. Protect Your Private Key

bash
# Store private key in secure locationsudo mkdir -p /etc/openclawsudo mv github-app-private-key.pem /etc/openclaw/sudo chmod 600 /etc/openclaw/github-app-private-key.pemsudo chown openclaw:openclaw /etc/openclaw/github-app-private-key.pem# Never commit to gitecho "/etc/openclaw/*.pem" >> .gitignore# Use secrets management (recommended)# Store in HashiCorp Vault, AWS Secrets Manager, etc.

2. Validate Webhook Signatures

Always verify webhooks are from GitHub:

yaml
integrations:  github:    webhookSecret: "your-secret-here"  # Required!    validateWebhooks: true  # Always true

OpenClaw validates signatures automatically, but ensure webhookSecret is set.

3. Use HTTPS Everywhere

nginx
# Force HTTPSserver {    listen 80;    server_name your-openclaw-domain.com;    return 301 https://$server_name$request_uri;}server {    listen 443 ssl;    server_name your-openclaw-domain.com;        # Strong SSL configuration    ssl_protocols TLSv1.2 TLSv1.3;    ssl_ciphers HIGH:!aNULL:!MD5;    ssl_prefer_server_ciphers on;        # ...}

4. Principle of Least Privilege

Only grant necessary permissions:

  • Don't request "Admin" if "Write" is sufficient
  • Don't subscribe to all events if you only need PR events
  • Use "Only select repositories" instead of "All repositories" when possible

5. Rotate Credentials Regularly

bash
# Every 90 days:# 1. Generate new private key in GitHub App settings# 2. Download new .pem file# 3. Update OpenClaw config# 4. Restart OpenClaw# 5. Revoke old key in GitHub

6. Audit Logs

Enable comprehensive logging:

yaml
logging:  audit:    enabled: true    logFile: "/var/log/openclaw/audit.log"    logLevel: "info"    includeGitHubEvents: true    includeAPIcalls: true        # What to log    events:      - "pr_reviewed"      - "issue_triaged"      - "webhook_received"      - "api_call"      - "error"

7. Network Security

bash
# Firewall: Only allow necessary portssudo ufw default deny incomingsudo ufw default allow outgoingsudo ufw allow 22/tcp    # SSHsudo ufw allow 80/tcp    # HTTP (redirect to HTTPS)sudo ufw allow 443/tcp   # HTTPSsudo ufw enable# Fail2ban: Prevent brute forcesudo apt install fail2ban# Configure to ban IPs with repeated failed requests

8. Regular Updates

bash
# Keep OpenClaw updatedopenclaw update# Keep system updatedsudo apt update && sudo apt upgrade  # Ubuntu/Debiansudo yum update  # CentOS# Subscribe to security notifications# GitHub: Watch the OpenClaw repo for releases# Email: Subscribe to security mailing list

Comparison: HeraClaw Cloud vs Self-Hosted

FeatureHeraClaw Cloud ✨Self-Hosted šŸ› ļø
Setup time60 seconds45-60 minutes (first time)
Technical skillNoneAdvanced
InfrastructureManaged for youYou maintain servers
GitHub App configPre-configuredManual setup required
Webhook endpointProvidedYou configure (SSL, DNS, firewall)
UpdatesAutomaticManual updates required
GitHub API changesWe handle itYou must update
SupportProfessional support teamCommunity forums
Uptime SLA99.9% guaranteedDIY
Security certsSOC 2, GDPR, HIPAASelf-certification
Monitoring24/7 monitoringYou set up alerts
CostMonthly subscriptionVPS + your time
ScalingAuto-scalesManual scaling
Multi-org supportUnlimitedLimited by infra
PR review approvalInstant (no App approval)Requires GitHub App installation
SSL/TLSIncludedYou manage certificates
Data residencyUS/EU regionsYour choice
Custom integrationsRequest featuresFull control
ComplianceWe handle auditsYou handle audits

Why 95% of users choose HeraClaw Cloud:

āœ… Time is valuable - 45-60 min setup + ongoing maintenance adds up āœ… GitHub API changes frequently - We handle breaking changes automatically āœ… Security is hard - SOC 2 compliance takes months and $$$ to achieve āœ… Reliability matters - 99.9% SLA vs DIY uptime monitoring āœ… Support is worth it - Email/chat/phone support when things break āœ… Hidden costs - SSL certs, VPS, monitoring tools, incident response time āœ… GitHub App approval - Cloud bypasses installation approval workflows

When self-hosting makes sense:

āœ… You have DevOps engineers with spare capacity āœ… Data cannot leave your infrastructure (compliance) āœ… You're already running Kubernetes/Docker setups āœ… You want to heavily customize the codebase āœ… You have 24/7 on-call rotation to handle incidents āœ… Using GitHub Enterprise Server (on-premise)


Frequently Asked Questions

Q: Does this work with GitHub Enterprise?

A: Yes! Both GitHub Enterprise Cloud and GitHub Enterprise Server are supported.

  • HeraClaw Cloud: Works with GitHub Enterprise Cloud out of the box
  • Self-Hosted: Works with both Enterprise Cloud and Server (on-premise)

Q: Can I use this with private repositories?

A: Absolutely. Both public and private repositories are fully supported. Your code is analyzed securely.

Q: Will it auto-merge Dependabot PRs?

A: Configurable. You can enable auto-merge for:

  • Patch versions only (1.2.3 → 1.2.4)
  • Minor versions (1.2.0 → 1.3.0)
  • All Dependabot PRs
  • Or require manual review for everything (default)

Q: How fast are PR reviews?

A: Typically 3-10 seconds from @mention to comment, depending on:

  • PR size (10 lines vs 1000 lines)
  • Model speed (Claude Opus vs Sonnet)
  • Complexity (simple fix vs architectural change)

Q: Can I customize review rules?

A: Yes! Configure:

  • What to check (security, performance, bugs, style)
  • Severity threshold (comment on all issues or only high severity)
  • Team-specific conventions (naming, patterns, required tests)
  • Repository-specific rules

Q: Does it support monorepos?

A: Yes. OpenClaw understands monorepo structure and can:

  • Review only changed packages
  • Apply package-specific rules
  • Route reviews to package owners
  • Generate package-specific changelogs

Q: What about GitHub Enterprise Server (self-hosted GitHub)?

A: Supported via self-hosted OpenClaw. Requirements:

  • OpenClaw server must reach your GitHub Enterprise Server
  • GitHub Enterprise Server must reach OpenClaw (for webhooks)
  • Or use polling mode (webhooks optional)

Q: Can it review commits, not just PRs?

A: Yes. Configure to review:

  • All commits to main branch
  • All commits across all branches
  • Only commits in PRs
  • Only when @mentioned in commit comments

Q: Is my code sent to OpenAI/Anthropic?

A: Depends on your model choice:

  • Cloud models (GPT-4, Claude): Yes, code is sent (encrypted in transit)
  • Self-hosted models (Llama, CodeLlama): No, everything stays local
  • HeraClaw Cloud: We use Claude (Anthropic) with enterprise data protection

Q: Does it understand multiple programming languages?

A: Yes. Supports 50+ languages:

  • Popular: Python, JavaScript, TypeScript, Java, Go, Rust, C++, C#, Ruby, PHP
  • Modern: Swift, Kotlin, Dart, Elixir, Scala
  • Niche: COBOL, Fortran, Assembly (basic support)
  • Config: YAML, JSON, TOML, XML
  • Infrastructure: Terraform, Dockerfile, Kubernetes manifests

Q: Can it enforce team conventions?

A: Yes! Define custom rules:

  • Code style (naming conventions, file structure)
  • Required tests (unit tests, integration tests)
  • Documentation requirements (JSDoc, docstrings)
  • Commit message format (Conventional Commits)
  • PR title format (JIRA ticket prefix)

Q: What if I disagree with the review?

A: AI reviews are suggestions, not requirements. You can:

  • Ignore the suggestion (add comment explaining why)
  • Discuss in PR comments
  • Mark as "not applicable"
  • Adjust review rules to prevent similar comments

Q: Does it integrate with other tools?

A: Yes. Common integrations:

  • Slack: PR review notifications in Slack channels
  • Jira: Link PRs to Jira tickets, update status
  • Datadog: Send metrics (review times, issue counts)
  • PagerDuty: Alert on critical security findings
  • Email: Digest emails with weekly summaries

Q: Can multiple team members use the same GitHub App?

A: Yes. The GitHub App is installed once per organization. All team members can:

  • @mention the bot in PRs and issues
  • Receive reviews and triage assistance
  • Use commit message generation

Q: How much does it cost?

HeraClaw Cloud:

  • See cloud.getopenclaw.ai/pricing
  • Starts with affordable team plans
  • No credit card required to try
  • Scales with team size and usage

Self-Hosted:

  • Free (open source)
  • Costs: VPS ($20-100/month) + your time
  • Model costs (if using OpenAI/Anthropic APIs)
  • Or use local models (free, but slower)

Q: Can I migrate from self-hosted to Cloud?

A: Absolutely. Export your configuration, sign up for HeraClaw Cloud, import settings. Most users migrate in under 15 minutes and never look back.

Q: What about GitHub Copilot? How is this different?

A: Different use cases:

  • GitHub Copilot: Code completion in your editor (individual developer tool)
  • OpenClaw: Team collaboration, PR reviews, issue triage, CI/CD (team productivity tool)
  • They're complementary! Use both for maximum productivity.

Q: Does it work with GitHub Actions?

A: Yes. OpenClaw integrates with Actions to:

  • Analyze failed workflow runs
  • Detect flaky tests
  • Suggest performance optimizations
  • Generate deployment summaries
  • Auto-comment on PRs when CI fails

Q: Can it help with security compliance (SOC 2, ISO 27001)?

A: Yes. Features that help:

  • Audit logs (all AI interactions)
  • Automated security scanning
  • Dependency vulnerability tracking
  • Access control enforcement
  • Compliance reporting

Q: What if GitHub is down?

A: HeraClaw Cloud: We handle it gracefully. Webhooks are queued and processed when GitHub recovers. Self-Hosted: Configure retry logic and queueing.

Q: Can I use this for open source projects?

A: Absolutely! Many open source maintainers use OpenClaw for:

  • Issue triage (reduce duplicate issues)
  • First-time contributor guidance
  • PR reviews (catch issues before merge)
  • Release automation

HeraClaw Cloud offers discounts for open source projects. Contact support@cloud.getopenclaw.ai.


Get Started

For 95% of users (recommended):

Start with HeraClaw Cloud →

  • 60-second setup
  • No technical skills needed
  • No GitHub App creation
  • Instant PR reviews
  • Professional support
  • 99.9% uptime SLA
  • No credit card required

For advanced users only:

Self-Hosting Setup Guide →

  • 45-60 minute setup
  • Requires DevOps skills
  • You maintain infrastructure
  • Full control and customization
  • Works with GitHub Enterprise Server

Questions? Email support@cloud.getopenclaw.ai or join our community Slack for help.

Last updated: April 10, 2026

Built with OpenClaw — The open-source AI assistant platform. Self-host or use HeraClaw Cloud.

Features

PR code review

AI analysis of pull requests with issue detection and improvement suggestions

Issue management

Create, update, triage, and close GitHub issues via natural language

Release notes

Auto-generate changelogs from merged PRs and closed issues

Multi-repo support

Connect to specific repos or entire GitHub organizations

Webhook events

React to PRs, issues, and comments in real-time

GitHub Actions

Trigger and monitor CI/CD workflows from your assistant

Use Cases

→

Automated code review

Every PR gets AI review before human review — catch bugs earlier

→

Issue triage

Auto-categorize and prioritize incoming bug reports and feature requests

→

Release automation

Generate release notes and changelogs from PR history

→

Developer onboarding

New devs get context-aware answers about the codebase

Setup Guide

Requirements

  • āœ“GitHub account
  • āœ“GitHub CLI (gh) installed
  • āœ“Authenticated with 'gh auth login'
1

Install GitHub CLI

Run 'brew install gh' (Mac) or follow GitHub's instructions for your platform.

2

Authenticate

Run 'gh auth login' and complete the browser authentication flow.

3

Verify access

Run 'gh repo list' to confirm you can access your repositories.

4

Start using

OpenClaw will automatically use the gh CLI for GitHub operations.

Limitations

  • āš ļøComplex git operations may need terminal access
  • āš ļøLarge diffs are summarized rather than shown in full

Frequently Asked Questions

Does it work with GitHub Enterprise?

Yes, the gh CLI supports GitHub Enterprise. Configure with 'gh auth login --hostname your-enterprise.com'.

Can it push code?

OpenClaw can execute git commands including push, but we recommend reviewing changes before pushing.

What about private repositories?

Access depends on your gh authentication. If you can access a repo via gh CLI, your assistant can too.

Can it write code?

OpenClaw can help write code, create files, and make commits. Code review before merging is always recommended.

šŸ”„ Your AI should run your business, not just answer questions.

We'll show you how.Free to join.

Join Vibe Combinator →

šŸ™ Your AI should run your business.

Weekly live builds + template vault. We'll show you how to make AI actually work.Free to join.

Join Vibe Combinator →