{"id":17383057,"url":"https://github.com/coerschkes/co-scripts","last_synced_at":"2025-10-07T22:38:07.747Z","repository":{"id":227259208,"uuid":"770232171","full_name":"coerschkes/co-scripts","owner":"coerschkes","description":"A Collection of all my scripts I use during development and for quality of life","archived":false,"fork":false,"pushed_at":"2024-07-04T10:04:44.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T23:27:02.526Z","etag":null,"topics":["framework","shell","shell-scripts"],"latest_commit_sha":null,"homepage":"https://github.com/coerschkes/co-scripts","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coerschkes.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-03-11T07:27:03.000Z","updated_at":"2024-07-04T10:04:48.000Z","dependencies_parsed_at":"2024-03-12T12:50:15.336Z","dependency_job_id":"16502512-1bf5-4d73-8986-e0e1e2851ca5","html_url":"https://github.com/coerschkes/co-scripts","commit_stats":null,"previous_names":["coerschkes/co-scripts"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coerschkes%2Fco-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coerschkes%2Fco-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coerschkes%2Fco-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coerschkes%2Fco-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coerschkes","download_url":"https://codeload.github.com/coerschkes/co-scripts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245924494,"owners_count":20694728,"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":["framework","shell","shell-scripts"],"created_at":"2024-10-16T07:40:28.345Z","updated_at":"2025-10-07T22:38:02.704Z","avatar_url":"https://github.com/coerschkes.png","language":"Shell","readme":"\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n\n\u003ch3 align=\"center\"\u003eco-scripts\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    A Collection of all my scripts I use during development and for quality of life\n\u003c/div\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## About The Project\n\nThis is a collection of shellscripts for linux environments. I use them to update dependencies, print out stuff, managing my aliases, etc.. With this collection ships a simple framework for developing new scripts and registering aliases for the scripts.\n\n## Getting Started\n\n1. Checkout the project\n```sh\ngit clone https://github.com/coerschkes/co-scripts.git\n```\n2. Set the env-variable \"SCRIPT_DIR\" to the root of this project\n```sh\nexport SCRIPT_DIR=\u003cpath-to-project\u003e\n```\n\u003e **_note_**  \n\u003e For permanent access and functionality of the scripts, put the export statement into .bashrc or .profile\n3. Run import-all.sh to register aliases for all important scripts\n```sh\n./import-all.sh\n```\n4. Restart your shell and there you go!\n\n\u003e **_note_**  \n\u003e If you have a .bash_aliases file and use it to manage your aliases don't run the import script cause it will overwrite the existing file. To use your aliases along with this framework move the alias definitions to .bashrc or .profile before running the import script.\n\n## Usage\n\nThe project differences between two types of scripts, visible and invisible. Invisible scripts start with an underscore ('\\_') and are not recognized by the import or the print script. These scripts are used as helpers or library scripts. Visible scripts get imported and printed and are created by calling generate-script-template.sh or the alias:\n\n```sh\nnew-script \u003cname\u003e\n```\n\nThis creates a new script with a print() and an alias() function. To use this framework with autogenerated aliases and printing, these two functions are **_mandatory_** in every **_visible_** script - otherwise you get weird error messages cause these functions will get called.\n\nTo get an overview of all visible scripts available and all aliases they ship with simply execute the print-all.sh script or the alias:\n\n```sh\nps\n```\n\nWhenever you add a new visible script to the directory structure, simply execute import-all.sh or the alias:\n\n```sh\nis\n```\n\nThis will import the new script, register it with the alias returned from the **_alias_** function and print the usage by executing **_print_**. Before you can use your new script as alias you have to restart your shell.\n\n\u003e **_note_**  \n   \u003e If you add another folder to the structure or want to add specific scripts to printing/importing you have to edit the import-all/print-all script and add the designated path. This may work different in the future (I'm planning on tweaking this a little) but for now you gotta go with that.\n\n## Roadmap\n\n- [ ] recursive script detection\n- [X] description() for every script\n- [X] print description() instead of usage when printing all\n- [ ] calculate max-len for all script-aliases and print afterwards with fixed max-len\n- [ ] improve template and template generation\n- [X] standard script algorithm with switch\n- [ ] script-scheme validator\n- ...\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoerschkes%2Fco-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoerschkes%2Fco-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoerschkes%2Fco-scripts/lists"}