{"id":13749998,"url":"https://github.com/AutobahnSwift/Autobahn","last_synced_at":"2025-05-09T13:31:43.558Z","repository":{"id":94411742,"uuid":"101795370","full_name":"AutobahnSwift/Autobahn","owner":"AutobahnSwift","description":"CLI tool written in Swift heavily inspired by https://github.com/fastlane/fastlane","archived":true,"fork":false,"pushed_at":"2017-09-17T16:38:29.000Z","size":61,"stargazers_count":129,"open_issues_count":3,"forks_count":6,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-01-02T05:03:14.854Z","etag":null,"topics":["automation","cli","fastlane","swift","swift-library","swift-package","swift4"],"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/AutobahnSwift.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-08-29T18:49:23.000Z","updated_at":"2023-07-18T11:44:26.000Z","dependencies_parsed_at":"2023-04-23T02:28:06.418Z","dependency_job_id":null,"html_url":"https://github.com/AutobahnSwift/Autobahn","commit_stats":null,"previous_names":["kdawgwilk/autobahn"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutobahnSwift%2FAutobahn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutobahnSwift%2FAutobahn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutobahnSwift%2FAutobahn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AutobahnSwift%2FAutobahn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AutobahnSwift","download_url":"https://codeload.github.com/AutobahnSwift/Autobahn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253258274,"owners_count":21879619,"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":["automation","cli","fastlane","swift","swift-library","swift-package","swift4"],"created_at":"2024-08-03T07:01:21.557Z","updated_at":"2025-05-09T13:31:43.281Z","avatar_url":"https://github.com/AutobahnSwift.png","language":"Swift","funding_links":[],"categories":["Swift"],"sub_categories":[],"readme":"\n\u003ch1 align=\"center\"\u003eAutobahn\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://travis-ci.org/kdawgwilk/Autobahn/branches\"\u003e\n        \u003cimg src=\"https://img.shields.io/travis/kdawgwilk/Autobahn.svg\" alt=\"Travis status\" /\u003e\n    \u003c/a\u003e\n    \u003c!-- \u003ca href=\"https://travis-ci.org/kdawgwilk/Autobahn/branches\"\u003e\n        \u003cimg src=\"https://img.shields.io/circleci/project/github/kdawgwilk/Autobahn.svg\" alt=\"CircleCI status\" /\u003e\n    \u003c/a\u003e --\u003e\n    \u003c!-- \u003ca href=\"\"\u003e --\u003e\n        \u003c!-- \u003cimg src=\"https://img.shields.io/codecov/c/github/kdawgwilk/Autobahn.svg\" alt=\"Code coverage\" /\u003e --\u003e\n    \u003c!-- \u003c/a\u003e --\u003e\n    \u003cimg src=\"https://img.shields.io/badge/version-0.1.0-blue.svg\" alt=\"Version\" /\u003e\n    \u003ca href=\"https://swift.org\"\u003e\n        \u003cimg src=\"http://img.shields.io/badge/swift-4.0-brightgreen.svg\" alt=\"Swift 4.0\"\u003e\n    \u003c/a\u003e\n    \u003c!-- \u003ca href=\"https://kdawgwilk.github.com/autobahn/docs\"\u003e\n        \u003cimg src=\"http://img.shields.io/badge/read_the-docs-lightgrey.svg\" alt=\"Docs\"\u003e\n    \u003c/a\u003e --\u003e\n    \u003ca href=\"https://github.com/kdawgwilk/Autobahn/blob/master/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/license-MIT-green.svg\" alt=\"License\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://twitter.com/kdawgwilk\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/contact-@Kdawgwilk-blue.svg\" alt=\"Twitter: @kdawgwilk\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\nAutobahn is a set of tools (written in Swift) heavily inspired by [fastlane](https://github.com/fastlane/fastlane) to automate many day to day tasks associated with development of apps in the Apple ecosystem.  Currently most progess has been made on a sub package called [Shuttle](https://github.com/kdawgwilk/Shuttle) that is basically a port of fastlane's [spaceship](https://github.com/fastlane/fastlane/tree/master/spaceship) which is an HTTP client for interacting with the Apple Developer portal and iTunesConnect.\n\n\u003eNOTE: This is still a work in progress and there is still much to do, here is a rough list of things I would like to see in the near future\n\n### ToDO List:\n\n- [x] DSL for defining `highways`\n- [ ] \u003e90% Code Coverage\n- [ ] CLI tool\n  - [x] `drive \u003chighway\u003e` drives the highway specified\n    - [ ] need to make this the default still\n  - [x] `init` creates template `Autobahn.swift` file\n  - [ ] `edit` command that creates a temp playground with autocomplete working for Autobahn.swift\n  - [ ] `verbose` obviously\n  - [ ] `actions` lists all available actions\n  - [ ] `action \u003caction_name\u003e` that describes the action\n  - [x] `help` to explain how each command works\n- [x] Autobahn.swift config file see [danger-swift](https://github.com/danger/danger-swift)\n- [ ] Homebrew install support\n- [ ] Plugin architecture\n- [ ] Git support\n- [ ] Support `.env`\n\n\n## Usage\n\n```\n$ autobahn drive [highway]\n```\n\n## Example Autobahn.swift\n\n```swift\nenum Highway: String, AutobahnDescription.Highway {\n  case build, test, deploy, release\n}\n\nAutobahn(Highway.self)\n\n.beforeAll { highway in\n  print(\"Driving highway: \\(highway)\")\n}\n\n.highway(.build) {\n  print(\"Building...\")\n  try sh(\"swift\", \"build\")\n}\n\n.highway(.test) {\n  try sh(\"swift\", \"test\")\n}\n\n.highway(.deploy) {\n  print(\"Deploying...\")\n}\n\n.highway(.release, dependsOn: [.build, .deploy]) {\n  print(\"Releasing...\")\n}\n\n.afterAll { highway in\n  print(\"Successfully drove highway: \\(highway)\")\n}\n\n.onError { name, error in\n  print(\"Error driving highway: \\(name)\")\n  print(\"Error: \\(error)\")\n}\n\n.drive()\n```\n\n## Installation\n\nTODO: Not supported quite yet\n\n```\n$ brew tap kdawgwilk/homebrew-tap\n$ brew install autobahn\n```\n\n### Development\n\n```sh\n$ git clone https://github.com/kdawgwilk/Autobahn.git\n$ cd Autobahn\n$ swift build\n\n# You can run the cli from the build dir like this:\n# .build/debug/autobahn drive \u003chighway_name\u003e\n$ .build/debug/autobahn drive build\n\n# Or I find it helpful to symlink to `/usr/local/bin` so I can run it directly\n$ ln -s `pwd`/.build/debug/autobahn /usr/local/bin/autobahn\n\n# autobahn drive \u003chighway_name\u003e\n$ autobahn drive build\n```\n\n### 🚀 Contributing\n\nAll developers should feel welcome and encouraged to contribute to Autobahn, see our [getting started](/CONTRIBUTING.md) document here to get involved.\n\n### 💙 Code of Conduct\n\nOur goal is to create a safe and empowering environment for anyone who decides to use or contribute to Autobahn. Please help us make the community a better place by abiding to this [Code of Conduct](/CODE_OF_CONDUCT.md) during your interactions surrounding this project.\n\n\u003e This project is in no way affiliated with Apple Inc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAutobahnSwift%2FAutobahn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAutobahnSwift%2FAutobahn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAutobahnSwift%2FAutobahn/lists"}