Skip to content

jinxwaree/github-importer

Repository files navigation

GitHub Importer

A sleek desktop application to bulk import local projects to GitHub with AI-powered naming and topic suggestions.

GitHub Importer Tauri React License

Features

Import Projects

  • Bulk Folder Scanning - Select a folder and automatically detect all projects inside
  • Smart Detection - Identifies existing git repos and already-uploaded GitHub projects
  • AI-Powered Naming - Uses GPT-4o-mini to suggest professional repository names
  • AI Topic Tags - Automatically generates and applies relevant GitHub topics
  • Batch Upload - Upload multiple projects to GitHub with real-time progress tracking
  • Update Support - Re-upload projects to push new changes to existing repos

Manage Repositories

  • Browse Your Repos - View all your GitHub repositories with infinite scroll
  • Clone Repos - Download any repository to a local folder
  • Batch Operations - Select multiple repos for bulk delete or visibility changes
  • Edit Details - Rename repos, update descriptions, toggle public/private

Additional Features

  • Secure Storage - API keys stored securely on your machine
  • Dark Theme - Modern, minimal dark UI that's easy on the eyes
  • Native Performance - Built with Tauri for fast, lightweight desktop experience

Screenshots

Coming soon

Tech Stack

  • Framework: Tauri (Rust backend)
  • Frontend: React 18 + Vite
  • Styling: Tailwind CSS
  • State Management: Zustand
  • Icons: Lucide React
  • AI: OpenAI GPT-4o-mini

Installation

Download

Download the latest release from the Releases page:

  • Windows Installer (MSI) - Recommended for most users
  • Windows Setup (EXE) - NSIS installer alternative

Build from Source

Prerequisites

Steps

  1. Clone the repository:
git clone https://github.com/YOUR_USERNAME/github-importer.git
cd github-importer
  1. Install dependencies:
npm install
  1. Run in development mode:
npm run tauri dev
  1. Build for production:
npm run tauri build

The installers will be generated in:

  • src-tauri/target/release/bundle/msi/ (MSI installer)
  • src-tauri/target/release/bundle/nsis/ (EXE installer)

Setup

GitHub Token

  1. Go to GitHub Settings > Developer Settings > Personal Access Tokens
  2. Generate a new token (classic) with repo and delete_repo scopes
  3. Paste the token in the app's Settings page

OpenAI API Key (Optional)

For AI-powered name suggestions and topic generation:

  1. Get an API key from OpenAI
  2. Enter it in the app's Settings page

Usage

Importing Projects

  1. Click "Select Folder" to choose a directory containing your projects
  2. The app scans and lists all subdirectories as potential projects
  3. (Optional) Click "Suggest Names" to get AI-powered name recommendations
  4. Select/deselect projects using checkboxes
  5. Click "Upload" to push all selected projects to GitHub
  6. Projects with AI topics enabled will automatically get relevant tags applied

Managing Repositories

  1. Navigate to "My Repos" in the sidebar
  2. Browse your GitHub repositories
  3. Select repos for batch operations (delete, change visibility)
  4. Click on a repo to edit its name, description, or clone it locally

Project Structure

github-importer/
├── src/                    # React frontend
│   ├── components/         # UI components
│   ├── stores/             # Zustand state management
│   └── lib/                # Utilities
├── src-tauri/              # Rust backend
│   ├── src/main.rs         # Tauri commands & logic
│   └── icons/              # App icons
├── package.json
├── tailwind.config.js
└── vite.config.js

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Tauri for the amazing framework
  • Lucide for beautiful icons
  • OpenAI for AI capabilities

Releases

No releases published

Packages

No packages published