{"id":13602807,"url":"https://github.com/dominiksalvet/gitpack","last_synced_at":"2026-02-17T20:13:41.131Z","repository":{"id":55499691,"uuid":"192622396","full_name":"dominiksalvet/gitpack","owner":"dominiksalvet","description":"Git-based package manager written in POSIX shell","archived":false,"fork":false,"pushed_at":"2024-12-02T18:11:17.000Z","size":2277,"stargazers_count":105,"open_issues_count":1,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-11T13:53:01.553Z","etag":null,"topics":["bash","cli","command-line","deployment","git","github","gitpack","install","installer","linux","macos","open-source","package-manager","posix","script","shell","shell-script","unix","update","windows"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dominiksalvet.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":"contributing.md","funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/codeowners","security":null,"support":"support.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-06-18T22:50:35.000Z","updated_at":"2025-04-04T19:40:45.000Z","dependencies_parsed_at":"2024-12-02T19:34:13.517Z","dependency_job_id":null,"html_url":"https://github.com/dominiksalvet/gitpack","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":"dominiksalvet/template","purl":"pkg:github/dominiksalvet/gitpack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dominiksalvet%2Fgitpack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dominiksalvet%2Fgitpack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dominiksalvet%2Fgitpack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dominiksalvet%2Fgitpack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dominiksalvet","download_url":"https://codeload.github.com/dominiksalvet/gitpack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dominiksalvet%2Fgitpack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29556627,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T18:16:07.221Z","status":"ssl_error","status_checked_at":"2026-02-17T18:16:04.782Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","cli","command-line","deployment","git","github","gitpack","install","installer","linux","macos","open-source","package-manager","posix","script","shell","shell-script","unix","update","windows"],"created_at":"2024-08-01T18:01:38.535Z","updated_at":"2026-02-17T20:13:36.121Z","avatar_url":"https://github.com/dominiksalvet.png","language":"Shell","readme":"# GitPack\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"img/example.gif\" alt=\"GitPack example\"\u003e\n\u003c/p\u003e\n\n[![CI status](https://github.com/dominiksalvet/gitpack/workflows/CI/badge.svg)](https://github.com/dominiksalvet/gitpack/actions)\n[![GitPack](https://img.shields.io/badge/-GitPack-571997)](https://github.com/topics/gitpack)\n[![POSIX Shell](https://img.shields.io/badge/POSIX-Shell-111111)](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html)\n[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fdominiksalvet%2Fgitpack\u0026count_bg=%2379C83D\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=hits\u0026edge_flat=false)](https://hits.seeyoufarm.com)\n\nGitPack stands on a simple idea – a Git repository is a package, its URL is the package name. Based on that it is possible to **install/update** your favorite Git projects as shown:\n\n```\ngitpack install \u003curl\u003e\n```\n\nAnd when they are no longer needed, **uninstall** them that way:\n\n```\ngitpack uninstall \u003curl\u003e\n```\n\nGitPack not only saves time for end-users to figure out how to install a Git project, but it also **unifies the project development and distribution** in a convenient place; its Git repository.\n\n\u003e Do you want to try GitPack in your project? The [section for developers](#for-developers) will help you get started.\n\n## Table of Contents\n\n- [GitPack](#gitpack)\n  - [Table of Contents](#table-of-contents)\n  - [Requirements](#requirements)\n  - [Installation](#installation)\n  - [Usage](#usage)\n    - [Examples](#examples)\n  - [For Developers](#for-developers)\n    - [Badge](#badge)\n  - [Useful Resources](#useful-resources)\n\n## Requirements\n\nAll you need to install and run GitPack is **Linux/Unix environment** and **Git**.\n\n\u003e Windows users may simply use [Git for Windows](https://gitforwindows.org).\n\n## Installation\n\n**Local** (user) installation:\n\n```sh\nwget -qO- https://raw.githubusercontent.com/dominiksalvet/gitpack/master/.install/initl.sh | sh\n```\n\n**Global** (system) installation:\n\n```sh\nwget -qO- https://raw.githubusercontent.com/dominiksalvet/gitpack/master/.install/initg.sh | sh\n```\n\n\u003e If you do not have `wget`, copy-paste the source code of one of the scripts into a shell terminal and execute it.\n\nOnce installed, you will **use GitPack to manage even itself** (e.g., for updating). Now [start exploring](https://github.com/topics/gitpack).\n\n## Usage\n\nIf GitPack is run with root permissions (e.g., using `sudo`), it will use global access and perform global installations. Otherwise, a local approach for the current user will be used.\n\nInstall/update to the **latest version**:\n\n```\ngitpack install \u003curl\u003e\n```\n\n\u003e It uses the latest tag (latest commit if no tag) of the repository default branch.\n\nInstall/update/downgrade to a **particular version**:\n\n```\ngitpack install \u003curl\u003e=\u003cversion\u003e\n```\n\n\u003e The `\u003cversion\u003e` is any Git revision (tag name, branch name, commit hash).\n\n**Uninstall** (version is detected automatically):\n\n```\ngitpack uninstall \u003curl\u003e\n```\n\n**Show the status** of a project:\n\n```\ngitpack status \u003curl\u003e\n```\n\n**List all installed** projects:\n\n```\ngitpack list\n```\n\nUse `gitpack help` to **see more arguments**.\n\n### Examples\n\nTo better understand how GitPack works, there are some examples below.\n\n* Install a simple game with pathfinding locally (latest version):\n\n```\n$ gitpack install github.com/dominiksalvet/pathfinding-robots\n\u003e\u003e\u003e running install for github.com/dominiksalvet/pathfinding-robots\ndownloading repository\nreading status database\nusing automatic candidate version\ninstalling version 1.1.0\nrunning script .install/install-local\ncopying files\nadding to status database\n\u003c\u003c\u003c done; successfully installed\n```\n\n* Use URL with no HTTPS and other adjustments (e.g., for SSH):\n\n```\n$ gitpack -r status git@github.com:dominiksalvet/vhdldep.git\n\u003e\u003e\u003e running status for git@github.com:dominiksalvet/vhdldep.git\ndownloading repository\nreading status database\nusing automatic candidate version\n\u003c\u003c\u003c not installed; candidate is 2.2.0\n```\n\n* List globally installed projects (display full commit hashes):\n\n```\n$ sudo gitpack -H list\ngithub.com/dominiksalvet/gitpack 4ca05c10a9903251826a8d0addc25daf6808fffa\ngithub.com/dominiksalvet/asus-fan-control cb6be871cdbf4453d9072118194198d75dd0b380\ngithub.com/dominiksalvet/ux430ua-jack-volume 208f1a7bce8644482abdfa14107f90358a75bb1b\n```\n\n* GitPack uses different paths for local and global access:\n\n```\n$ gitpack paths\nstate-dir /home/dominik/.local/share/gitpack\ncache-dir /home/dominik/.cache/gitpack\nlock-path /tmp/gitpack-1000.lock\n\n$ sudo gitpack paths\nstate-dir /var/lib/gitpack\ncache-dir /var/cache/gitpack\nlock-path /tmp/gitpack-0.lock\n```\n\n\u003e Did you know that **GitPack has sleek tab completion** for Bash shells?\n\n## For Developers\n\nThere are many reasons why **developers should like GitPack**:\n\n* Tight integration with Git\n* Any programming language may be used\n* Runs on Linux, macOS, and other Unixes\n* Runs on Windows (after [some setup](#requirements))\n* Easy and flexible repository adaptation\n\n**GitPack shines when installing** the following:\n\n* Scripts with no/few dependencies\n* Binaries directly present in the repository\n* Simple compiled programs\n* Other repository content (e.g., themes)\n\nUnsure? There is **even more in GitPack**:\n\n* Simple by design\n* Delta updates\n* Smart repository cache\n* POSIX-friendly (i.e., very portable)\n* [Standalone script](src/gitpack) (for advanced uses)\n* Suitable even for self-hosted Git services\n\nSo are you ready to try GitPack in your project? Then see [how it works](how-it-works.md).\n\n### Badge\n\nProjects that use GitPack work best with the following sleek badge:\n\n[![GitPack](https://img.shields.io/badge/-GitPack-571997)](https://github.com/topics/gitpack)\n\nIn markdown:\n\n```markdown\n[![GitPack](https://img.shields.io/badge/-GitPack-571997)](https://github.com/topics/gitpack)\n```\n\n## Useful Resources\n\n* [support.md](support.md) – questions, answers, help\n* [contributing.md](contributing.md) – get involved, suggestions, bug reports\n* [license](license) – author, license text\n","funding_links":[],"categories":["cli","Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdominiksalvet%2Fgitpack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdominiksalvet%2Fgitpack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdominiksalvet%2Fgitpack/lists"}