Skip to content

cridertechnologies/git-alias-generator

Repository files navigation

Git Alias Generator

License: MIT Built with Tauri React Rust

A lightweight, cross-platform desktop application that makes creating and managing Git aliases simple and intuitive. Built with Rust + Tauri for native performance and React for a modern UI.

image

✨ Features

🎯 Intuitive Alias Creation

  • Visual command builder: Select Git commands with checkboxes instead of writing complex shell scripts
  • Real-time preview: See exactly what your alias will do before creating it
  • Smart validation: Get warnings about naming conflicts and invalid inputs
  • Parameter customization: Configure commit messages, branch names, and other command parameters

πŸ€– AI-Powered Commit Messages

  • OpenAI integration: Generate meaningful commit messages based on your staged changes
  • Multiple AI models: Support for GPT-3.5, GPT-4, and GPT-4o Mini
  • Secure API key storage: Your credentials stay on your machine

πŸ“‹ Alias Management

  • View existing aliases: See all your Git aliases in one place
  • Smart organization: Distinguish between tool-created and manual aliases
  • Easy cleanup: Delete aliases you no longer need
  • Conflict detection: Get notified when alias names already exist

πŸ› οΈ Common Git Workflows

Built-in support for the most common Git operations:

  • Stage changes (git add .)
  • Commit with messages (git commit -m "message")
  • Push to remote (git push)
  • Switch branches (git checkout <branch>)
  • Pull latest changes (git pull)
  • Branch cleanup (remove stale local branches)

πŸš€ Quick Start

Prerequisites

  • Node.js 16+ (Download)
  • Rust latest stable (Install)
  • Git installed and configured

Installation

  1. Clone and setup

    git clone https://github.com/cridertechnologies/git-alias-generator.git
    cd git-alias-generator
    npm install
  2. Install Tauri CLI (if not already installed)

    npm install -g @tauri-apps/cli

Development

# Start development server with hot reload
npm run tauri dev

Build for Production

# Create optimized build for your platform
npm run tauri build

πŸ“– How to Use

1. Launch the Application

Run the development server or install the built application for your platform.

2. Create Your First Alias

  1. Name your alias: Enter a unique name like save, sync, or deploy
  2. Select commands: Check the Git operations you want to include
  3. Configure options: Set commit messages, branch names, etc.
  4. Preview: Click "Preview Command" to see the generated alias
  5. Create: Click "Create Alias" to save it to your Git configuration

3. Use Your Alias

# Use your new alias from any Git repository
git save
git sync
git deploy

4. Optional: Configure AI Features

  • Click "Show Settings" to add your OpenAI API key
  • Choose your preferred AI model
  • Enable AI-generated commit messages for smarter commits

πŸ’‘ Example Aliases

Quick Save & Push

git config --global alias.save "!f() { git add .; git commit -m 'WIP: Quick save'; git push; }; f"

Usage: git save

Smart Commit with AI

git config --global alias.smart "!f() { git add .; git commit -m '$(ai-generated-message)'; git push; }; f"

Usage: git smart

Branch Cleanup

git config --global alias.cleanup "!f() { git remote update origin --prune; git branch -vv | grep ': gone]' | grep -v '*' | awk '{print $1; }' | xargs -r git branch -d; }; f"

Usage: git cleanup

Feature Branch Workflow

git config --global alias.feature "!f() { git checkout -b feature/$1; git push -u origin feature/$1; }; f"

Usage: git feature new-login-system

πŸ› οΈ Technical Architecture

Frontend (React + TypeScript)

  • React 18 with modern hooks and functional components
  • TypeScript for type safety and better developer experience
  • Vite for fast development and optimized builds
  • Lucide React for consistent iconography
  • Custom CSS with responsive design principles

Backend (Rust + Tauri)

  • Tauri for secure, lightweight desktop app framework
  • Native Git integration via command-line interface
  • OpenAI API client for AI-powered commit messages
  • Cross-platform support for Windows, macOS, and Linux
  • Secure local storage for API keys and settings

Key Features

  • Real-time validation of alias names and conflicts
  • Live preview generation of Git alias commands
  • Toast notifications for user feedback
  • Responsive design that works on different screen sizes
  • Error handling with helpful user messages

🌍 Cross-Platform Support

Platform Support Level Notes
Windows βœ… Full Tested on Windows 10/11
macOS βœ… Full Intel and Apple Silicon
Linux βœ… Full Ubuntu, Fedora, Arch tested

πŸ”’ Security & Privacy

  • Local-first: All data stays on your machine
  • Secure API storage: OpenAI keys encrypted locally
  • No telemetry: We don't track your usage
  • Git permissions: Uses your existing Git credentials
  • Open source: Full transparency in our code

🀝 Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

Quick Start for Contributors

  1. Fork the repository on GitHub
  2. Clone your fork locally
  3. Create a feature branch: git checkout -b feature/amazing-feature
  4. Make your changes and test thoroughly
  5. Commit with descriptive messages: git commit -m "Add amazing feature"
  6. Push to your fork: git push origin feature/amazing-feature
  7. Open a Pull Request with a clear description

Areas That Need Help

  • πŸ§ͺ Testing: Unit tests and integration tests
  • 🌐 Internationalization: Multi-language support
  • β™Ώ Accessibility: Keyboard navigation and screen readers
  • πŸ“± UI/UX: Design improvements and user experience
  • πŸ› Bug fixes: Edge cases and error handling
  • πŸ“š Documentation: Tutorials and better examples

See our Contributing Guide for detailed information about development setup, coding standards, and the contribution process.

πŸ“ License

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

πŸ™ Acknowledgments

  • Tauri Team for the excellent desktop app framework
  • React Team for the fantastic UI library
  • Rust Community for the robust programming language
  • OpenAI for the powerful API that enables AI features
  • Git for being the amazing version control system we all love

About

A GUI way to create custom, multi-step git alias commands

Resources

License

Contributing

Stars

Watchers

Forks