{"id":16552775,"url":"https://github.com/dsingleton/bash-command-adaptor","last_synced_at":"2026-02-14T10:02:36.927Z","repository":{"id":66759988,"uuid":"457936","full_name":"dsingleton/Bash-command-adaptor","owner":"dsingleton","description":"A simple way to wrap a system command and add or enhance functionality","archived":false,"fork":false,"pushed_at":"2010-01-18T12:37:31.000Z","size":80,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-03T23:44:52.215Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"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/dsingleton.png","metadata":{"files":{"readme":"README","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}},"created_at":"2010-01-04T11:47:17.000Z","updated_at":"2020-03-19T15:16:17.000Z","dependencies_parsed_at":"2023-02-20T10:50:14.424Z","dependency_job_id":null,"html_url":"https://github.com/dsingleton/Bash-command-adaptor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dsingleton/Bash-command-adaptor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsingleton%2FBash-command-adaptor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsingleton%2FBash-command-adaptor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsingleton%2FBash-command-adaptor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsingleton%2FBash-command-adaptor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dsingleton","download_url":"https://codeload.github.com/dsingleton/Bash-command-adaptor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsingleton%2FBash-command-adaptor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29442331,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T07:24:13.446Z","status":"ssl_error","status_checked_at":"2026-02-14T07:23:58.969Z","response_time":53,"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":[],"created_at":"2024-10-11T19:46:02.201Z","updated_at":"2026-02-14T10:02:36.912Z","avatar_url":"https://github.com/dsingleton.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"A simple way to wrap a system command and add or enhance functionality, Requiring minimal setup and using a clear and simple directory structure to add scripts.\n\nThis is a work in progress, and the example commands are just that, not meant for production.\n\n== Install ==\n\nTo setup add \u003cINSTALL PATH\u003e/init to your bash init. \n\n== How does this work? ==\n\nIt's best to look at the code for now. Or ask me. I'll write a better explanation later.\n\nThe init script creates an alias for each sub-directory mapped to a script of the same name, eg svn/svn or ls/ls.\n\nIn the current examples: ls is a single script wrapped around the native ls command, passing on all original arguments. You could, for example, log all ls path calls to a file ala bash history.\n\nsvn is a more complex example where the main script (svn/svn) delegates based on the sub-command, if a script of the same name exists (eg, \"svn help\" would map to svn/help) then it's called, otherwise the native sub command is called. The delegated script can then either implement new functionality or wrap native. \n\nI need to define some better terminology to make this clearer.\n\n=== Types of adaptor ===\n\nCommand adaptor: Wraps a single command, like \"ls\", allowing you to add new options or add to output.\n\nSub-command adaptor: Wraps a command with sub-commands, such as svn, allowing you to add new sub-commands locally.\n\n== Warning ==\n\nThis is still a work in progress and needs some more re-factoring before it's ready for anyone else to use properly. Mostly making the delegation in svn/svn generic and not required in each script.\n\nYou should only add, never change, existing command functionality. Otherwise you'll likely break things relying on normal unix behavior. Don't be a dick.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsingleton%2Fbash-command-adaptor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsingleton%2Fbash-command-adaptor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsingleton%2Fbash-command-adaptor/lists"}