{"id":18964764,"url":"https://github.com/eliaz5536/shellsketch","last_synced_at":"2026-04-03T08:30:17.149Z","repository":{"id":245732367,"uuid":"812093442","full_name":"eliaz5536/ShellSketch","owner":"eliaz5536","description":"Blueprint bash script template for generating structured-formatted shell scripts","archived":false,"fork":false,"pushed_at":"2024-06-23T17:11:02.000Z","size":1253,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-01T05:42:51.768Z","etag":null,"topics":["automation","shell-script","template"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eliaz5536.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-06-08T00:17:10.000Z","updated_at":"2024-10-19T10:20:44.000Z","dependencies_parsed_at":"2024-06-23T19:28:27.218Z","dependency_job_id":"188f900f-852a-4143-bae5-68bc3ce99d35","html_url":"https://github.com/eliaz5536/ShellSketch","commit_stats":null,"previous_names":["eliaz5536/shellsketch"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliaz5536%2FShellSketch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliaz5536%2FShellSketch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliaz5536%2FShellSketch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eliaz5536%2FShellSketch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eliaz5536","download_url":"https://codeload.github.com/eliaz5536/ShellSketch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239962159,"owners_count":19725677,"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":["automation","shell-script","template"],"created_at":"2024-11-08T14:26:18.803Z","updated_at":"2026-04-03T08:30:17.107Z","avatar_url":"https://github.com/eliaz5536.png","language":"Shell","readme":"# ShellSketch - Blueprint Shell Script Template Generator\n![ShellSketch](https://github.com/eliaz5536/ShellSketch/assets/5835036/3c052d7c-4981-4159-8ca9-22b6bb8d0c85)\n\n# ShellSketch\n**_ShellSketch_** is a versatile robust bash script template, with the aim of generating structred-formatted shell scripts \nas preference by user selection through automation without manually creating scripts from scratch. It is also a customizable tool that offers the control of how you want to format your shell scripts.\n\n## Table of Contents\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Demo](#demo)\n- [Configuration](#configuration)\n- [License](#license)\n\n# Features\n**_ShellSketch_** offers series of features designed to automate shell and bash scripting:\n\n### **Documentation Support**\nShellSketch offers support for implementing documentation structure for headers and functions to provide readability and maintainability. It includes fields for a detailed description, notes and a list of required dependencies, ensuring comprehensive project documentation.\n\n### **Licensing** \nShellSketch offers a list of extensive license types from GitHub itself that allow you the selection of specifying the appropriate license for your project, listed under the following:\n\n\u003ctable align=\"center\"\u003e\n \u003ctr\u003e\n  \u003cth width=\"500px\"\u003eLicense\u003c/th\u003e\n  \u003cth width=\"500px\"\u003eDescription\u003c/th\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eApache-2.0\u003c/td\u003e\n  \u003ctd\u003eApache License 2.0\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eGPL-3.0\u003c/td\u003e\n  \u003ctd\u003eGNU General Public License v3.0\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eMIT\u003c/td\u003e\n  \u003ctd\u003eMIT License\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eBSD-2-Clause\u003c/td\u003e\n  \u003ctd\u003eBSD 2-clause 'simplified' license\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eBSD-3-Clause\u003c/td\u003e\n  \u003ctd\u003eBSD 3-clause 'New' or 'Revised' license\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eBSL-1.0\u003c/td\u003e\n  \u003ctd\u003eBoost Software License 1.0\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eCC0-1.0\u003c/td\u003e\n  \u003ctd\u003eCreative Commons Zero v1.0 Universal\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eEPL-2.0\u003c/td\u003e\n  \u003ctd\u003eEclipse Public License 2.0\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eAGPL-3.0\u003c/td\u003e\n  \u003ctd\u003eGNU Affero General Public License v3.0\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eLGPL-2.1\u003c/td\u003e\n  \u003ctd\u003eGNU Lesser General Public License v2.1\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eMPL-2.0\u003c/td\u003e\n  \u003ctd\u003eMozilla Public License 2.0\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n  \u003ctd\u003eUnlicense\u003c/td\u003e\n  \u003ctd\u003eThe Unlicense\u003c/td\u003e\n \u003c/tr\u003e \n\u003c/table\u003e\n\n### **Custom Visual Output**\n**_ShellSketch_** supports **Custom ANSI Escape Sequences** to display colors in shell scripts during development, ideal for improving user experience through visual output. \n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/eliaz5536/ShellSketch/assets/5835036/3612bfc5-93db-4af8-a18c-a12b92f40d19\" alt=\"ansi\" /\u003e\n\u003c/div\u003e\n\nFurthermore, it supports **Custom Log Level Messaging** which provide predefined log levels (**INFO**, **SUCCESS**, **WARNING**, **ERROR**) to clarify script output messages, which can be customized for better visual output.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/eliaz5536/ShellSketch/assets/5835036/8ca86259-6180-402f-ab62-ee025bb1f46b\" alt=\"log_messages_new\" /\u003e\n\u003c/div\u003e\n\n### **Customized Command-Line Interface**\n**_ShellSketch_** supports the creation of customized CLI menu that allow for the creation of customized command-line interface menus to make your scripts interactive. This also involves generating USAGE and HELP functions to produce your scripts effectively.\n\n\u003cdiv align=\"center\"\u003e\n \u003cimg src=\"https://github.com/eliaz5536/ShellSketch/assets/5835036/7329aa49-7c60-4241-9323-2cc11440aa5b\" alt=\"terminal\" /\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n \u003cimg src=\"https://github.com/eliaz5536/ShellSketch/assets/5835036/2221b658-5354-49b0-ae53-d073fb85adaa\" alt=\"new\" /\u003e\n\u003c/div\u003e\n\n### **GUI Support**\n**_ShellSketch_** supports GUI mode which uses **YAD (Yet Another Dialog)** that displays GTK+ dialog boxes and **Whiptail** for usability and accessability of inputting values through simple user interface, which Whiptail is included by default on _Debian_.\n\n\u003cp align=\"center\"\u003e\n \u003cstrong\u003eYAD (Yet Another Dialog)\u003c/strong\u003e\n\u003cp align=\"center\"/\u003e\n\u003cdiv align=\"center\"\u003e\n \u003cimg src=\"https://github.com/eliaz5536/ShellSketch/assets/5835036/7b7fa045-5b85-446d-bfb6-9d498f8c7c3e\" alt=\"ezgif-7-899ea4d197\" /\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n \u003cstrong\u003eWhiptail\u003c/strong\u003e\n\u003cp align=\"center\"/\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/eliaz5536/ShellSketch/assets/5835036/afb4f3b6-416a-4235-899f-b6072c1b51d1\" alt=\"whiptail\" /\u003e\n\u003c/div\u003e\n\n# Requirements\nIt is highly recommended that you run this script on **Debian** or **Debian-based distribution machine** (_Ubuntu_, _Linux Mint_, _Zorin OS_ or _Kali Linux_)\nto avoid compatibility and software issues since packages are installed from the default package manager of Debian **apt**.\n\nInteracting with **_ShellSketch_** in GUI mode through requires the installation of YAD and Whiptail using apt package manager, which can be performed by executing the following commands:\n```\nsudo apt-get install whiptail\nsudo apt-get install yad\n\n# OR\n\nsudo apt-get install whiptail yad\n```\n\n# Installation\n```\n# Clone the following repository\ngit clone https://github.com/eliaz5536/ShellSketch\n\n# Change directory to repository folder and modify file permission to be executable\ncd ShellSketch\nchmod +x template.sh\n\n# Execute the script\n./template.sh -h\n```\n\n## Usage\n```\nShellSketch - Blueprint Shell Script Template Generator\n \nUsage: ./template.sh [mode] [options]\n```\n\n## Help\n```\nShellSketch - Blueprint Shell Script Template Generator\n \nUsage: ./template.sh [mode] [options]\n \nOptions:\n  --usage                                               Show usage information\n  -h, --help                                            Show help message\n  -n, --name \u003cFILE_NAME\u003e                                Specify script file name\n  -t, --title \u003cSCRIPT_TITLE\u003e                            Specify official title of the script\n  -a, --author \u003cAUTHOR\u003e                                 Specify name of the author\n  -d, --description \u003cDESCRIPTION\u003e                       Specify description\n  -ns, --notes \u003cNOTES\u003e                                  Specify notes\n  -dp, --dependencies \u003cDEPENDENCIES\u003e                    Specify required dependencies\n  -l, --license \u003cLICENSE_TYPE\u003e                          Specify license type\n \nANSI Color Code Options:\n  -c, --colors \u003cSTANDARD_COLORS\u003e                        Specify standard ANSI color code escape sequences\n  -ac, --all-colors                                     Implement all standard ANSI color code escape sequences\n  -bgc, --bg-colors \u003cBACKGROUND_COLORS\u003e                 Specify background ANSI color code escape sequences\n  -abgc, --all-bg-colors                                Implement all background ANSI color code escape sequences\n  -ic, --italic-colors \u003cITALIC_COLORS\u003e                  Specify italic ANSI color code escape sequences\n  -aic, --all-italic-colors                             Implement all italic ANSI color code escape sequences\n  -boc, --bold-colors \u003cBOLD_COLORS\u003e                     Specify bold ANSI color code escape sequences\n  -aboc, --all-bold-colors                              Implement all bold ANSI color code escape sequences\n \nFont Options:\n  -fs, --font-styles \u003cFONT_STYLES\u003e                      Specify ANSI font style color code escape sequences\n  -afs, --all-font-styles                               Implement all font styles (BOLD \u0026 ITALIC)\n \nMessage Options:\n  -mt, --message-types \u003cLOG_MESSAGE_TYPES\u003e              Specify log message types\n  --show-messages                                       Display a list of messages as functions to use in script\n \nCommand-Line Interface Option:\n  -cli, --command-line-interface                        Implements Command-Line interface (USAGE, HELP \u0026 parsing argument menu)\n \nMode:\n  gui                                                   Enters GUI mode (Whiptail) \n \nHelp Options:\n  --licenses                                            Show list of license types\n  --show-ansi                                           Show list of available ANSI escape sequences\n \nOther:\n  --all                                                 Implement all features (all ANSI escape sequences, message functions and CLI)\n\n```\n\n# License\nThis project is licensed under the GNU General Public License v3.0. See the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feliaz5536%2Fshellsketch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feliaz5536%2Fshellsketch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feliaz5536%2Fshellsketch/lists"}