All Projects → AutobahnSwift → Autobahn

AutobahnSwift / Autobahn

Licence: mit
CLI tool written in Swift heavily inspired by https://github.com/fastlane/fastlane

Programming Languages

swift
15916 projects
swift4
162 projects

Projects that are alternatives of or similar to Autobahn

Notarize
CLI to easily notarize a Mac app
Stars: ✭ 42 (-63.79%)
Mutual labels:  automation, cli
Spam Bot 3000
Social media research and promotion, semi-autonomous CLI bot
Stars: ✭ 79 (-31.9%)
Mutual labels:  automation, cli
Bosco
A microservice helper
Stars: ✭ 63 (-45.69%)
Mutual labels:  automation, cli
Fastlane
🚀 The easiest way to automate building and releasing your iOS and Android apps
Stars: ✭ 33,382 (+28677.59%)
Mutual labels:  automation, fastlane
Nps
NPM Package Scripts -- All the benefits of npm scripts without the cost of a bloated package.json and limits of json
Stars: ✭ 1,285 (+1007.76%)
Mutual labels:  automation, cli
Nexrender
📹 Data-driven render automation for After Effects
Stars: ✭ 946 (+715.52%)
Mutual labels:  automation, cli
Sparrow
Sparrow - script distribution platform for Linux OS
Stars: ✭ 77 (-33.62%)
Mutual labels:  automation, cli
Archisteamfarm
C# application with primary purpose of idling Steam cards from multiple accounts simultaneously.
Stars: ✭ 7,219 (+6123.28%)
Mutual labels:  automation, cli
Nzb Subliminal
Fetches subtitles for the videos it's provided. It can be easily integrated into NZBGet and SABnzbd too.
Stars: ✭ 85 (-26.72%)
Mutual labels:  automation, cli
Dog
Dog wants to be a very good task runner
Stars: ✭ 84 (-27.59%)
Mutual labels:  automation, cli
Create Component App
Tool to generate different types of React components from the terminal. 💻
Stars: ✭ 879 (+657.76%)
Mutual labels:  automation, cli
Appicon
AppIcon generates *.appiconset contains each resolution image for iOS
Stars: ✭ 1,454 (+1153.45%)
Mutual labels:  automation, cli
Arf Converter
Bulk ARF file converter
Stars: ✭ 10 (-91.38%)
Mutual labels:  automation, cli
Pivotal Flow
Automate your pivotal workflow
Stars: ✭ 29 (-75%)
Mutual labels:  automation, cli
Elodie
An EXIF-based photo assistant, organizer, manager and workflow automation tool.
Stars: ✭ 840 (+624.14%)
Mutual labels:  automation, cli
Php codesniffer
PHP_CodeSniffer is a set of two PHP scripts; the main phpcs script that tokenizes PHP, JavaScript and CSS files to detect violations of a defined coding standard, and a second phpcbf script to automatically correct coding standard violations. PHP_CodeSniffer is an essential development tool that ensures your code remains clean and consistent.
Stars: ✭ 9,004 (+7662.07%)
Mutual labels:  automation, cli
Goexpect
Expect for Go
Stars: ✭ 538 (+363.79%)
Mutual labels:  automation, cli
Wordops
Install and manage a high performance WordPress stack with a few keystrokes
Stars: ✭ 649 (+459.48%)
Mutual labels:  automation, cli
Ritchie Formulas
This repository contains the community formulas that can be executed through Ritchie CLI once imported. This tool is an open source product that allows you to create, store and share any kind of automations, executing them through command lines, to run operations or start workflows ⚙️ 🖥 💡
Stars: ✭ 84 (-27.59%)
Mutual labels:  automation, cli
Awesome React Generator
No more clicking around to create files in your react project! Awesome React Generator is Command Line Tool that let's you scaffold your components without leaving your terminal.
Stars: ✭ 98 (-15.52%)
Mutual labels:  automation, cli

Autobahn

Travis status Version Swift 4.0 License Twitter: @kdawgwilk

Autobahn is a set of tools (written in Swift) heavily inspired by 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 that is basically a port of fastlane's spaceship which is an HTTP client for interacting with the Apple Developer portal and iTunesConnect.

NOTE: 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

ToDO List:

  • [x] DSL for defining highways
  • [ ] >90% Code Coverage
  • [ ] CLI tool
    • [x] drive <highway> drives the highway specified
      • [ ] need to make this the default still
    • [x] init creates template Autobahn.swift file
    • [ ] edit command that creates a temp playground with autocomplete working for Autobahn.swift
    • [ ] verbose obviously
    • [ ] actions lists all available actions
    • [ ] action <action_name> that describes the action
    • [x] help to explain how each command works
  • [x] Autobahn.swift config file see danger-swift
  • [ ] Homebrew install support
  • [ ] Plugin architecture
  • [ ] Git support
  • [ ] Support .env

Usage

$ autobahn drive [highway]

Example Autobahn.swift

enum Highway: String, AutobahnDescription.Highway {
  case build, test, deploy, release
}

Autobahn(Highway.self)

.beforeAll { highway in
  print("Driving highway: \(highway)")
}

.highway(.build) {
  print("Building...")
  try sh("swift", "build")
}

.highway(.test) {
  try sh("swift", "test")
}

.highway(.deploy) {
  print("Deploying...")
}

.highway(.release, dependsOn: [.build, .deploy]) {
  print("Releasing...")
}

.afterAll { highway in
  print("Successfully drove highway: \(highway)")
}

.onError { name, error in
  print("Error driving highway: \(name)")
  print("Error: \(error)")
}

.drive()

Installation

TODO: Not supported quite yet

$ brew tap kdawgwilk/homebrew-tap
$ brew install autobahn

Development

$ git clone https://github.com/kdawgwilk/Autobahn.git
$ cd Autobahn
$ swift build

# You can run the cli from the build dir like this:
# .build/debug/autobahn drive <highway_name>
$ .build/debug/autobahn drive build

# Or I find it helpful to symlink to `/usr/local/bin` so I can run it directly
$ ln -s `pwd`/.build/debug/autobahn /usr/local/bin/autobahn

# autobahn drive <highway_name>
$ autobahn drive build

🚀 Contributing

All developers should feel welcome and encouraged to contribute to Autobahn, see our getting started document here to get involved.

💙 Code of Conduct

Our 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 during your interactions surrounding this project.

This project is in no way affiliated with Apple Inc.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].