{"id":16122028,"url":"https://github.com/foxcapades/argonaut","last_synced_at":"2025-03-17T19:31:13.322Z","repository":{"id":57522981,"uuid":"252901148","full_name":"Foxcapades/Argonaut","owner":"Foxcapades","description":"Builder style CLI creation kit.","archived":false,"fork":false,"pushed_at":"2025-03-15T04:09:40.000Z","size":1485,"stargazers_count":0,"open_issues_count":16,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-15T05:19:32.860Z","etag":null,"topics":["api","cli","command-line","golang","library"],"latest_commit_sha":null,"homepage":"","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/Foxcapades.png","metadata":{"files":{"readme":"readme.adoc","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":"2020-04-04T03:42:45.000Z","updated_at":"2024-09-21T02:50:10.000Z","dependencies_parsed_at":"2023-10-25T20:41:29.336Z","dependency_job_id":"9b3b521a-8069-48f4-9db0-8ff0e367de25","html_url":"https://github.com/Foxcapades/Argonaut","commit_stats":{"total_commits":204,"total_committers":7,"mean_commits":"29.142857142857142","dds":"0.38725490196078427","last_synced_commit":"ac79b431bda3c65383c5fbe7cd95a249242f795f"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foxcapades%2FArgonaut","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foxcapades%2FArgonaut/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foxcapades%2FArgonaut/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foxcapades%2FArgonaut/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Foxcapades","download_url":"https://codeload.github.com/Foxcapades/Argonaut/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243878439,"owners_count":20362432,"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":["api","cli","command-line","golang","library"],"created_at":"2024-10-09T21:09:06.532Z","updated_at":"2025-03-17T19:31:13.058Z","avatar_url":"https://github.com/Foxcapades.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Argonaut\n:repo: https://github.com/Foxcapades/Argonaut\n\n++++\n\u003cp align=\"center\" role=\"Header\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/Foxcapades/Argonaut/master/meta/assets/argonaut.png\"/\u003e\n\u003c/p\u003e\n++++\n\nArgonaut is a builder-style CLI creation kit packed with features.\n\nimage:https://img.shields.io/github/license/Foxcapades/Argonaut[GitHub]\nimage:https://img.shields.io/github/v/tag/Foxcapades/Argonaut?label=version[GitHub tag (latest SemVer), link=https://github.com/Foxcapades/Argonaut/releases/latest]\nimage:https://goreportcard.com/badge/github.com/Foxcapades/Argonaut[link=https://goreportcard.com/report/github.com/Foxcapades/Argonaut]\nimage:https://img.shields.io/badge/go-docs-blue[Static Badge,link=https://pkg.go.dev/github.com/Foxcapades/Argonaut]\nimage:https://img.shields.io/badge/wiki-docs-purple[Wiki,link=https://github.com/Foxcapades/Argonaut/wiki]\n\n\n[source, go]\n----\nimport (\n    cli \"github.com/Foxcapades/Argonaut\"\n)\n----\n\n== Features\n\n* Builder-style API.\n+\n[source, go]\n----\ncli.Flag().\n    WithArgument(cli.Argument().\n        WithName(\"file\").\n        Require())\n----\n* Build singular command applications or command trees.\n+\n[source, go]\n----\ncli.Command()\n// OR\ncli.Tree()\n----\n* Overridable automatic help text generation.\n+\n[source, console]\n----\nUsage:\n  my-app [options] \u003ccommand\u003e\n    This is a simple command tree example.\n\nFlags\n  -h | --help\n      Prints this help text.\n\nCommands\n  fizz    Aliases: fi\n      This is the description for the fizz branch.\n  foo     Aliases: fo\n      this is the description for the foo branch\n----\n* Bind command line arguments to variables of arbitrary types.\n+\n[source, go]\n----\nfoo := uint8(0)\n\ncli.Argument().WithBinding(\u0026foo)\n----\n* Multi-use flags.\n+\n[source, console]\n----\n$ foo --bar --bar --bar\nbar = 3\n----\n* Stackable short flags.\n+\n[source, console]\n----\n$ app -abc=4\na = true\nb = true\nc = 4\n----\n* Callback hooks.\n+\n[source, go]\n----\ncli.Flag().WithCallback(func(Flag){})\ncli.Command().WithCallback(func(Command){})\ncli.Tree().WithCallback(func(Tree){})\ncli.Branch().WithCallback(func(Branch){})\ncli.Leaf().WithCallback(func(Leaf){})\n----\n* Customizable or overridable unmarshalling of almost any type.\n+\n[source, go]\n----\nvar options argo.UnmarshalProps\n...\ncli.Argument().WithUnmarshaler(argo.NewMagicUnmarshaler(options))\n----\n* Default values for flags and arguments.\n+\n[source, go]\n----\nvar foo int32\ncli.Argument().WithBinding(\u0026foo).WithDefault(int32(666))\n----\n* Input validation hooks.\n+\n[source, go]\n----\nvar bind uint8\ncli.Argument().\n    WithBinding(\u0026bind)\n    WithValidator(func(string) {}).\n    WithValidator(func(string, int8) {})\n----\n* Automatic capturing of \"passthrough\" flags and arguments.\n+\n[source, console]\n----\n$ foo bar --fizz=buzz -- apple banana canteloupe\nPassthroughs: apple, banana, canteloupe\n----\n* And more!\n\n== Examples\n\n. https://github.com/Foxcapades/Argonaut/tree/master/examples/complex-type[Complex Types]\n. https://github.com/Foxcapades/Argonaut/tree/master/examples/number-extras[Number Format Extras]\n. https://github.com/Foxcapades/Argonaut/tree/master/examples/simple-tree[Simple Tree]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoxcapades%2Fargonaut","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoxcapades%2Fargonaut","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoxcapades%2Fargonaut/lists"}