Prompt file imported from egor-xyz/devkitty (
.github/prompts/.prompt.md). Copyright stays with the author.
DevKitty - GitHub Desktop Assistant
DevKitty is a powerful Electron-based desktop application designed to streamline and organize coding workflows. It serves as a comprehensive GitHub Desktop Assistant that enhances developer productivity by providing centralized management of multiple Git repositories and GitHub integrations.
Project Overview
Product Name: Devkitty
Version: 2.12.5
Description: Your Daily GitHub Desktop Assistant
Author: egor-xyz (i@egor.xyz)
License: MIT
Homepage: https://devkitty.app/
Repository: https://github.com/egor-xyz/devkitty
Core Features
Git Repository Management
- Multi-Repository Management: Handle multiple GitHub repositories from a single interface
- Auto Fetch Projects: Automatically discover and sync project changes
- Branch Management: Quick checkout between branches with automatic stashing
- Git Operations: Support for pull, push, merge, reset, and other Git operations
- Remote Branch Reset: Ability to remotely reset any branch with just a few clicks
GitHub Integration
- GitHub Actions Monitoring: Track GitHub Actions across various repositories in one place
- Pull Request Management: View and manage pull requests with different filters (author, review-requested, mentions, assigned)
- GitHub API Integration: Full integration with GitHub API using Octokit
- Token-based Authentication: Secure GitHub token storage using Electron's safeStorage
Development Workflow Enhancement
- Editor Integration: Integration with popular code editors (VS Code, Sublime, Atom, IntelliJ, etc.)
- Shell Integration: Support for various terminal applications (Terminal, iTerm2, Warp, Hyper, etc.)
- Project Organization: Group projects and manage them efficiently
- Real-time Status Updates: Live updates of repository status and GitHub Actions
Technical Architecture
Technology Stack
- Framework: Electron with Electron Forge
- Frontend: React 18 with TypeScript
- Styling: Styled Components with Blueprint.js UI components
- State Management: Zustand
- Git Operations: simple-git library
- GitHub API: Octokit
- Build Tool: Vite
- Package Manager: npm
Project Structure
devkitty/
├── src/
│ ├── main/ # Electron main process
│ │ ├── app.ts # Main application entry
│ │ ├── settings.ts # Application settings management
│ │ ├── ipcs/ # IPC handlers
│ │ └── libs/ # Core libraries (Git, integrations)
│ ├── rendered/ # React renderer process
│ │ ├── components/ # React components
│ │ ├── hooks/ # React hooks
│ │ └── utils/ # Utility functions
│ └── types/ # TypeScript type definitions
├── assets/ # Application assets
├── icons/ # Application icons
└── config files # Build and configuration files
Key Components
Main Process (Electron)
- IPC Handlers: Communication between main and renderer processes
ipcGit.ts: Git operations (status, checkout, pull, merge, reset)ipcGitHub.ts: GitHub API operations (actions, pull requests, remote reset)ipcProjects.ts: Project management (add, remove, update)ipcSettings.ts: Application settingsipcLaunch.ts: External application launching
Renderer Process (React)
- Project Component: Main project display with Git status and operations
- GitHub Integration: Pull request and Actions monitoring
- Settings Management: User preferences and integrations
- Branch Management: Branch switching and status display
Core Functionality
Git Operations
- Repository status checking and monitoring
- Branch checkout with automatic stashing
- Pull, push, merge operations
- Hard reset capabilities
- Conflict resolution handling
GitHub API Features
- Workflow run monitoring and filtering
- Pull request fetching with multiple filter types
- Remote branch reset functionality
- Organization and repository detection
Integration Capabilities
- Supported Editors: VS Code, Sublime Text, Atom, IntelliJ IDEs, Xcode, etc.
- Supported Shells: Terminal, iTerm2, Warp, Hyper, Kitty, Alacritty, etc.
- Auto-detection: Automatic discovery of installed applications
- Launch Integration: Direct launching of projects in preferred editor/shell
State Management
- Projects State: Managed via Zustand store for project list and operations
- Git State: Real-time Git status tracking with polling
- Settings State: User preferences and configuration
- Modal State: UI modal management for various operations
Development Features
- Hot Reload: Development mode with automatic reloading
- Debug Support: VS Code debugging configuration
- Error Handling: Comprehensive error handling and user feedback
- Logging: Electron-log integration for debugging and monitoring
UI/UX Design
- Dark/Light Theme: Theme switching capability
- Blueprint.js: Professional UI components
- Responsive Design: Adaptive interface for different screen sizes
- Real-time Updates: Live status indicators and progress feedback
- Drag & Drop: Project organization features
Build and Distribution
- Electron Forge: Complete build and packaging solution
- Multi-architecture: Support for x64 and ARM64 architectures
- Auto-updater: Built-in update mechanism
- Code Signing: macOS application signing and notarization
Development Workflow
- ESLint: Code linting with custom configuration
- TypeScript: Full TypeScript support
- Vite: Fast development and build process
- Hot Module Replacement: Fast development iteration