A Progressive Web App (PWA) for managing GitHub issues and pull requests from your mobile phone. GitPocket provides a mobile-optimized interface to view and interact with your GitHub repositories on the go.
- 📱 Mobile-First Design: Optimized for touch interfaces and small screens
- 🔍 Universal Access: View issues and PRs from all your accessible repositories
- 💬 Interactive: Add comments to issues and pull requests
- 🌙 Dark Mode Support: Automatically adapts to your system theme
- ⚡ PWA Ready: Install as a native app on your phone
- 🔒 Secure: Uses GitHub Fine-grained Personal Access Tokens
Visit the app at: https://ideonate.github.io/gitpocket/
- Node.js 20 or higher
- npm
# Clone the repository
git clone https://github.com/ideonate/gitpocket.git
cd gitpocket
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
gitpocket/
├── src/ # Source files
│ └── index.html # Main PWA application
├── dist/ # Build output (generated)
├── .github/
│ └── workflows/
│ └── deploy.yml # GitHub Actions deployment
├── vite.config.js # Vite configuration
├── package.json # Project dependencies
└── README.md
The app is automatically deployed to GitHub Pages when changes are pushed to the main branch. The GitHub Actions workflow handles:
- Building the project with Vite
- Deploying the built files to GitHub Pages
- Visit the app on your mobile browser
- Generate a GitHub Token:
- Go to GitHub Personal Access Tokens
- Click "Generate new token"
- Choose "Selected repositories" and pick your repos (or "All repositories" for full access)
- Set the following permissions:
- Issues: Read and write
- Pull requests: Read and write
- Metadata: Read
- Sign in with your token
- For Organization Repositories (optional):
- Use "Advanced Token Management" to add organization-specific tokens
- Each org may require separate tokens with appropriate permissions
- This enables access to private repositories in organizations
- Install the PWA (optional): Add to your home screen for app-like experience
- View all open and closed issues across your repositories
- See issue details, descriptions, and comments
- Add new comments to issues
- Real-time status badges (Open/Closed)
- Monitor all pull requests across repositories
- View PR status (Open/Closed/Draft)
- Check merge status
- Add comments to PRs
- Automatic loading of all accessible repositories
- Repository name displayed for each issue/PR
- Quick refresh to get latest updates
- Pure HTML/CSS/JavaScript (no framework dependencies)
- GitHub REST API v3
- Progressive Web App standards
- Responsive Material Design
- Chrome/Edge (Recommended)
- Safari (iOS/macOS)
- Firefox
- Any modern mobile browser
- Uses localStorage for token persistence
- Falls back to in-memory storage if localStorage is unavailable
- No backend server required
- Token Storage: Tokens are stored locally in your browser
- API Access: Direct communication with GitHub API
- No Third-Party Servers: Your data never passes through external servers
- Fine-Grained Permissions: Only requests necessary permissions
- Open the app in Safari
- Tap the Share button
- Select "Add to Home Screen"
- Choose a name and tap "Add"
- Open the app in Chrome
- Tap the menu (three dots)
- Select "Add to Home screen"
- Follow the prompts
- Check that you've selected the right repositories in token settings
- For organization repositories, add organization-specific tokens via "Advanced Token Management"
- Try refreshing the app
- Verify the token hasn't expired
- Ensure you're using a Fine-grained Personal Access Token
- Check that all required permissions are granted:
- Issues: Read and write
- Pull requests: Read and write
- Metadata: Read
- Organizations may not allow fine-grained tokens - try a Classic PAT instead
- Add organization-specific tokens for private org repositories
- Some organizations require admin approval for token access
- Ensure you're accessing via HTTPS
- Clear browser cache and try again
- Check browser compatibility
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is open source and available under the MIT License.
For issues, questions, or suggestions, please open an issue.
- GitHub API for providing comprehensive REST endpoints
- Material Design principles for UI/UX guidance
- PWA community for best practices
Made with ❤️ for the GitHub mobile community