mirror of
https://github.com/eliasstepanik/core.git
synced 2026-01-10 08:48:29 +00:00
2.5 KiB
2.5 KiB
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 informationpublic_repo- Access public repositoriesrepo- Access private repositoriesnotifications- Read notificationsgist- Access gistsread:org- Read organization membershiprepo_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}