GitPilot is a powerful bulk management tool for GitHub repositories, issues, pull requests, and organization members. Built for developers and teams who need to perform operations at scale.
- Bulk Repository Management: Change visibility, archive, or delete multiple repos at once
- Bulk Issue Management: Close/reopen issues, manage labels and assignees in bulk
- Bulk Pull Request Management: Merge, close, or update PRs across repositories
- Organization Member Management: Invite, remove, and update member roles
- Smart Filtering & Search: Find exactly what you need with powerful filters and saved presets
- Audit Logging: Track all bulk operations for accountability
- GitHub OAuth: Secure, seamless authentication with your existing GitHub account
Managing GitHub resources one by one is tedious and time-consuming. GitPilot provides bulk operations through an intuitive interface—saving hours of manual work for developers with dozens of repositories or teams managing org-wide resources.
- Framework: Next.js 16 (App Router)
- Runtime: React 19 + TypeScript
- Styling: Tailwind CSS 4 + Radix UI primitives
- Authentication: NextAuth.js with GitHub OAuth
- Database: Neon Postgres + Drizzle ORM
- Package Manager: Bun
- Linting: Biome
- Testing: Vitest + Playwright
- Bun (v1.0+)
- GitHub account
- Neon database (free tier works)
-
Clone the repository:
git clone https://github.com/yourusername/gitpilot.git cd gitpilot -
Install dependencies:
bun install
-
Set up environment variables: Create a
.env.localfile in the root directory:DATABASE_URL=your_neon_connection_string NEXTAUTH_SECRET=random_secret_string NEXTAUTH_URL=http://localhost:3000 GITHUB_CLIENT_ID=your_github_oauth_app_id GITHUB_CLIENT_SECRET=your_github_oauth_app_secret -
Set up the database:
bun run db:push
-
Start the development server:
bun run dev
gitpilot/
├── src/
│ ├── app/ # Next.js App Router pages and API routes
│ ├── components/ # React components (UI, dashboard, landing)
│ ├── db/ # Database schema, migrations, and utilities
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Shared utilities and helpers
│ └── types/ # TypeScript type definitions
├── docs/ # Documentation and planning
├── specs/ # Feature specifications
├── public/ # Static assets
└── ... (config files)
GitPilot can be deployed to any platform supporting Next.js:
bun run build
bun run startbun run db:generate- Generate migrationsbun run db:migrate- Run migrationsbun run db:push- Push schema changesbun run db:studio- Open Drizzle Studio
Before committing, run:
bun run lint
bunx tsc --noEmit
bun run buildContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by the GitPilot Team