English | 日本語
A VS Code extension that syncs GitHub Issues to local Markdown files so you can reference them offline and use them as context for AI code agents.
- Auto sync: Sync GitHub Issues at a configurable interval (5–1440 minutes)
- Manual sync: Run a sync instantly from the Command Palette
- Markdown output: Saves issues as Markdown with YAML front matter (AI/LLM-friendly)
- Tree View: Browse issues in the VS Code sidebar and open details on click
- Authentication: Uses VS Code GitHub authentication (with PAT fallback)
- Offline friendly: Read synced issues without a network connection
- Filtering: Flexible filters by state, labels, milestones, and time range
- Open VS Code
- Open the Extensions view (
Ctrl+Shift+X/Cmd+Shift+X) - Search for "GitHub Issues Sync"
- Click "Install"
git clone https://github.com/hiroyannnn/vscode-github-issues-sync.git
cd vscode-github-issues-sync
npm install
npm run compilePress F5 to start the Extension Development Host.
- Open a workspace that contains your GitHub repository
- Open the Command Palette (
Ctrl+Shift+P/Cmd+Shift+P) - Run "GitHub Issues Sync: Configure"
- Adjust settings as needed:
enableAutoSync: Enable auto sync (default: false)syncInterval: Sync interval in minutes (default: 60)maxIssues: Max number of issues to sync (default: 100)includeClosedIssues: Include closed issues (default: false)
- Open the Command Palette
- Run "GitHub Issues Sync: Sync Now"
- You’ll see progress notifications and a completion message
- Click the "GitHub Issues" icon in the Activity Bar
- The issue list appears
- Click an issue to open its Markdown file
Synced issues are stored in .vscode/github-issues/ by default (configurable):
.vscode/github-issues/
├── issue-1.md
├── issue-2.md
└── ...
Each issue is saved like this:
---
id: 123
number: 456
title: "Issue Title"
state: open
created_at: "2024-01-01T00:00:00Z"
updated_at: "2024-01-02T00:00:00Z"
author:
login: username
id: 12345
labels:
- bug
- enhancement
---
# Issue Title
Issue body goes here.
## Comments
### @commenter1
Comment text...- Type:
boolean - Default:
false - Description: Enable automatic synchronization
- Type:
number - Default:
60 - Range:
5–1440(minutes) - Description: Auto-sync interval
- Type:
number - Default:
100 - Range:
1–1000 - Description: Maximum number of issues to sync
- Type:
boolean - Default:
false - Description: Include closed issues in synchronization
- Type:
string - Default:
6months - Options:
3months|6months|1year|all - Description: Time period for issue synchronization
- Type:
string - Default:
incremental - Options:
full|incremental|lazy - Description:
full: Full sync every timeincremental: Only sync changes since the last synclazy: Sync metadata only and load details on demand
- Type:
array<string> - Default:
[] - Description: Sync only issues with specific labels (empty = all labels)
- Type:
array<string> - Default:
[] - Description: Sync only issues with specific milestones (empty = all milestones)
- Type:
string - Default:
.vscode/github-issues - Description: Directory to store synced issues (relative paths are workspace-based;
~is expanded)
- Type:
string - Default: `` (empty string)
- Description: GitHub Personal Access Token (fallback if VS Code authentication fails)
Sync issues immediately. Progress and results are shown in notifications.
Open the extension settings.
The extension tries authentication in this order:
-
VS Code GitHub authentication (recommended)
- You’ll be prompted on first use
- Requires the
reposcope
-
Personal Access Token (PAT) from settings
githubIssuesSync.personalAccessToken
-
Personal Access Token (PAT) from SecretStorage
- A PAT stored in VS Code SecretStorage
If you use a PAT, you typically need:
repo(for private repositories)public_repo(for public repositories only)
- Re-authenticate GitHub in VS Code
- Or add a PAT in settings
- Ensure the workspace is the root of a GitHub repository
- Ensure
originis configured in.git/config - Check if you’ve hit GitHub API rate limits (see console logs)
- Ensure
githubIssuesSync.enableAutoSyncis set totrue - Try restarting VS Code
- Node.js 18+
- npm 8+
npm installnpm run compilenpm testnpm run lint
npm run format- Open the project in VS Code
- Press
F5to start the Extension Development Host - Set breakpoints and debug
MIT
hiroyannnn
Contributions are welcome. See CONTRIBUTING.md.
Please report issues and feature requests via GitHub Issues: https://github.com/hiroyannnn/vscode-github-issues-sync/issues