# GitHub Integration Automatic GitHub activity tracking and notification processing for CORE memory system. ## Overview The GitHub integration captures your GitHub activities and notifications, processes them into structured events, and ingests them into CORE's knowledge graph for intelligent memory and context building. ## Features ### 📊 Activity Tracking - **Pull Requests**: Created, commented, reviewed - **Issues**: Created, assigned, commented, self-assigned - **Comments**: PR comments, issue comments - **Repository Events**: Watching, subscribing, state changes ### 🔔 Notification Processing - **Assignments**: Issues and PRs assigned to you - **Reviews**: PR review requests - **Mentions**: @mentions in discussions - **Comments**: New comments on your content - **State Changes**: PR/issue open/close/merge events - **Subscriptions**: Updates on watched repositories - **Team Mentions**: Team @mentions ### 🔗 MCP Integration - Uses GitHub Copilot MCP server for extended functionality - Provides seamless integration with GitHub's AI tools ## Authentication Uses OAuth2 with the following scopes: - `user` - Access user profile information - `public_repo` - Access public repositories - `repo` - Access private repositories - `notifications` - Read notifications - `gist` - Access gists - `read:org` - Read organization membership - `repo_hooks` - Manage repository webhooks ## Configuration ### Schedule - **Frequency**: Every 5 minutes (`*/5 * * * *`) - **Sync Window**: 24 hours (configurable) - **Rate Limiting**: Built-in GitHub API rate limit handling ### Data Processing - **Deduplication**: Filters out duplicate events using timestamps - **Entity Extraction**: Extracts users, repositories, PR/issue numbers - **Relationship Mapping**: Creates connections between entities - **Temporal Tracking**: Maintains event chronology ## Event Types ### User Activities ``` {username} created PR #{number} in {repo}: {title} {username} created issue #{number} in {repo}: {title} {username} commented on PR #{number} in {repo}: {title} {username} commented on issue #{number} in {repo}: {title} {username} assigned themselves to issue #{number} in {repo}: {title} ``` ### Notifications ``` Issue #{number} assigned to {username} in {repo}: {title} {actor} commented on {username}'s PR #{number} in {repo}: {body} {actor} mentioned {username} in {repo} issue #{number}: {body} {username} requested to review PR #{number} in {repo}: {title} {actor} changed PR #{number} state to {state} in {repo}: {title} ```