{"id":24886329,"url":"https://github.com/jangelsb/git-plus-alfred-workflow","last_synced_at":"2026-03-11T10:03:36.753Z","repository":{"id":260854332,"uuid":"882538458","full_name":"jangelsb/git-plus-alfred-workflow","owner":"jangelsb","description":"A fully customizable git \u0026 zsh interface for Alfred","archived":false,"fork":false,"pushed_at":"2025-09-05T21:00:06.000Z","size":5415,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-05T23:17:20.838Z","etag":null,"topics":["alfred","alfred-workflow","bash","custom","git","yaml","zsh"],"latest_commit_sha":null,"homepage":"https://www.alfredforum.com/topic/22463-git-for-alfred-a-fully-customizable-git-zsh-interface/","language":"Python","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/jangelsb.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"jangelsb","thanks_dev":null,"custom":["https://www.paypal.com/paypalme/jangelsb"]}},"created_at":"2024-11-03T03:32:48.000Z","updated_at":"2025-09-05T21:00:10.000Z","dependencies_parsed_at":"2024-11-03T04:21:25.476Z","dependency_job_id":"52f7d849-c967-4cdc-a513-f34bf875da87","html_url":"https://github.com/jangelsb/git-plus-alfred-workflow","commit_stats":null,"previous_names":["jangelsb/git-x-alfred-workflow","jangelsb/git-plus-alfred-workflow"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/jangelsb/git-plus-alfred-workflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jangelsb%2Fgit-plus-alfred-workflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jangelsb%2Fgit-plus-alfred-workflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jangelsb%2Fgit-plus-alfred-workflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jangelsb%2Fgit-plus-alfred-workflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jangelsb","download_url":"https://codeload.github.com/jangelsb/git-plus-alfred-workflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jangelsb%2Fgit-plus-alfred-workflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30377837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T06:09:32.197Z","status":"ssl_error","status_checked_at":"2026-03-11T06:09:17.086Z","response_time":84,"last_error":"SSL_read: 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":["alfred","alfred-workflow","bash","custom","git","yaml","zsh"],"created_at":"2025-02-01T15:14:39.865Z","updated_at":"2026-03-11T10:03:36.748Z","avatar_url":"https://github.com/jangelsb.png","language":"Python","funding_links":["https://buymeacoffee.com/jangelsb","https://www.paypal.com/paypalme/jangelsb"],"categories":[],"sub_categories":[],"readme":"# git+ for Alfred: a fully customizable git \u0026 zsh interface\n\n`git+` allows you to create personalized commands and menus to fully streamline ✨your✨ workflow!\n\n\n![Demo](images/demo.gif)\n\n---\n\nFor detailed documentation on the commands, see [docs.md](docs.md).\n\nFor the official Alfred fourm post, [check here](https://www.alfredforum.com/topic/22463-git-for-alfred-a-fully-customizable-git-zsh-interface/).\n\n---\n\n## 🚀 Features\n\n### Fully functional \u0026 customizable\n![Custom Commands](images/custom_commands.png)\n\n### Supports multiple repos\n![Filter Projects](images/filter_projects.png)\n\n### Checkout branches, tags, commits \n![Checkout Branch](images/checkout_branch.png)\n\n### Create new branches\n![Create Branch](images/create_branch.png)\n\n### A powerful status menu\n![Filter Projects](images/status_menu.png)\n\n### Ability to view, stage, and unstage hunks\n![Create Branch](images/stage_hunk.png)\n\n### And so much more!\n\n* push, push -f\n* pull, fetch\n* commit\n* amend\n* stash, pop\n* rebase, rebase --onto\n* reset\n* revert\n* cherry-pick\n* history\n* stage and unstage hunks \u0026 files\n* copy branch name\n* checkout local and remote branch\n* checkout tags\n* copy diff for tags \u0026 branches\n* search files in repo\n* open repo in Finder, Terminal, Alfred, etc\n* `+` anything you want to add 🚀 (see [docs.md](docs.md))\n\n\n### Tips \u0026 Tricks\n\n* You can drag and drop the folders in the git repo list\n* You can always press → on the keyboard to see the command that will be run\n* `⌘+c` to copy the title of whatever is highlighted - useful for copying branch names!\n* the `textview_action` is extremely power - it allows you to run commands and view the output in Alfred and then run followup actions \n    * checkout `history` and `staged` / `modified` actions for examples\n\n\n---\n\n## 📖 Installation\n\n### Step 1: Set up your `repo list`\n```yaml\n- title: Repo 1\n  path: $repo_path1\n\n- title: Repo 2\n  path: \"/path/to/repo2\"\n  config: /path/to/actions.yaml\n\n- path: /Users/name/Developer/ios\n  is_root: true\n\n- title: scripts\n  path: /path/to/some/folder\n  show_default_commands: false\n  config: /path/to/custom/scripts.yaml\n```\n**NOTE**\n* If you set a “bash profile”, you can use enviroment variables for your paths, e.g, `$REPO_PATH`\n* Optional flags\n  * `config` is an optional path to an actions.yaml that is only for that repo.\n      * The working directory for that path is the workflow's directory.\n  * `is_root: true` is an optional flag that will add all git subfolders (1 layer deep)\n      * Folders with the same directory as a manually specified location will be skipped.\n  * `show_default_commands: false` is an optional flag that will not include any of the default (git) commands for that location\n      * Useful for having a collection of global commands in one spot\n\n\n### Step 2 (optional)\n\n- Use the default settings\n  \n- or **make it your own**\n  - All commands in this workflow are defined in a YAML config file: [actions.yaml](https://github.com/jangelsb/git-plus-alfred-workflow/blob/main/actions.yaml)\n  - Copy [actions.yaml](https://github.com/jangelsb/git-plus-alfred-workflow/blob/main/actions.yaml) to your computer\n  - Update your workflow to use this file\n  - Customize it 😎\n  \n### Step 3 (optional)\n- **Add custom commands:** \n  - Change the inline config or add another config file in your setup\n  - Create specific configs for certain repositories using `config` from Step 1\n\n- **Add custom zsh commands:** \n  - `functions.sh` is implicilty imported before each command that is run. So you can easily offload common commands for better reusability \n  - You can copy [functions.sh](https://github.com/jangelsb/git-plus-alfred-workflow/blob/main/functions.sh) and tweak it or you can even link to your own file \n\n\n---\n\n## 📂 Config Example\n\nHere’s a quick example of what a YAML config might look like:  \n\n```yaml\n- title: fetch\n  icon: down.small.png\n  command: |\n    git fetch -p\n\n\n- title: create\n  icon: create.png\n  command: |\n    git checkout -b \"[input_snake_case]\"\n```\n\nFor more information, see the full documentation: [docs.md](https://github.com/jangelsb/git-plus-alfred-workflow/blob/main/docs.md).\n\n---\n\n## 🛠️ Installation\n\n1. Download [the latest workflow](https://github.com/jangelsb/git-plus-alfred-workflow/releases) and import it into Alfred. \n2. Configure the paths in the workflow settings\n3. Enjoy \u0026 God bless \n\n---\n\n## 📝 Version History\n\nFor full change log see: https://github.com/jangelsb/git-plus-alfred-workflow/releases\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjangelsb%2Fgit-plus-alfred-workflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjangelsb%2Fgit-plus-alfred-workflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjangelsb%2Fgit-plus-alfred-workflow/lists"}