- Visit https://github.com/settings/tokens
- Click "Generate new token" → "Generate new token (classic)"
- Give it a descriptive name like "Issues Swipe App"
- Select scopes:
- ✅
repo(Full control of private repositories)
- ✅
- Click "Generate token"
- Copy the token immediately (you won't see it again!)
# Copy the example file
cp .env.example .env.local
# Edit .env.local with your info
nano .env.local # or use your favorite editorAdd your credentials:
NEXT_PUBLIC_GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NEXT_PUBLIC_GITHUB_USERNAME=your-github-username# Install dependencies
pnpm install
# Run development server
pnpm devOpen http://localhost:3000 and start swiping!
The app will:
- Load all your open issues across all repositories
- Display them one at a time as swipeable cards
- Wait for you to swipe or use keyboard shortcuts
The app uses two labels that might not exist in your repos:
later(for swipe left)wontfix(for swipe up)
Option 1: Let it fail first
- Try swiping, the API call will fail if label doesn't exist
- Go to that repo → Issues → Labels → Create them manually
Option 2: Pre-create labels
- Go to each repository
- Navigate to Issues → Labels
- Create:
- Label:
later, Color:#fbca04(yellow) - Label:
wontfix, Color:#e11d21(red)
- Label:
Once running, you can use:
←Left: Later↑Up: Close with wontfix→Right: Assign to meCtrl+Z/Cmd+Z: Undo (local only, doesn't reverse API call)
If you see "Failed to fetch issues":
# Check your token is in .env.local
cat .env.local
# Make sure it starts with ghp_ or ghp_classic_
# and has the repo scopeIf you see "Failed to assign":
# Verify your username
echo $NEXT_PUBLIC_GITHUB_USERNAME
# Test it matches your GitHub profile
curl https://api.github.com/users/YOUR_USERNAMEIf port 3000 is busy:
# Use a different port
pnpm dev -p 3001- Never commit
.env.localto git (it's in.gitignore) - Don't share your GitHub token
- Token expires based on your settings (regenerate if needed)
- This app runs entirely client-side (no backend)
After setup, the app is ready to use! Some tips:
- Start small: Triage 5-10 issues first to get the feel
- Use keyboard: Much faster than mouse dragging
- Check labels: Make sure "later" and "wontfix" labels exist
- Refresh: Click "Reload Issues" when done to get fresh list
Need help? Check the main README.md for more details.