{"id":18171351,"url":"https://github.com/jaybee18/csm","last_synced_at":"2026-01-28T01:09:25.176Z","repository":{"id":260316975,"uuid":"879665257","full_name":"Jaybee18/csm","owner":"Jaybee18","description":"Go CLI script management tool","archived":false,"fork":false,"pushed_at":"2024-10-31T09:57:57.000Z","size":60,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-20T21:13:41.286Z","etag":null,"topics":["bash","cli","go","productivity","script-management","scripts","shell"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jaybee18.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"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":"2024-10-28T10:33:53.000Z","updated_at":"2024-10-31T14:39:47.000Z","dependencies_parsed_at":"2024-10-30T17:45:33.918Z","dependency_job_id":null,"html_url":"https://github.com/Jaybee18/csm","commit_stats":null,"previous_names":["jaybee18/csm"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaybee18%2Fcsm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaybee18%2Fcsm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaybee18%2Fcsm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaybee18%2Fcsm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jaybee18","download_url":"https://codeload.github.com/Jaybee18/csm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230645327,"owners_count":18258530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","go","productivity","script-management","scripts","shell"],"created_at":"2024-11-02T15:08:45.184Z","updated_at":"2026-01-28T01:09:25.142Z","avatar_url":"https://github.com/Jaybee18.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# csm\n![GoVersion](https://img.shields.io/github/go-mod/go-version/Jaybee18/csm)\n![Version](https://img.shields.io/github/v/release/Jaybee18/csm)\n![License](https://img.shields.io/github/license/Jaybee18/csm)\n![Stars](https://img.shields.io/github/stars/Jaybee18/csm)\n\nGo CLI script management tool for linux, macOS and windows with auto-completion and command arguments\n\u003c/br\u003e\n\u003c/br\u003e\n\u003c/div\u003e\n\nHeavily inspired by [pier](https://github.com/pier-cli/pier) but since I can't understand and generally dislike Rust, it was of no use for me. So I made a similar, but simpler, tool in Go.\n\n## Installation\n```sh\ngo install github.com/Jaybee18/csm@latest\n```\nAfter installing you have to either manually create the config file at `$HOME/.csm.yaml` or use the config init command:\n```\n$ csm config init\n```\n\n## Usage\nAdding a new command:\n```sh\n$ csm add my-alias \"echo this is my test command\" -d \"an optional description\"\n\n# or with arguments\n$ csm add second-alias \"echo %0\" -d \"print the first argument\"\n```\nUsing a command:\n```sh\n$ csm run my-alias\nthis is my test command\n\n# or with arguments\n$ csm run second-alias printme\nprintme\n```\nTo see the list of configured commands:\n```\n$ csm ls\n╭──────────┬──────────────────────────────┬─────────────────────────╮\n│ ALIAS    │ COMMAND                      │ DESCRIPTION             │\n├──────────┼──────────────────────────────┼─────────────────────────┤\n│ my-alias │ echo this is my test command │ an optional description │\n╰──────────┴──────────────────────────────┴─────────────────────────╯\n```\nTo view help:\n```\n$ csm --help\nA script/command management tool\n\nUsage:\n  csm [command]\n\nAvailable Commands:\n  add         Add a command under the given alias\n  completion  Generate the autocompletion script for the specified shell\n  config      Configure the config file for csm\n  help        Help about any command\n  list        List all stored aliases\n  remove      Remove the entry with the given alias\n  run         Run the command stored under the given alias\n\nFlags:\n      --config string   config file (default is $HOME/.csm.yaml)\n  -h, --help            help for csm\n      --shell strings   shell for commands (default [/bin/sh,-c])\n  -t, --toggle          Help message for toggle\n  -v, --version         version for csm\n\nUse \"csm [command] --help\" for more information about a command.\n```\n\n## Development\nBuild with\n```sh\n$ make build\n```\nRun with\n```sh\n$ go run main.go\n\n# or after building\n$ ./bin/csm\n```\n\n## Configure autocompletion\nPowershell\n```powershell\n# Only for the current shell:\nPS\u003e csm completion powershell | Out-String | Invoke-Expression\n\n# For all shells, source this file from the powershell profile:\nPS\u003e csm completion powershell \u003e csm.ps1\n```\n\nBash\n```sh\n# Only for the current shell\n$ source \u003c(csm completion bash)\n\n# For all shells:\n# Linux:\n$ csm completion bash \u003e /etc/bash_completion.d/csm\n# macOS:\n$ csm completion bash \u003e $(brew --prefix)/etc/bash_completion.d/csm\n```\n\nFor more information, see the `completion` subcommand and its available subcommands:\n```sh\n$ csm completion --help\n# then\n$ csm completion \u003ccommand\u003e --help\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaybee18%2Fcsm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaybee18%2Fcsm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaybee18%2Fcsm/lists"}