Skip to content

Releases: Obed0101/gitd

🎉 GITD v1.0.0 - Per-Repository Configuration

25 Jan 21:29

Choose a tag to compare

🚀 GITD v1.0.0 - Major Release

First stable release with per-repository configuration support via .gitdrc files.

✨ New Features

Per-Repository Configuration (.gitdrc)

  • Detection Override: Force language/tool detection
  • Lifecycle Hooks: post-clone, pre-setup, post-setup
  • Environment Variables: Prompts, defaults, secrets
  • Named Workflows: gitd workflow dev, gitd workflow build
  • Security: Command blacklist, sudo protection, user confirmation
  • Editor Integration: Auto-open in VS Code, Cursor, etc.

New CLI Options

  • --verbose - Detailed output
  • --debug - Debug information
  • --dry-run - Preview without executing

Workflow Subcommand

gitd workflow --list        # List available workflows
gitd workflow dev           # Run 'dev' workflow
gitd workflow --info build  # Show workflow details

🛡️ Security Features

  • Dangerous command blacklist (rm -rf /, fork bombs, etc.)
  • Sudo commands blocked by default
  • User confirmation before executing hooks
  • Timeout protection for commands

📦 Supported Languages

  • JavaScript/TypeScript (npm, yarn, pnpm, bun)
  • Python (pip, poetry, pipenv, conda)
  • Rust (cargo)
  • Go (go mod)
  • Ruby (bundle)
  • Java (maven, gradle)
  • C/C++ (make, cmake)
  • PHP (composer)
  • And more...

🛠️ Installation

bash -c "$(curl -fsSL https://raw.githubusercontent.com/Obed0101/gitd/main/install.sh)"

📋 Example .gitdrc

{
  "version": "1.0",
  "detection": {
    "language": "javascript",
    "tool": "pnpm"
  },
  "hooks": {
    "post-clone": {
      "commands": ["cp .env.example .env"]
    }
  },
  "workflows": {
    "dev": {
      "description": "Start development",
      "steps": ["pnpm install", "pnpm dev"]
    }
  }
}

📝 Full Documentation

See README.md for complete documentation.


Full Changelog: v0.2-beta...v1.0.0

🎉 v0.2 Beta Release

26 Dec 23:48

Choose a tag to compare

🚀 About The Project

This project provides a simple Zsh script (gitd) to streamline the process of downloading Git repositories. It offers a user-friendly command-line interface to quickly clone repositories with customizable settings.

✨ Features

  • 🔄 Easy Cloning: Quickly clone Git repositories with just a few commands.
  • 📁 Customizable Base Directory: Choose your preferred base directory for downloaded repositories.
  • 🎨 Stylish Logs: Colorful and informative logs for a better user experience.
  • ⚙️ Configuration Options: Customize the script behavior using environment variables.
  • ⚙️ Setup Option: Set up the downloaded repository, including installing dependencies.

🤔 Why gitd?

  • Simplicity: gitd is designed to be straightforward and easy to use.
  • Style: Enjoy stylish and colorful logs during the cloning process.
  • Configurability: Tailor gitd to your preferences with customizable options.

🛠️ Built With

  • Zsh (Z shell)

🚀 Getting Started

To get started with gitd, follow the instructions below.

📋 Prerequisites

  • Zsh or Bash installed on your system
  • GitHub CLI (gh) for retrieving repository details

🛠️ Installation

You can install gitd by running the following command in your terminal:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/Obed0101/gitd/main/install.sh)"

🛠️ Usage

Use the gitd script with the following syntax:

gitd [options] <repo_url> [options]

Replace <repo_url> with the URL of the Git repository you want to download. Optionally, you can specify a branch.

⚙️ Options:

Option Description
-h, --help Show help message.
-v, --version Display the script version.
-s, --setup Set up the downloaded repository, including installing dependencies.
-b, --branch Specify the branch for cloning.

Note: The setup option is currently compatible with the following package managers and systems:

  • npm: Node.js package manager
  • yarn: Fast, reliable, and secure dependency management
  • pnpm: Fast, disk space efficient package manager
  • bundle: Ruby dependency manager
  • mvn: Apache Maven for Java projects
  • go: Go programming language
  • gcc: GNU Compiler Collection (for C/C++ projects)

