{"id":31930076,"url":"https://github.com/jeltsch/cli-utilities","last_synced_at":"2026-05-08T07:33:03.983Z","repository":{"id":41981208,"uuid":"510110588","full_name":"jeltsch/cli-utilities","owner":"jeltsch","description":"Various command line utilities","archived":false,"fork":false,"pushed_at":"2024-05-03T20:20:20.000Z","size":41,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-14T03:56:05.521Z","etag":null,"topics":["git","github","haskell","posix","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeltsch.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-03T18:57:50.000Z","updated_at":"2024-05-03T20:20:22.000Z","dependencies_parsed_at":"2024-05-03T21:28:46.914Z","dependency_job_id":"0c332e7c-cd33-4865-8fe8-67ad255f362a","html_url":"https://github.com/jeltsch/cli-utilities","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jeltsch/cli-utilities","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeltsch%2Fcli-utilities","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeltsch%2Fcli-utilities/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeltsch%2Fcli-utilities/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeltsch%2Fcli-utilities/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeltsch","download_url":"https://codeload.github.com/jeltsch/cli-utilities/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeltsch%2Fcli-utilities/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32771031,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T02:36:36.067Z","status":"ssl_error","status_checked_at":"2026-05-08T02:36:07.210Z","response_time":54,"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":["git","github","haskell","posix","shell"],"created_at":"2025-10-14T03:55:57.788Z","updated_at":"2026-05-08T07:33:03.976Z","avatar_url":"https://github.com/jeltsch.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Various command line utilities\n\nThis package contains a collection of command line utilities that their\nauthor uses to automate common tasks of his and that may be useful also\nfor others.\n\n\n## Requirements\n\nThe utilities are expected to be run in an environment that has the\nfollowing properties:\n\n  * It conforms to the POSIX standard.\n\n  * It supports shebangs of the form `#! ⟨command⟩ ⟨argument⟩`.\n\n  * It provides an `env` utility at `/usr/bin/env` that behaves\n    according to the POSIX standard when called with a single argument\n    that specifies a utility to run.\n\n  * It uses the UTF-8 character encoding.\n\nSome of the utilities require additional software to be installed, which\nis specified in their documentation.\n\n\n## Installation\n\nThe utilities can be made available by adding the `bin` directory of\nthis package to the `PATH` environment variable.\n\n\n## The utilities in detail\n\n[github-cli]:\n    https://cli.github.com/\n    \"GitHub CLI\"\n\n\n### `did` – Do in directories\n\n```\ndid ⟨directory-list⟩ ⟨command-string⟩\n```\n\nExecute `⟨command-string⟩` in each of the directories in\n`⟨directory-list⟩`.\n\nThe `⟨directory-list⟩` operand is the name of a directory list\nconfigured by the user. Configuration happens by placing a text file at\n`$HOME/.config/did/⟨directory-list⟩`. Each line of this file must be one\nof the following:\n\n  * An empty line.\n\n  * A line starting with `#`.\n\n  * A POSIX pathname pattern specifying absolute pathnames\n\nEmpty lines and lines starting with `#` are ignored. Pathname patterns\nare expanded, and the lists of resulting pathnames are concatenated. For\neach pathname in the resulting list, `⟨command-string⟩` is executed with\nthis pathname as the working directory, using the user’s default shell.\n\n\n### `logging` – Execute with logging\n\n```\nlogging ⟨command-string⟩ ⟨log-file⟩\n```\n\nExecute `⟨command-string⟩` using the user’s default shell with standard\noutput and standard error being redirected to `⟨log-file⟩` and finally\nwrite an information about the shell’s exit status to `⟨log-file⟩`.\n\n\n### `cci` – Create commit for issue\n\n```\ncci ⟨issue⟩\n```\n\nCreates a commit that has the title of the GitHub issue with number\n`⟨issue⟩` as its subject line and an empty body.\n\n**Additionally required software:** Git, [GitHub CLI][github-cli]\n\n\n### `gbu` – Get branch updates\n\n```\ngbu ⟨other-branch⟩\n```\n\nMerges the Git branch `⟨other-branch⟩` into the current Git branch.\n\nThis command differs from a plain `git merge ⟨other-branch⟩` in the\nfollowing ways:\n\n  * It ensures that a merge commit is created even when fast-forwarding\n    would be possible.\n\n  * It produces a more concise commit subject line, which furthermore\n    uses Markdown syntax.\n\n**Additionally required software:** Git\n\n\n### `cpr` – Create pull request\n\n```\ncpr [-d|--draft] ⟨issue⟩ ⟨reviewers⟩\n```\n\nPush the current Git branch to GitHub, set its upstream reference\naccordingly, and create a GitHub pull request for it.\n\nThe remote for the GitHub repository must have the name `github`. The\ntitle, assignees, labels, projects, and milestone of the pull request\nare set to those of `⟨issue⟩` as far as `⟨issue⟩` contains such\nmetadata. The reviewers are set to those given by the `⟨reviewers⟩`\noperand, which must contain them separated by commas. If no\n`⟨reviewers⟩` are desired, `⟨reviewers⟩` must be the empty string. If\nthe `-d` or the `--draft` option is present, the pull request is given\ndraft status and the text\n```\nThis will ultimately resolve #⟨issue⟩.\n```\nis used as the body of the pull request; otherwise, the text\n```\nThis resolves #⟨issue⟩.\n```\nis used.\n\n**Additionally required software:** Git, [GitHub CLI][github-cli]\n\n\n### `mpr` – Merge pull request\n\n```\nmpr\n```\n\nMerge a GitHub pull request and delete its remote-tracking branch and\nits local branch.\n\nThe remote for the GitHub repository must have the name `github`. The\nsubject line of the created merge commit uses better wording than the\none that GitHub would produce and furthermore uses Markdown syntax. The\nbody of the created merge commit is the title of the pull request.\n\n**Additionally required software:** Git, [GitHub CLI][github-cli]\n\n\n### `hle` – Haskell language extensions\n\n```\nhle [⟨haskell-module-file⟩...]\n```\n\nSearch for all `LANGUAGE` pragmas in the specified Haskell module files\nor, if no operands are given, in a Haskell module read from standard\ninput and write an alphabetically sorted list of all language extensions\nenabled by these pragmas to standard output.\n\nOf each Haskell module, only the part until the first lexeme is\nconsidered. The processing of this part is subject to the following\nconstraints:\n\n  * The control character sequences `⟨CR⟩` and `⟨CR⟩⟨LF⟩` are not\n    guaranteed to be recognized as newlines and thus whitespace. On\n    systems conforming to the POSIX standard, they are not treated as\n    newlines; on Cygwin, `⟨CR⟩⟨LF⟩` might be treated as a newline, and\n    `⟨LF⟩` might not.\n\n  * For deciding whether a certain character is a Unicode whitespace\n    character, the whitespace definition of Unicode 14.0.0 is used.\n\n  * Nested comments are not supported, that is, between a pair of `{-`\n    and `-}`, no other pair of `{-` and `-}` may occur. This also\n    applies to pragmas.\n\n  * The layout rule is not applied to pragmas.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeltsch%2Fcli-utilities","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeltsch%2Fcli-utilities","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeltsch%2Fcli-utilities/lists"}