{"id":16828100,"url":"https://github.com/kataras/iris-cli","last_synced_at":"2025-09-06T10:44:29.536Z","repository":{"id":45911272,"uuid":"228814355","full_name":"kataras/iris-cli","owner":"kataras","description":"[WIP] Iris Command Line Interface","archived":false,"fork":false,"pushed_at":"2024-09-27T08:54:44.000Z","size":343,"stargazers_count":125,"open_issues_count":9,"forks_count":11,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-21T15:11:12.985Z","etag":null,"topics":["iris","iris-cli"],"latest_commit_sha":null,"homepage":"https://iris-go.com","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/kataras.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"kataras"}},"created_at":"2019-12-18T10:20:59.000Z","updated_at":"2025-03-03T00:34:12.000Z","dependencies_parsed_at":"2024-10-27T12:00:52.291Z","dependency_job_id":"de1df393-1067-41b0-87c8-afc6c07d32e9","html_url":"https://github.com/kataras/iris-cli","commit_stats":{"total_commits":110,"total_committers":3,"mean_commits":"36.666666666666664","dds":0.1454545454545455,"last_synced_commit":"332fa53369906695ccd00bd65058f774ac205624"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kataras%2Firis-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kataras%2Firis-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kataras%2Firis-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kataras%2Firis-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kataras","download_url":"https://codeload.github.com/kataras/iris-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246187241,"owners_count":20737462,"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":["iris","iris-cli"],"created_at":"2024-10-13T11:24:39.663Z","updated_at":"2025-03-29T13:10:28.216Z","avatar_url":"https://github.com/kataras.png","language":"Go","funding_links":["https://github.com/sponsors/kataras"],"categories":[],"sub_categories":[],"readme":"# Iris CLI (Work In Progress)\r\n\r\n[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris-cli/ci.yml?style=for-the-badge)](https://github.com/kataras/iris-cli/actions) [![report card](https://img.shields.io/badge/report%20card-a%2B-ff3333.svg?style=for-the-badge)](https://goreportcard.com/report/github.com/kataras/iris-cli)\r\n\r\nIris Command Line Interface is your buddy when it comes to get started with [Iris](https://github.com/kataras/iris) and [Go](https://golang.org/dl).\r\n\r\n![](https://iris-go.com/images/iris-cli-screen.png)\r\n\r\n\u003e This project is not finished. It is under active development. **TEST ONLY**\r\n\r\n## Installation\r\n\r\nThe only requirement is the [Go Programming Language](https://golang.org/dl).\r\n\r\n```sh\r\n$ go install github.com/kataras/iris-cli@main\r\n```\r\n\r\n## Troubleshooting\r\n\r\nIf you get a network error during installation please make sure you set a valid [GOPROXY](https://github.com/golang/go/wiki/Modules#are-there-always-on-module-repositories-and-enterprise-proxies) environment variable.\r\n\r\n```sh\r\n$ go env -w GOPROXY=https://goproxy.cn,https://gocenter.io,https://goproxy.io,direct\r\n```\r\n\r\nIf you get a network error during `iris-cli` execution, retry with the `--proxy` global flag.\r\n\r\n```sh\r\n$ iris-cli --proxy=env [COMMAND] [FLAGS]\r\n#          --proxy=119.28.233.135:8080\r\n```\r\n\r\n[List all Releases](https://github.com/kataras/iris-cli/releases)\r\n\r\n## Table of Contents\r\n\r\n* Project Commands\r\n    * [new](#new-command)\r\n    * [run](#run-command)\r\n    * [clean](#clean-command)\r\n    * [unistall](#unistall-command)\r\n    * [init](#init-command)\r\n* Snippet Commands\r\n    * [add](#add-command)\r\n* Miscellaneous\r\n    * [check](#check-command)\r\n    * [stats](#stats-command)\r\n\r\n### New Command\r\n\r\n```sh\r\n$ iris-cli new [--module=my_app] basic\r\n#                                mvc\r\n#                                svelte\r\n#                                react-typescript\r\n#                                go-admin\r\n```\r\n\r\n### Run Command\r\n\r\n```sh\r\n$ iris-cli run\r\n# optional argument, the project directory or\r\n# a project template.\r\n```\r\n\r\n[Download, install](#new-command) and run a [project template](registry.yml) at once.\r\n\r\n```sh\r\n$ iris-cli run react-typescript\r\n```\r\n\r\n### Clean Command\r\n\r\n```sh\r\n$ iris-cli clean\r\n# optional argument, the project directory,\r\n# defaults to the current working directory.\r\n```\r\n\r\n### Unistall Command\r\n\r\n```sh\r\n$ iris-cli unistall\r\n# optional argument, the project directory,\r\n# defaults to the current working directory.\r\n```\r\n\r\n### Init Command\r\n\r\nCreate a new local iris project file through a local git repository.\r\n\r\n```sh\r\n$ iris-cli init\r\n```\r\n\r\nIt creates the `.iris.yml` file for you. Note that, it adds a _.gitignore_ entry of `.iris.yml` too. Therefore **.iris.yml** SHOULD be git-ignored as its settings depend on the current environment. Contributors of an iris-cli project should use their own versions of `.iris.yml` file.\r\n\r\n### Add Command\r\n\r\n```sh\r\n$ iris-cli add file.go\r\n```\r\n\r\n```sh\r\n$ iris-cli add [--repo=iris-contrib/snippets] [--pkg=my_package] [--data=repo.json] [--replace=oldValue=newValue,oldValue2=newValue2] file.go[@version]\r\n```\r\n\r\n### Check Command\r\n\r\n```sh\r\n$ iris-cli check [module]  \r\n#              [iris]\r\n#              [gopkg.in/yaml.v2]\r\n#              [all]\r\n```\r\n\r\n### Stats Command\r\n\r\nStats command shows stats for a collection of modules based on the\r\nmajor Go Proxies (goproxy.cn, gocenter.io, goproxy.io). Modules are separated by spaces.\r\n\r\n#### Get Download Count\r\n\r\nDownload count per GOPROXY for a module and total for repository.\r\n\r\n```sh\r\n$ iris-cli stats --download-count [modules]\r\n#  github.com/kataras/iris github.com/kataras/iris/v12 \\\r\n#  gopkg.in/yaml.v3 gopkg.in/yaml.v2\r\n\r\n[github.com/kataras/iris]\r\n• goproxy.cn: 27474\r\n• gocenter.io: 5560\r\n• total: 33034\r\n[github.com/kataras/iris/v12]\r\n• goproxy.cn: 33589\r\n• gocenter.io: 3024\r\n• total: 36613\r\n[gopkg.in/yaml.v2]\r\n• goproxy.cn: 2306257\r\n• gocenter.io: 1686035\r\n• total: 3992292\r\n[gopkg.in/yaml.v3]\r\n• goproxy.cn: 241121\r\n• gocenter.io: 37909\r\n• total: 279030\r\n\r\n[repository total]\r\n• github.com/kataras/iris: 69647\r\n• gopkg.in/yaml: 4271322\r\n```\r\n\r\n### Export \u0026 Compare Download Count Stats\r\n\r\nTo export the result of `stats --download-count` command you have to use the `--out=downloads.yml` flag.\r\n\r\n```sh\r\n$ iris-cli stats --download-count --out=downloads.yml \\\r\n  gopkg.in/yaml.v2 gopkg.in/yaml.v3 \\\r\n  github.com/kataras/iris github.com/kataras/irisv12\r\n```\r\n\r\nThe above command will export the stats data to the `downloads.yml` file. When it contains data, the stats will be appended, so you have a **history of stats**. Run that command multiple times, e.g. wait 1minute, then wait 30 seconds and e.t.c. so we can have a sample data for the example.\r\n\r\nNow, with that history, we can view the total downloads per repository with the `stats compare --download-count` command.\r\n\r\n```sh\r\n$ stats compare --download-count --since=24h --src=downloads.yml\r\n          \r\n[27 minutes ago]\r\n  • github.com/kataras/iris: 70320\r\n  • gopkg.in/yaml: 4295883\r\n[22 minutes ago]\r\n  • github.com/kataras/iris: 70327\r\n  • gopkg.in/yaml: 4295886\r\n\r\n[diff]\r\n  • github.com/kataras/iris: +7\r\n  • gopkg.in/yaml: +3\r\n```\r\n\r\nThat will fetch the history and show the stats of the last 24 hours sorted by ascending timestamp of history entry. And shows how many new downloads each repository (base of one or more modules) has since the first entry(oldest) and the last one(newest).\r\n\r\nThe `--src` flag is required. You can disable the humanize time of the above by setting the `--pretty=false` flag. Customize its time format through the `--time-format` flag.\r\n\r\n\u003e Note that the history file should be always generated through the `iris-cli` tool for consistent results.\r\n\r\n### List Versions\r\n\r\nList all available releases Go Proxies have cached.\r\n\r\n```sh\r\n$ iris-cli stats --versions github.com/aws/copilot-cli gopkg.in/yaml.v2\r\n\r\n[github.com/aws/copilot-cli]\r\n• goproxy.io:\r\n  • v0.0.4\r\n  • v0.0.5\r\n  • v0.0.6\r\n  • v0.0.7\r\n  • v0.0.8\r\n  • v0.0.9\r\n  • v0.1.0\r\n  • v0.2.0\r\n[gopkg.in/yaml.v2]\r\n• goproxy.io:\r\n  • v2.0.0\r\n  • v2.1.0\r\n  • v2.1.1\r\n  • v2.2.0\r\n  • v2.2.1\r\n  • v2.2.2\r\n  • v2.2.3\r\n  • v2.2.4\r\n  • v2.2.5\r\n  • v2.2.6\r\n  • v2.2.7\r\n  • v2.2.8\r\n  • v2.3.0\r\n```\r\n\r\n### Contributing\r\n\r\nWe'd love to see your contribution to the Iris CLI! For more information about contributing to the Iris Command Line Interface please check the [CONTRIBUTING.md](CONTRIBUTING.md) file.\r\n\r\n[List of all Contributors](https://github.com/kataras/iris-cli/graphs/contributors)\r\n\r\n## License\r\n\r\nIris CLI is free and open-source software licensed under the [MIT License](LICENSE).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkataras%2Firis-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkataras%2Firis-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkataras%2Firis-cli/lists"}