Skip to content

A lightweight, cross-platform CLI application installer that works without admin permissions.

License

Notifications You must be signed in to change notification settings

muhammad-fiaz/gitx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gitx

Documentation Rust Version GitHub stars GitHub issues GitHub pull requests GitHub last commit License Release Supported Platforms Latest Release Sponsor GitHub Sponsors Repo Visitors

A lightweight, cross-platform CLI application installer that works without admin permissions.

Documentation | Quick Start | Manifest Reference | Contributing

gitx is a native package manager designed to install applications directly from URLs (Git repositories, tarballs, zips) into your user directory. It requires no administrator privileges, modifies no system files, and works seamlessly across Windows, macOS, and Linux.

Note

This project is still in active development.

If you love gitx, make sure to give it a star!

Features

  • No Admin Required: Installs everything to ~/.gitx.
  • Manifest Driven: Validates packages using a gitx.toml file at the repository root.
  • Cross-Platform: Smartly resolving platform-specific binaries for Windows, macOS, and Linux.
  • Dependency Free: Written in Rust, compiled to a single static binary.
  • Flexible Sources: Install from Git URLs (GitHub, GitLab, Codeberg, etc.) or direct archives.

Installation

One-Line Install (Recommended)

Linux / macOS:

curl -fsSL https://github.com/muhammad-fiaz/gitx/raw/main/install.sh | sh

Windows (PowerShell):

iex (irm https://github.com/muhammad-fiaz/gitx/raw/main/build.ps1)

From Source

cargo install --path .

For more details, see the Installation Guide.

Quick Start

Install a tool from a GitHub repository:

gitx install https://github.com/username/my-tool

Run the installed tool:

gitx run my-tool
# or if ~/.gitx/bin is in your PATH:
my-tool --version

Update all packages:

gitx update --all

Uninstall a package:

gitx uninstall my-tool

Configuration

gitx uses a gitx.toml manifest file to understand how to install a package.

Example gitx.toml:

[package]
name = "my-cli"
version = "1.0.0"

[install]
bin = ["my-cli"]

[platform.linux-x86_64]
url = "https://example.com/cli-linux.tar.gz"
sha256 = "..."

[platform.windows-x86_64]
url = "https://example.com/cli-windows.zip"

Contributing

We welcome contributions! Please see CONTRIBUTING.md for details on how to get involved.

License

This project is licensed under the GPL-3.0 License.

About

A lightweight, cross-platform CLI application installer that works without admin permissions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages