{"id":26188027,"url":"https://github.com/ficolas2/comembert","last_synced_at":"2025-04-15T00:56:06.189Z","repository":{"id":258011994,"uuid":"870378944","full_name":"ficolas2/comembert","owner":"ficolas2","description":"Comembert (Command remember tool) is a cli command manager, that allows you to save commands, and output them directly onto your command line, so that you can modify them before running them.","archived":false,"fork":false,"pushed_at":"2025-01-14T16:35:28.000Z","size":112,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T12:51:14.853Z","etag":null,"topics":["cli","command-line","command-line-tool","command-line-uti","remember","rust","utilty"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/ficolas2.png","metadata":{"files":{"readme":"README.md","changelog":null,"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-09T23:48:47.000Z","updated_at":"2025-02-13T11:23:45.000Z","dependencies_parsed_at":"2024-10-18T20:46:59.732Z","dependency_job_id":"b68aacfe-0114-4829-921f-57a5f1a5a91f","html_url":"https://github.com/ficolas2/comembert","commit_stats":null,"previous_names":["ficolas2/comembert"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ficolas2%2Fcomembert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ficolas2%2Fcomembert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ficolas2%2Fcomembert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ficolas2%2Fcomembert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ficolas2","download_url":"https://codeload.github.com/ficolas2/comembert/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248681565,"owners_count":21144708,"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":["cli","command-line","command-line-tool","command-line-uti","remember","rust","utilty"],"created_at":"2025-03-11T23:55:54.212Z","updated_at":"2025-04-15T00:56:06.172Z","avatar_url":"https://github.com/ficolas2.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n         _--\"-.\n      .-\"      \"-.\n     |\"\"--..      '-.\n     |      \"\"--..   '-.\n     |            \"\"--..\".         ____                               _               _   \n     |                   |        / ___|___  _ __ ___   ___ _ __ ___ | |__   ___ _ __| |_ \n     |                 .-'       | |   / _ \\| '_ ` _ \\ / _ \\ '_ ` _ \\| '_ \\ / _ \\ '__| __|\n     '--..             -.        | |__| (_) | | | | | |  __/ | | | | | |_) |  __/ |  | |_ \n          \"\"--..         :        \\____\\___/|_| |_| |_|\\___|_| |_| |_|_.__/ \\___|_|   \\__|\n                \"\"--..   |\n                      \"\"-'      Co(mmand re)member t(ool)\n```\n\n## Overview\nComembert (Command remember tool) is a cli command manager, that allows you to save commands, \nand output them directly onto your command line, so that you can modify them before running them.\n\n![preview](media/preview.gif)\n\n## Requirements\n- fzf: \nhttps://github.com/junegunn/fzf\n- Either bash, zsh or fish shell.\n\n## Installation\n### Bash\n**Note**: for bash, the command cm won't work to insert the command to the terminal prompt, you need to\nuse the keybinding Ctrl+F. See [Insertion options](#insertion-options).\n```bash\ncargo install comembert\nmkdir ~/.config/comembert\nwget https://raw.githubusercontent.com/ficolas2/comembert/refs/heads/main/scripts/bash/cm -O ~/.config/comembert/cm.sh\necho 'source ~/.config/comembert/cm.sh' \u003e\u003e ~/.bashrc\n```\n\n### Zsh\n**Note**: for zsh, the command cm won't work to insert the command to the terminal prompt, you need to\nuse the keybinding Ctrl+F. See [Insertion options](#insertion-options).\n```bash\ncargo install comembert\nmkdir ~/.config/comembert\nwget https://raw.githubusercontent.com/ficolas2/comembert/refs/heads/main/scripts/zsh/cm -O ~/.config/comembert/cm.zsh\necho 'source ~/.config/comembert/cm.zsh' \u003e\u003e ~/.zshrc\n```\n\n### Fish\n```bash\ncargo install comembert\nwget https://raw.githubusercontent.com/ficolas2/comembert/refs/heads/main/scripts/fish/cm.fish -O ~/.config/fish/functions/cm.fish\n```\n\n## Usage\n- [Read a command to the terminal prompt](#insert-a-command-to-the-terminal-prompt)\n- [Save a command](#save-a-command)\n- [Save the last command](#save-the-last-command)\n- [Edit a command](#edit-a-command)\n- [Delete a command](#delete-a-command)\n- [Move a command](#move-a-command)\n- [List all commands](#list-all-commands)\n\n### Insert a command to the terminal prompt\n```bash\ncm\n```\n**NOTE**: INSERTING WITH THE COMMAND ONLY WORKS ON FISH SHELL, or with clipboard output mode, \nsee [Insertion options](#insertion-options). If you are using bash or zsh, you need to press the \nkeybinding Ctrl+F for command insertions.\n\n\nfzf will show you a list of the saved commands, select one, and it will be printed to the terminal input.\n\n### Save a command\n```bash\ncm add 'command' 'command/route'\n```\n\n### Save the last command\n```bash\ncm prev 'command/route'\n```\n\n### Edit a command\n```bash\ncm edit 'command/route'\n```\nYour default editor will be oppened with the selected command.\n\nIf no command route is specified, fzf will be opened to select a command.\n\nNote: the editor is defined by the $EDITOR environment variable.\n\n### Move a command\n```bash\ncm move 'command/route' 'new/command/route'\n```\nIf no command route is specified, fzf will be opened once to select the command to move, and then you will be prompted to enter the new route.\n\n### Delete a command\n```bash\ncm delete 'comand/route'\n```\nIf no command route is specified, fzf will be opened to select a command.\n\n### List all commands\n```bash\ncm list\n```\n\n## Insertion options\n### Using the system clipboard, and simulating input\nIf you want to insert the command to the terminal prompt using the system clipboard, you can set the\nenvironment variable 'COMEMBERT_OUTPUT' to 'clipboard'. This will copy the command to the clipboard,\nand simulate the input to the terminal.\n\nCurrently, you need to have xdotool to simulate the input, and xclip to copy the command to the \nclipboard. This means that this option is only available on linux, with X11, but this should change \nin the future.\n\n### Bash or Zsh\nBash and zsh don't allow inserting the command directly to the terminal prompt when running another \ncommand.\n\nTo insert the command to the terminal prompt, it has to be called from a keybinding. The default \nkeybinding is Ctrl+F, but you can change it modifying the file `~/.config/comembert/cm.sh` or \n`~/.config/comembert/cm.zsh`.\n\n### Fish\nFish shell allows inserting the command directly to the terminal prompt when running another command. \nThis means that you can simply call `cm` and, pick the command, and it will be inserted to the terminal.\n\nIf you want to add a keybinding in fish shell, you can add add the binding to the file \n`~/.config/fish/functions/fish_user_key_bindings.fish`:\nMore info at https://fishshell.com/docs/current/cmds/bind.html\n\n## Planned features\n- [ ] Read an openapi file, and save the commands as curl requests.\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fficolas2%2Fcomembert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fficolas2%2Fcomembert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fficolas2%2Fcomembert/lists"}