Skip to main content
Connect GitHub to browse repos, PRs, issues, and diffs as files.

Connect

airstore connect github
OAuth in your browser. Grant access to your repositories.

What appears

~/airstore/sources/github/
├── acme/
│   └── api/
│       ├── issues/
│       │   ├── 142-login-bug.md
│       │   └── 143-rate-limiting.md
│       └── pulls/
│           ├── 147-add-auth.diff
│           └── 148-fix-tests.diff
├── personal/
│   └── dotfiles/
└── [your smart folders]
Issues are Markdown files. PRs include the full diff.

Example queries

# Open PRs in a repo
airstore create sources/github/open-prs \
  --query "open PRs in acme/api"

# PRs with full diffs
airstore create sources/github/prs-to-review \
  --query "open PRs in acme/api with full diffs"

# Issues by label
airstore create sources/github/bugs \
  --query "open issues labeled 'bug' in acme/api"

# Your assigned issues
airstore create sources/github/my-issues \
  --query "issues assigned to me across all repos"

# Recent PRs
airstore create sources/github/recent-prs \
  --query "PRs merged in the last week in acme/api"

File formats

Issues (.md):
# Login fails with SSO

**Labels:** bug, high-priority
**Assignee:** @johndoe
**Created:** 2024-01-15

## Description
When users try to log in with SSO...

## Comments
### @janedoe (2024-01-16)
I can reproduce this...
Pull Requests (.diff):
diff --git a/src/auth.ts b/src/auth.ts
index 1234567..abcdefg 100644
--- a/src/auth.ts
+++ b/src/auth.ts
@@ -10,6 +10,10 @@ export function authenticate(user: User) {
+  // Add rate limiting
+  if (isRateLimited(user)) {
+    throw new RateLimitError();
+  }

Supported query filters

FilterExample
Repository”in acme/api”
State”open PRs”, “closed issues”
Labels”labeled ‘bug‘“
Assignee”assigned to me”
Author”PRs by @johndoe”
Date”from the last week”
Review status”PRs awaiting review”

Limitations

  • Read-only: GitHub source is read-only. Use the GitHub tool to create issues, comment, or merge.
  • Large repos: Very large repositories may take longer to sync.
  • Private repos: Requires appropriate OAuth scopes.

Example workflow

Automated PR review:
# Create a smart folder for PRs
airstore create sources/github/open-prs \
  --query "open PRs in acme/api with full diffs"

# Mount and use with Claude
airstore mount ~/airstore
cd ~/airstore/sources/github/open-prs
claude "Review these PRs. Flag security issues, bugs, and suggest improvements."

Next steps