{"id":15293551,"url":"https://github.com/ether-cli/ether","last_synced_at":"2025-04-16T05:26:41.909Z","repository":{"id":63909549,"uuid":"92339567","full_name":"Ether-CLI/Ether","owner":"Ether-CLI","description":"A Command-Line Interface for the Swift Package Manager","archived":false,"fork":false,"pushed_at":"2018-12-01T23:05:17.000Z","size":447,"stargazers_count":93,"open_issues_count":6,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-13T02:35:57.949Z","etag":null,"topics":["cli","command-line-interface","command-line-tool","ether","homebrew","spm","swift","swift-package-manager"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/Ether-CLI.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-24T21:48:37.000Z","updated_at":"2024-12-22T19:22:33.000Z","dependencies_parsed_at":"2022-11-29T07:10:17.084Z","dependency_job_id":null,"html_url":"https://github.com/Ether-CLI/Ether","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ether-CLI%2FEther","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ether-CLI%2FEther/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ether-CLI%2FEther/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ether-CLI%2FEther/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ether-CLI","download_url":"https://codeload.github.com/Ether-CLI/Ether/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249199774,"owners_count":21228994,"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":["cli","command-line-interface","command-line-tool","ether","homebrew","spm","swift","swift-package-manager"],"created_at":"2024-09-30T16:49:57.141Z","updated_at":"2025-04-16T05:26:41.881Z","avatar_url":"https://github.com/Ether-CLI.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/calebkleveter/Ether/blob/master/assets/ether.png?raw=true\"\u003e\n    \u003cimg src=\"https://github.com/calebkleveter/Ether/blob/master/assets/ether.png?raw=true\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# Ether\n\n[![Mentioned in Awesome Vapor](https://awesome.re/mentioned-badge.svg)](https://github.com/Cellane/awesome-vapor)\n![Built with Swift 4.2](https://img.shields.io/badge/swift-4.2-orange.svg)\n\n\n## What is it?\n\nEther is a CLI the integrates with SPM (Swift Package Manager), similar to NPM's command-line tool.\n\n\n## How do I install it?\n\nWith Homebrew:\n\n```bash\nbrew tap Ether-CLI/tap\nbrew install ether\n```\n\nIf you don't have, want, or can't use Homebrew, you can run the following script to install Ether:\n\n```bash\ncurl https://raw.githubusercontent.com/calebkleveter/Ether/master/install.sh | bash\n```\n\n## What features does it have?\n\n### Search:\n\nSearches for available packages:\n\n    ether search \u003cname\u003e\n    \nExample result:\n\n```\nSearching [Done]\nvapor/vapor: 💧 A server-side Swift web framework.\nLicense: MIT License\nStars: 13906\n\nvapor/toolbox: Simplifies common command line tasks when using Vapor\nLicense: MIT License\nStars: 111\n\nmatthijs2704/vapor-apns: Simple APNS Library for Vapor (Swift)\nLicense: MIT License\nStars: 289\n\nvapor-community/postgresql: Robust PostgreSQL interface for Swift\nLicense: MIT License\nStars: 99\n\n...    \n```\n\n### Install\n\nInstalls a package with its dependencies:\n\n    ether install \u003cname\u003e\n\nExample output:\n\n```\nInstalling Dependency [Done]\n📦  10 packages installed\n```\n\nPackage.swift:\n\n```\ndependencies: [\n    .package(url: \"https://github.com/vapor/console.git\", from: \"3.0.0\"),\n    .package(url: \"https://github.com/vapor/core.git\", from: \"3.0.0\"),\n    .package(url: \"https://github.com/vapor/vapor.git\", from: \"3.0.0\") \u003c=== Added Package\n]\n```\n\n**Note:**\n\nThe install command has a rather interesting method of getting the proper package. Because you can have packages with the same name by different authors, Ether will run a search based on the argument you pass in and get the most stared result. If the name contains a slash (`/`), then the URL will be created directly without a search like this:\n\n    https://github.com/\u003cNAME\u003e.git\n\nNote that this is case insensitive.\n\n### Fix Install\n\nFixes the install process when an error occurs during `install`, such as a git conflict.\n\n    ether fix-install\n\nExample Output:\n\n```\nThis may take some time...\nFixing Installation [Done]\n```\n\n### Remove\n\nRemoves the package and its dependencies from the project:\n\n    ether remove \u003cname\u003e\n \nExample output:\n\n```\nRemoving Dependency [Done]\n📦  2 packages removed\n```\n\n### Update\n\nUpdates the packages. This only needs to be run if packages are manually added.\n\n    ether update\n\nExample output:\n\n    Updating Packages [Done]\n\nYou can pass in the `--self` flag to update Ether to the latest version:\n\n    ether update --self\n\nExample output:\n\n    Updating Ether [Done]\n\n### Template Create\n\nSaves the current state of the project as a template that can be used later when creating a new project.\n\n    ether template create \u003cname\u003e\n\nExample output:\n\n    Saving Template [Done]\n    \n### Template Remove\n\nSaves the current state of the project as a template that can be used later when creating a new project.\n\n    ether template remove \u003cname\u003e\n\nExample output:\n\n    Deleting Template [Done]\n    \n### Template List\n\nSaves the current state of the project as a template that can be used later when creating a new project.\n\n    ether template list\n\nExample output:\n\n    - Vapor\n    - CLI\n\n### New\n\nCreates a project. It can be a Swift package, a Swift executable, or a project from  a previously saved template.\n\n    ether new \u003cname\u003e\n\nExample output:\n\n    Generating Project [Done]\n\n### Version Latest\n\nSets all packages to their latest versions:\n\n    ether version latest\n\nExample output:\n\n    Updating Package Versions [Done]\n\n### Version All\n\nOutputs the name of each package installed and its version\n\n    ether version all\n\nExample output:\n\n```\nGetting Package Data [Done]\nBits: v1.0.0\nConsole: v2.1.0\nCore: v2.0.2\nDebugging: v1.0.0\nJSON: v2.0.2\nNode: v2.0.4\n```\n\n## How do I make my package available?\n\nIf they are on GitHub, they already are! Ether uses GitHub's GraphQL API to fetch projects with a `Package.swift` file in the project root.\n\n## What license is it under?\n\nEther is under the [MIT license](https://github.com/Ether-CLI/Ether/blob/master/LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fether-cli%2Fether","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fether-cli%2Fether","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fether-cli%2Fether/lists"}