Skip to main content

aim-github-sync

Synchronize GitHub issues, PRs, commits, and CI results to AI Memory

설치로 이동

소스 정보

저장소
Hidden-History/ai-memory
최근 소스 활동
2026년 6월 3일 18:19
감지된 SKILL.md 언어
영어
스타
41
포크
5

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
aim-github-sync
description
Synchronize GitHub issues, PRs, commits, and CI results to AI Memory
allowed-tools
Bash
# GitHub Sync - Synchronize GitHub Content Synchronize GitHub issues, pull requests, commits, and CI results from the configured repository into the AI Memory discussions collection. ## Activation ```text # Incremental sync (default) - only fetch updated items /aim-github-sync # Full sync - fetch all items from scratch /aim-github-sync --full # Check sync status (last sync time, items synced, errors) /aim-github-sync --status ``` ## Options - `--incremental` - Sync only updated items since last sync (default) - `--full` - Full sync: fetch all items from scratch - `--status` - Display sync status (last sync time, items synced per type) ## Sync Modes ### Incremental Sync (Default) - Fetches items updated since last sync timestamp per document type - Faster and more efficient for regular updates - Priority order: PRs -> Issues -> Commits -> CI Results - Updates existing documents via dedup/versioning protocol (SPEC-005) ### Full Sync - Fetches all items from scratch - Use for initial setup or after schema changes - Warning: Can be slow for large repositories ## Configuration Sync requires GitHub credentials in `.env`: ```env GITHUB_TOKEN=ghp_your_token_here GITHUB_REPO=owner/repo-name GITHUB_BRANCH=main GITHUB_SYNC_ENABLED=true ``` ## Implementation Reference This skill invokes `GitHubSyncEngine.sync()` from `src/memory/connectors/github/sync.py`: ```bash "${AI_MEMORY_INSTALL_DIR:-$HOME/.ai-memory}/scripts/memory/run-with-env.sh" "${AI_MEMORY_INSTALL_DIR:-$HOME/.ai-memory}/scripts/memory/github_sync_runner.py" "$@" ``` ### Status Mode Uses the real CLI status path, which resolves canonical and legacy state-file locations for the configured repo: ```bash "${AI_MEMORY_INSTALL_DIR:-$HOME/.ai-memory}/scripts/memory/run-with-env.sh" "${AI_MEMORY_INSTALL_DIR:-$HOME/.ai-memory}/scripts/github_sync.py" --status ``` ## Guard If `GITHUB_SYNC_ENABLED` is not `true`, the skill will display: ``` Error: GitHub sync is not enabled. Set GITHUB_SYNC_ENABLED=true and configure GITHUB_TOKEN and GITHUB_REPO. ``` ## Technical Details - **Rate Limiting**: Uses GitHubClient with configurable request delays - **Pagination**: Automatic pagination for all GitHub API endpoints - **Deduplication**: SHA256 content hashing prevents duplicate storage (SPEC-005) - **Versioning**: Changed content creates new version, marks old as superseded - **Collection**: discussions (shared with conversation data, filtered by source="github") - **Tenant Isolation**: `group_id` uses normalized lowercase `owner/repo` - **Sync Priority**: PRs (+ reviews + diffs) -> Issues (+ comments) -> Commits -> CI Results ## Notes - Requires GitHub personal access token (classic or fine-grained) - Sync logs written to `~/.ai-memory/logs/activity.log` - First full sync can take several minutes for large repositories - Incremental sync timestamps stored per repo in `~/.ai-memory/github-state/github_sync_state_<owner__repo>.json` - Reviews and diffs are synced as part of PR sync - Issue comments are synced as part of issue sync ## Legacy ID Audit and Migration If GitHub data exists but status or project scoping looks inconsistent, audit for legacy mixed IDs first: ```bash "${AI_MEMORY_INSTALL_DIR:-$HOME/.ai-memory}/scripts/memory/run-with-env.sh" audit_group_ids.py ``` If the report shows legacy aliases, review the plan and then apply the migration: ```bash "${AI_MEMORY_INSTALL_DIR:-$HOME/.ai-memory}/scripts/memory/run-with-env.sh" migrate_group_ids.py "${AI_MEMORY_INSTALL_DIR:-$HOME/.ai-memory}/scripts/memory/run-with-env.sh" migrate_group_ids.py --apply ``` When the install still has a flattened legacy `AI_MEMORY_PROJECT_ID`, the apply step also updates that env entry to the canonical slash-form repo ID.
GitHub에서 보기