{"id":44638970,"url":"https://github.com/nickwells/utilities","last_synced_at":"2026-02-14T18:08:33.047Z","repository":{"id":49412558,"uuid":"179823717","full_name":"nickwells/utilities","owner":"nickwells","description":"miscellaneous useful commands, including 'gosh' the Go scripting tool","archived":false,"fork":false,"pushed_at":"2025-12-16T19:52:10.000Z","size":961,"stargazers_count":41,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-20T10:52:05.110Z","etag":null,"topics":["go","golang","gosh"],"latest_commit_sha":null,"homepage":"","language":"Go","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/nickwells.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-04-06T11:16:27.000Z","updated_at":"2025-12-16T19:52:15.000Z","dependencies_parsed_at":"2023-02-17T20:45:57.494Z","dependency_job_id":"f69428bd-ae9a-4bb6-b913-ba5e135c99b8","html_url":"https://github.com/nickwells/utilities","commit_stats":null,"previous_names":[],"tags_count":123,"template":false,"template_full_name":null,"purl":"pkg:github/nickwells/utilities","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickwells%2Futilities","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickwells%2Futilities/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickwells%2Futilities/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickwells%2Futilities/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nickwells","download_url":"https://codeload.github.com/nickwells/utilities/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickwells%2Futilities/sbom","scorecard":{"id":685652,"data":{"date":"2025-08-11","repo":{"name":"github.com/nickwells/utilities","commit":"3fdf2be4645cc158de46aea1fe10ae08d91bb75f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Maintained","score":4,"reason":"5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T00:42:38.047Z","repository_id":49412558,"created_at":"2025-08-22T00:42:38.048Z","updated_at":"2025-08-22T00:42:38.048Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29452211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["go","golang","gosh"],"created_at":"2026-02-14T18:08:32.402Z","updated_at":"2026-02-14T18:08:33.027Z","avatar_url":"https://github.com/nickwells.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Code generated by mkbadge; DO NOT EDIT. START --\u003e\n[![go.dev reference](https://img.shields.io/badge/go.dev-reference-green?logo=go)](https://pkg.go.dev/mod/github.com/nickwells/utilities)\n[![Go Report Card](https://goreportcard.com/badge/github.com/nickwells/utilities)](https://goreportcard.com/report/github.com/nickwells/utilities)\n![GitHub License](https://img.shields.io/github/license/nickwells/utilities)\n\u003c!-- Code generated by mkbadge; DO NOT EDIT. END --\u003e\n# utilities\nMiscellaneous useful commands.\n\n\n## gosh ![gosh](gosh/_images/gosh.100x100.gif)\nThis is a tool for running Go code from the command line.\n\n[See here](gosh/_gosh.DOC.md).\n\n## gosh.snippet\nThis is for installing the standard gosh snippets.\n\n[See here](gosh.snippet/_gosh.snippet.DOC.md)\n\n## findCmpRm\nThis finds files with copies, compares them with the copies and optionally\ndeletes the old copies.\n\n[See here](findCmpRm/_findCmpRm.DOC.md)\n\n\n## findGoDirs\nThis finds Go source directories and optionally performs some useful tasks on\nthem or just lists them.\n\n[See here](findGoDirs/_findGoDirs.DOC.md)\n\n## mkparamfilefunc\nThis is intended to be used with go generate to construct functions that can\nbe used to set the parameter files for packages and commands. It will write a\nGo file with functions that can be passed to a call to paramset.NewOrPanic to\nset the per-command config files. This will allow the user of a program to\nset parameters that they want to use every time the program is run.\n\n[See here](mkparamfilefunc/_mkparamfilefunc.DOC.md)\n\n## mkpkgerr\nThis will generate the code to provide a package-specific error type\n(pkgError) which allows errors from your package to be distinguished from\nerrors from other sources. It defines an interface called Error which will be\nsatisfied only by errors from your package. The pkgError is not exported and\nso cannot be used outside of the package but does satisfy the\npackage-specific Error interface (and also the standard error interface). It\nalso provides a local pkgErrorf function that can be used to generate a\npkgError. The pkgError is a renaming of string and so a string can simply be\ncast to a pkgError.\n\n[See here](mkpkgerr/_mkpkgerr.DOC.md)\n\n## mkfunccontrolparamtype\nThis can be used to generate a type which can be used to control the\nbehaviour of a function. You can give a type name, a list of valid values and\na description and it will generate a file containing the necessary code that\nyou can then use.\n\nThe type can be thought of as an enumerated type.\n\n[See here](mkparamfilefunc/_mkparamfilefunc.DOC.md)\n\n## mkdoc\nThis is a tool for generating markdown files documenting Go programs.\n\n[See here](mkdoc/_mkdoc.DOC.md).\n\n## mkbadge\nThis is a tool for generating badges to be inserted into the README.md file\n\n[See here](mkbadge/_mkbadge.DOC.md)\n\n## statfs\nThis provides an equivalent to the Linux `df` command but in a form that is easier\nto use in a shell script. The default output is easy for a human to\nunderstand but with the right flags set it can deliver just the value\nrequired.\n\n[See here](statfs/_statfs.DOC.md)\n\n## sleepuntil\nThis provides a way of repeatedly sleeping until a particular time is\nreached.\n\n[See here](sleepuntil/_sleepuntil.DOC.md)\n\n## timeconv\nThis provides a way of simply converting the time from one locale to\nanother. This can be useful when you are working with colleagues in other\ntimezones with different daylight-saving rules.\n\n[See here](timeconv/_timeconv.DOC.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickwells%2Futilities","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnickwells%2Futilities","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickwells%2Futilities/lists"}