{"id":41711326,"url":"https://github.com/ovrclk/eve","last_synced_at":"2026-01-24T21:44:31.017Z","repository":{"id":45766479,"uuid":"513992854","full_name":"ovrclk/eve","owner":"ovrclk","description":"Eve simplifies deploying applications on Akash","archived":false,"fork":false,"pushed_at":"2022-10-27T20:41:42.000Z","size":397,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-10-27T16:47:48.080Z","etag":null,"topics":["akash","blockchain","cloud-infrastructure","web3"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ovrclk.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}},"created_at":"2022-07-14T17:35:17.000Z","updated_at":"2022-11-01T14:52:46.000Z","dependencies_parsed_at":"2023-01-20T16:47:22.233Z","dependency_job_id":null,"html_url":"https://github.com/ovrclk/eve","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ovrclk/eve","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovrclk%2Feve","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovrclk%2Feve/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovrclk%2Feve/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovrclk%2Feve/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ovrclk","download_url":"https://codeload.github.com/ovrclk/eve/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovrclk%2Feve/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":["akash","blockchain","cloud-infrastructure","web3"],"created_at":"2026-01-24T21:44:30.298Z","updated_at":"2026-01-24T21:44:31.005Z","avatar_url":"https://github.com/ovrclk.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/logos/Eve-logos_black_whitebg.png\" width=\"300\"\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\nEve is a workflow manager for Akash. \n\nEve is designed to reduce the amount of time spent on development by providing a simple, intuitive interface for working with Akash, so you focus on the core functionality of your application.\n\n\u003c/div\u003e\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n# Using\n\n```\n$ eve help\n\nEve is a tool that simplifies deploying applications on Akash\n\nUsage:\n  eve [command]\n\nAvailable Commands:\n  actions     Manage your Github actions\n  deploy      Deploy your application\n  help        Help about any command\n  init        Initialize eve in the current directory\n  logs        View the logs of your application\n  pack        Pack your project into a container using buildpacks\n  publish     Publish and version your image\n  status      View the status of your application\n\nFlags:\n  -h, --help               help for eve\n      --path string        Path to the project, it defaults to the current directory\n      --state-dir string   Path to the state directory relative to the project path (default \".akash\")\n\nUse \"eve [command] --help\" for more information about a command.\n```\n\n# Design\n\n\n## Goals\n\n* **Human-first Design**: Humans are the primary users of Eve CLI. Therefore, it should be designed for humans first.\n* **Composeable**: It should be easy to compose and extend the CLI. A core tenet of the original [UNIX philosophy](https://en.wikipedia.org/wiki/Unix_philosophy) is that small, simple programs with clean interfaces can be combined to build larger systems.\n* **High signal-to-noise ratio**:  The CLI should output just enough. Not too much or too little.\n* **Delight with Empathy**: The CLI is a programmer's friend, so they should delighful to use. Designing an enjoyable experience starts with empathy.\n\n## Inputs\n\n### Flags vs. Arguments\n\nFlags are preferred over arguments when multiple inputs are required. They involve a bit more typing but make the CLI use clearer.\n\n### Prompting\n\nUsers should not be punished for not providing the right input. Prompting for missing input provides an excellent way to show complicated options in the CLI. \n\n## Outputs\n\n### Human Readable errors\n\nOne of the most common reasons users refer to documentation is to fix errors, there is a high chance of losing the user when this happens. If you can make errors into documentation, then this will save the user loads of time.\n\nIf you’re expecting an error to happen, catch it and rewrite the error message to be useful.\n\nCatching errors and rewriting them for humans is an excellent way to make the CLI more user-friendly, even more so when they are actionable.\n\nFor example, if you're expecting the user to have `akash` client installed, but they don't, then you can write a helpful error message like:\n\n```\nAkash CLI not installed. Please install akash and try again.\n\nSimplest way to install Akash is using Homebrew:\n\n   brew tap install ovrclk/akash\n\nFor other methods, see the [Akash documentation](https://docs.akash.network/guides/cli/detailed-steps/part-1.-install-akash)\n```\n### grep-parseable\n\nThe human-readable output should be grep-parseable, but not necessarily awk-parseable. For example:\n\n```shell\n$ eve info\n\nSERVICE  AVAIABLE   END_POINTS\n\nweb      1          ecosystem.akash.network efnlq60tll9299476rnaoessbc.ingress.xeon.computer\ndb       1          db.efnlq60tll9299476rnaoessbc.ingress.xeon.computer:27017\n```\n\nNow you can use `grep` to filter the output for web only.\n```shell\n$ eve info | grep web\n\nweb    \t1       \tecosystem.akash.network efnlq60tll9299476rnaoessbc.ingress.xeon.computer\n```\n\n### json-parseable\n\nSometimes there is too much information to be displayed in a human-readable format. Using the `--json` flag, you can get the output in JSON format with all the information one can need.  For example, the output of `eve info` is a JSON string.\n\n```shell\n$ eve info --json\n{\n      \"services\": {\n            \"web\": {\n                  \"available\": 1,\n                  \"endpoints\": [\n                        \"ecosystem.akash.network\",\n                        \"efnlq60tll9299476rnaoessbc.ingress.xeon.computer\"\n                  ]\n            }\n      }\n}\n```\n\nThe above output could be piped to `jq` to extract the endpoints\n\n```shell\n$ eve info --json | jq '.services.web.endpoints[0]'\n\"ecosystem.akash.network\"\n```\n\n### Indentation\n\nIndentation provides clarity for output\n\n```sh\n$ eve deploy\n\n====\u003e Packaging\n      ....\n      ...\n====\u003e Packing Complete. Image ready gosuri/akash-ecosystem: \n      ...\n      ....\n```\n\n### Inspiration\n\n* [Heroku CLI Style Guide](https://devcenter.heroku.com/articles/cli-style-guide)\n* [Command Line Interface Guidelines](https://clig.dev)\n\n## Deployment Phases\n\n1. Package\n\nPackage phase transforms your application source code into images that can run on any cloud using [Cloud Native Buildpacks](https://buildpacks.io/). Buildpacks bring the below set of key benefits:\n\n* Control: Balanced control between App Devs and Operators.\n* Compliance: Ensure apps meet security and compliance requirements.\n* Maintainability: Perform upgrades with minimal effort and intervention.\n\nA container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. \n\n2. Publish\n\nThe image is versioned and published to a remote docker registry.\n\n3. Provision\n\nNecessary resources are provisioned on the Akash Network the provider executes your application.\n\n4. Broadcast\n\nUpon confirmation of correct functionality to broadcast the endpoints using DNS\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovrclk%2Feve","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fovrclk%2Feve","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovrclk%2Feve/lists"}