Skip to content

beNative/git-automation

Repository files navigation

Welcome to the Git Automation Dashboard

This application provides a simple, powerful dashboard to manage and automate the workflow for a set of Git and SVN repositories. It is designed for developers who need to regularly update, install dependencies, and run build scripts across multiple projects.

Core Features

  • Centralized Dashboard: View the status, branch, and build health of all your repositories in one place.
  • Customizable Dashboard Categories: Organize your repositories into collapsible sections with dual-theme (light/dark) color styling, a library of predefined themes, full drag-and-drop support (for both repositories and categories), and alternative up/down reorder buttons.
  • Multi-VCS Support: Manage both Git and Subversion (SVN) repositories seamlessly.
  • Repository-Specific Tasks: Create custom, multi-step automation scripts (e.g., pull/update, install, build) for each repository.
  • Project Intelligence: Automatically detects project types (Node.js, Python, Delphi, Lazarus, Docker) and provides one-click buttons to generate common, pre-configured tasks.
  • Advanced Task Steps: A rich library of specific, pre-built steps for different ecosystems, now organized into logical categories in the UI for easy discovery, simplifies creating complex workflows.
  • Task Environment Variables: Define shell environment variables that are available to all command steps within a task.
  • Quick Actions: Manually refresh repository state, copy URLs/paths with a single click, access all common actions via a right-click context menu, and reorder repositories with up/down buttons.
  • Powerful Command Palette: Quickly access any action, task, or repository using a keyboard-driven command palette (Ctrl/Cmd+K).
  • Parallel Execution: Run tasks on multiple repositories at the same time without waiting.
  • One-Click Update Check: A "Check Updates" button fetches the latest information from all remotes, showing an "Updates Available" indicator on repositories that are behind.
  • Detailed VCS Status: See ahead/behind status (Git) and a summary of file changes directly on the dashboard.
  • Branch Management (Git): Quickly switch branches from the dashboard, or view, create, delete, and merge branches in the configuration view.
  • GitHub Release Management (Git): See the latest release on the dashboard, and view, create, edit, and manage all your project's releases directly from the configuration view.
  • Commit History: View the commit history for any Git or SVN repository, with a stable, non-flickering UI, search, and load-on-demand.
  • Tabbed & Integrated Log Panel: Monitor the output of every command in a detailed, resizable, and tabbed log panel that integrates smoothly into the main view.
  • Automatic Task Log Archiving: The full console output for every task run is automatically saved to a timestamped log file in a configurable directory for historical reference.
  • Advanced Debugging: A powerful debug console with log filtering and a save-to-file feature (now including logs from the main process) for in-depth troubleshooting.
  • Reliable Auto-Updates: Get notified with a clear banner when a new version is ready and install it with a single click.
  • Easy Configuration: Add new repositories and configure them through a simple, unified form.
  • Persistent UI State: The application remembers your dashboard layout, including the collapsed state of categories, between sessions.
  • Persistent & Safe Configuration: All your settings and repository configurations are stored safely in a persistent location, ensuring they are never lost during application updates.
  • Settings Import/Export: Easily back up, restore, or share your complete application configuration using .zip or .json files.
  • Robust Executable Handling: Manually configure paths to your Git/SVN executables, with auto-detect and testing, ensuring the app works in any environment.
  • Global Settings: Customize the application theme (with a quick-toggle button in the header), icon set (Feather icons by default), notifications, and behavior like enabling pre-release updates or choosing your preferred web browser.
  • GUI Scaling: Adjust the overall size of the application's interface for better readability on any screen.

Quick Start

  1. Add a Repository:

    • Click the "New Repo" button in the header.
    • Select the Version Control System (Git or SVN).
    • Fill in the required details on the "General" tab.
    • Click "Save Repository".
  2. Create a Task:

    • On the dashboard, click the pencil icon on your repository's card to open the configuration modal.
    • Go to the "Tasks" tab.
    • The application will try to detect your project type and offer to generate tasks for you. Click one of these buttons, or create one manually.
    • To create one manually, click "New Task", give it a name (e.g., "Build for Windows"), and add the steps you need (e.g., Git Pull/SVN Update, a NODE_INSTALL_DEPS step, or Run Command: npm run build:win).
    • Save the task, then save the repository.
  3. Run a Task:

    • Find your repository card on the dashboard.
    • Click a task button or use the task selection menu to run your task.
    • The resizable log panel will automatically appear at the bottom, showing the progress of your script.

For developer information, including how to run this project in development mode or build it from source, please see the Technical Manual tab in the Info Hub.

About

Git automation dashboard

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages