{"id":41712264,"url":"https://github.com/deniskorbakov/skeleton-cli-go","last_synced_at":"2026-01-24T21:46:09.991Z","repository":{"id":317747542,"uuid":"1068045898","full_name":"deniskorbakov/skeleton-cli-go","owner":"deniskorbakov","description":"🦴 This template is for creating TUI CLI on Go","archived":false,"fork":false,"pushed_at":"2025-12-04T15:41:57.000Z","size":113,"stargazers_count":10,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-07T23:49:13.610Z","etag":null,"topics":["cli","go","skeleton","template","tui"],"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/deniskorbakov.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":"2025-10-01T19:16:00.000Z","updated_at":"2025-12-04T15:41:37.000Z","dependencies_parsed_at":"2025-12-05T12:02:27.298Z","dependency_job_id":null,"html_url":"https://github.com/deniskorbakov/skeleton-cli-go","commit_stats":null,"previous_names":["deniskorbakov/skeleton-cli-go"],"tags_count":1,"template":true,"template_full_name":null,"purl":"pkg:github/deniskorbakov/skeleton-cli-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deniskorbakov%2Fskeleton-cli-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deniskorbakov%2Fskeleton-cli-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deniskorbakov%2Fskeleton-cli-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deniskorbakov%2Fskeleton-cli-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deniskorbakov","download_url":"https://codeload.github.com/deniskorbakov/skeleton-cli-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deniskorbakov%2Fskeleton-cli-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28737622,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T21:19:41.845Z","status":"ssl_error","status_checked_at":"2026-01-24T21:13:38.675Z","response_time":89,"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":["cli","go","skeleton","template","tui"],"created_at":"2026-01-24T21:46:09.097Z","updated_at":"2026-01-24T21:46:09.982Z","avatar_url":"https://github.com/deniskorbakov.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Skeleton CLI GO\n\n![Go Report Card](https://goreportcard.com/badge/github.com/deniskorbakov/skeleton-cli-go)\n![Release](https://img.shields.io/github/release/deniskorbakov/skeleton-cli-go?status.svg)\n![Action Lint](https://github.com/deniskorbakov/skeleton-cli-go/actions/workflows/lint.yml/badge.svg)\n![GitHub Repo stars](https://img.shields.io/github/stars/deniskorbakov/skeleton-cli-go)\n\nA template for creating console applications on go using TUI\n\nMade using data from packages:\n\n* [Cobra](https://github.com/spf13/cobra) - Library for creating powerful modern CLI applications\n* [Fang](http://github.com/charmbracelet/fang) - The CLI starter kit\n* [Huh](https://github.com/charmbracelet/huh) - A simple interactive forms and prompts in the terminal\n\nWhat do you get:\n\n![screen](.assets/screen.png)\n\n## ✨ Install\n\nclone the repository\n\n```bash\ngit clone https://github.com/deniskorbakov/skeleton-cli-go.git\n````\n\ngo to the project folder\n\n```bash\ncd skeleton-cli-go\n````\n\nbuild the app\n\n```bash\nmake build\n```\n\nlaunch the app\n\n```bash\n./cli\n```\n\n## 📖 Examples \u0026 Usage\n\n### ↘️ Replace\n\nIn order to reuse the project for your application, you need to replace the following items\n\nChange the path to the cli to the name of your utility `cmd/cli` -\u003e `cmd/your_name_cli`\n\nIn the `.goreleaser.yaml` file, you need to change the name of the `cli` to your utility\n\n```yaml\nversion: 2\n\nenv:\n  - GO111MODULE=on\n\nproject_name: your_name_cli\n```\n\nChange the application name in the `Makefile`\n\n```makefile\nbuild:\n\tgo mod vendor\n\tgo build -ldflags \"-w -s\" -o your_name_cli cmd/your_name_cli/main.go\n```\n\nChange the application description in the root command - `configs/constname/root.go`\n\n### ⌨️ Command\n\nCommands are created in the directory - `internal/command`\n\nWe are creating a file based on the example of the file - `internal/command/example.go`\n\nAfter creation, add the command to `internal/command/root.go`\n\n```go\npackage command\n\nfunc Run() {\n\t// Other code\n\tcmd.AddCommand(\n\t\texampleCmd,\n\t\t// Add new comments here\n\t)\n}\n```\n\n### ⚙️ Configs\n\n`configs/constname` - This directory contains files for the names of commands, their descriptions, etc.\n\nYou can add or change team data in this space\n\n### 🗯️ Components\n\nThe components use [huh](https://github.com/charmbracelet/huh)\n\n\u003cimg alt=\"Running a burger form\" width=\"600\" src=\"https://vhs.charm.sh/vhs-3J4i6HE3yBmz6SUO3HqILr.gif\"\u003e\n\nThe components in the application are located here - `internal/component`\n\nThese components can be either a form or a separate element of it - further logic depends on your needs\n\nI described the standard example in the file - `internal/component/form`\n\nWe divide the logic into the form itself and what it outputs in a separate structure with fields that it returns\n\nThe application also uses the `internal/component/output/output.go` component. It is designed to display text in\ndifferent colors\n\n### 🗒️ Version\n\nThe app receives the version during the build using [Goreleaser](https://goreleaser.com/)\n\nThe version that you specified in the repository when creating the new release will be installed\n\n### 📝 Release\n\nThe release is being assembled with the help of [Goreleaser](https://goreleaser.com/)\n\nYou can see exactly what is going on here - `.goreleaser.yaml`\n\n### ✍️ Lint\n\nthe project has golangci-lint which adjusts your code\n\nto launch it, specify - `make lint`\n\n### 👻 GitHub Actions\n\nJobs are configured here to check the quality of the code through lint and also add binary files of your application for\ndifferent OS\n\nIn order for the job release to work, you need to specify the GH token in the certificates of your project\n\nThe secret should be called - `GO_RELEASER`\n\n## 🤝 Feedback\n\nWe appreciate your support and look forward to making our product even better with your help!\n\n[@Denis Korbakov](https://github.com/deniskorbakov)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeniskorbakov%2Fskeleton-cli-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeniskorbakov%2Fskeleton-cli-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeniskorbakov%2Fskeleton-cli-go/lists"}