🌐 Customizing Repository Location

By default, gitd saves repositories in the $HOME/Repos directory. You can customize this location by setting the GITD_BASE_DIR environment variable. For example:

export GITD_BASE_DIR=~/my_repos

Add this line to your shell configuration file (e.g., .zshrc or .bashrc) to make it persistent across sessions.

🚀 Examples

  • Clone a repository with the default settings: gitd https://github.com/Obed0101/gitd
  • Specify a branch for cloning: gitd -b main https://github.com/Obed0101/gitd
  • Set up a repository after cloning: gitd -s https://github.com/example/repo
  • Customize the base directory: export GITD_BASE_DIR=~/Downloads

🌐 Compatible Setups and Operating Systems

gitd is compatible with Zsh and Bash on various operating systems.

📝 Release Notes

  • Updated: Changed the order of auto-setup checks to prioritize non-JavaScript projects.
  • Added: Removal of the '.git' directory after cloning a repository.
  • Updated: Improved formatting for repository download size information.

Enjoy using gitd! If you encounter any issues or have suggestions, feel free to open an issue.

🎉 v0.1 Beta Release

27 Nov 03:19

Choose a tag to compare

🚀 About The Project

This project provides a simple Zsh script (gitd) to streamline the process of downloading Git repositories. It offers a user-friendly command-line interface to quickly clone repositories with customizable settings.

✨ Features

  • 🔄 Easy Cloning: Quickly clone Git repositories with just a few commands.
  • 📁 Customizable Base Directory: Choose your preferred base directory for downloaded repositories.
  • 🎨 Stylish Logs: Colorful and informative logs for a better user experience.
  • ⚙️ Configuration Options: Customize the script behavior using environment variables.
  • ⚙️ Setup Option: Set up the downloaded repository, including installing dependencies.

🤔 Why gitd?

  • Simplicity: gitd is designed to be straightforward and easy to use.
  • Style: Enjoy stylish and colorful logs during the cloning process.
  • Configurability: Tailor gitd to your preferences with customizable options.

🛠️ Built With

  • Zsh (Z shell)

🚀 Getting Started

To get started with gitd, follow the instructions below.

📋 Prerequisites

  • Zsh or Bash installed on your system
  • GitHub CLI (gh) for retrieving repository details

🛠️ Installation

You can install gitd by running the following command in your terminal:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/xXDeathAbyssXx/gitd/main/install.sh)"

🛠️ Usage

Use the gitd script with the following syntax:

gitd [options] <repo_url> [options]

Replace <repo_url> with the URL of the Git repository you want to download. Optionally, you can specify a branch.

⚙️ Options:

Option Description
-h, --help Show help message.
-v, --version Display the script version.
-s, --setup Set up the downloaded repository, including installing dependencies.
-b, --branch Specify the branch for cloning.

Note: The setup option is currently compatible with the following package managers and systems:

  • npm: Node.js package manager
  • yarn: Fast, reliable, and secure dependency management
  • pnpm: Fast, disk space efficient package manager
  • bundle: Ruby dependency manager
  • mvn: Apache Maven for Java projects
  • go: Go programming language
  • gcc: GNU Compiler Collection (for C/C++ projects)

🌐 Customizing Repository Location

By default, gitd saves repositories in the $HOME/Repos directory. You can customize this location by setting the GITD_BASE_DIR environment variable. For example:

export GITD_BASE_DIR=~/my_repos

Add this line to your shell configuration file (e.g., .zshrc or .bashrc) to make it persistent across sessions.

🚀 Examples

  • Clone a repository with the default settings: gitd https://github.com/xXDeathAbyssXx/gitd
  • Specify a branch for cloning: gitd -b main https://github.com/xXDeathAbyssXx/gitd
  • Set up a repository after cloning: gitd -s https://github.com/example/repo
  • Customize the base directory: export GITD_BASE_DIR=~/Downloads

🌐 Compatible Setups and Operating Systems

gitd is compatible with Zsh and Bash on various operating systems.

📝 Release Notes

  • Added: Easy cloning functionality.
  • Added: Customizable base directory.
  • Added: Stylish and informative logs.
  • Added: Configuration options for script behavior.

Enjoy using gitd! If you encounter any issues or have suggestions, feel free to open an issue.