{"id":43375307,"url":"https://github.com/goradd/gengen","last_synced_at":"2026-02-02T06:29:22.654Z","repository":{"id":98625077,"uuid":"163500671","full_name":"goradd/gengen","owner":"goradd","description":"Simple generics generator for the GO language","archived":false,"fork":false,"pushed_at":"2019-08-07T21:25:42.000Z","size":107,"stargazers_count":0,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-14T14:46:10.211Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/goradd.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":"2018-12-29T10:07:30.000Z","updated_at":"2019-08-07T21:23:46.000Z","dependencies_parsed_at":"2023-04-27T04:18:01.796Z","dependency_job_id":null,"html_url":"https://github.com/goradd/gengen","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/goradd/gengen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goradd%2Fgengen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goradd%2Fgengen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goradd%2Fgengen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goradd%2Fgengen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goradd","download_url":"https://codeload.github.com/goradd/gengen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goradd%2Fgengen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29007092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T04:25:24.522Z","status":"ssl_error","status_checked_at":"2026-02-02T04:24:51.069Z","response_time":58,"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":[],"created_at":"2026-02-02T06:29:21.980Z","updated_at":"2026-02-02T06:29:22.645Z","avatar_url":"https://github.com/goradd.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gengen\n\nGengen is a command line generics generator for the GO language suitable for use\nin go:generate lines. It uses standard go text templates to\ngenerate GO files that use your custom types to generate a variety of collection\nobjects, and includes some common objects as well.\n\nGengen is pretty simple, and just combines a template with a json configuration file you can use to\ndefine values in the template. It expects the template to be the stdin or the only argument\nto the command line. Output will be directed to the file you specify with the -o option,\nor stdout if no file is specified.\n\nThis design means gengen does not have additional dependencies, is easily installed \nusing *go get*, is cross-platform, and works well in go:generate lines.\n\nConfiguration files can contain comments at the beginning. Gengen will look for the first open bracket,\nand start reading its json input from there.\n\n## Installation\n\n```shell\ngo get -u github.com/goradd/gengen/...\n```\n\n## Usage\n\nTo use the command line tool to build a generic template into one specific to  your types, do the following in the shell:\n\n```shell\ngengen -c \u003cconfig_file\u003e  [-o out_file] [template_file]\n```\n\n`gengen` requires the -c command to specify a json configuration file that sets up the \"dot\" context of the template.\nIf you do not specify an out_file, output will be sent the StdOut. If you do not specify a template_file, the template\nwill be read from StdIn.\n\nFile paths are module and package aware. In other words, if you do this:\n\n```shell\ngengen -c github.com/goradd/gengen/templates/map_src/safe_test.json\n```\n\n`gengen` will see the `github.com/goradd/gengen` as a module or package path, and substitute the real path. This works\nwhether or not you are using modules.\n\nEnvironment variables can be inserted into the path using this syntax: `$var` or `${var}`. This works on all platforms.\n\n## Examples\n\nSee the `templates/build.go` file for an example of how the included library is built.\n\n## Library\n\nGengen includes a maintained library of templates that it uses to create some standard\nconfigurations of useful collections, and that you can use to create your own versions\nof those using your own types. The library includes its own generated unit test code.\n\n## License\n\nGengen is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoradd%2Fgengen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoradd%2Fgengen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoradd%2Fgengen/lists"}