🎩 Command-line itch.io helper
Clone or download
fasterthanlime Auto-wrap changes, cf. itchio/itch#2147
butler ls: enable auto-wrap, enable listing local folders
butler mkzip: enable force-wrap (any folder will be wrapped)
butler push: enable auto-wrap, have flag to disable it
Latest commit 4dbdb08 Sep 27, 2018
Permalink
Failed to load latest commit information.
art JSON login flow, closes #50 Dec 30, 2016
butlerd Add missing type annotations Sep 24, 2018
cmd Auto-wrap changes, cf. itchio/itch#2147 Sep 27, 2018
comm ⬆️ httpkit May 22, 2018
database Include sale in Fetch.Game response, see itchio/itch#2082 Sep 11, 2018
docs Closes itchio/itch#2146 Sep 27, 2018
endpoints prereqs: account for vendored and built-in DLLs, closes itchio/itch#2143 Sep 26, 2018
filtering Closes itchio/itch#1751 Closes itchio/itch#1752 Closes itchio/itch#1754 Apr 5, 2018
installer When invoking self, print full path Sep 18, 2018
manager Try to keep API order for uploads, closes itchio/itch#2069 Aug 29, 2018
mansion ⬆️ smaug + have butler always show verbose errors in JSON mode. Closes Sep 19, 2018
redist Cleanup prereqs, prepare for them to be installable on linux Feb 13, 2018
scripts Fix regression introduced in 4e2a5b0 May 1, 2018
vendor Auto-wrap changes, cf. itchio/itch#2147 Sep 27, 2018
win32 First half of elevate command, see itchio/itch#1400 Aug 14, 2017
.gitignore Moar integration tests Apr 9, 2018
.gitlab-ci.yml Move book & generous to deploy phase Apr 9, 2018
LICENSE 📝 Update copyright notice [ci skip] Mar 25, 2018
README.md Use all the new small projects previously entrenched deep into butler… Apr 18, 2018
butler.ico Add icon, stub install_prereqs Jan 10, 2017
butler.rc Add icon, stub install_prereqs Jan 10, 2017
butler_test.go Get rid of humanize May 22, 2018
commands.go Rename winsandbox command to fuji, closes itchio/itch#1814 May 22, 2018
compression.go Use all the new small projects previously entrenched deep into butler… Apr 18, 2018
installers.go tentative msi install support Jan 4, 2018
launchers.go Port last few endpoints to router Feb 23, 2018
main.go ⬆️ smaug + have butler always show verbose errors in JSON mode. Closes Sep 19, 2018

README.md

butler

Build Status codecov Go Report Card MIT licensed

butler is the itch.io command-line tools - all by itself.

It is used by:

  • Content creators on itch.io to push builds quickly & reliably
  • the itch app for some network, filesystem and patching operations

Documentation

Documentation for butler is available as a Gitbook:

Questions about butler are welcome on its Issue tracker, or, if the matter is private, itch.io support.

Integrations

The following projects integrate butler as part of their workflow:

  • itchy-electron lets you package your Electron games for itch.io and upload them there
  • gradle-butler-plugin is a Gradle plugin for automatically installing, updating, and running butler as part of your build.

Authors

butler was mostly written by Amos Wenger, but wouldn't have been possible without the work of many before him.

Amos would like to thank in particular Leaf Corcoran, Jesús Higueras and Tomáš Duda.

License

butler is released under the MIT License. See the LICENSE file for details.

Additional licenses

While butler built from source is fully MIT-licensed, some components it can use at runtime (if present) have other licenses:

  • The 7-zip decompression engine (the github.com/itchio/boar/szextractor package) opens dynamic libraries for libc7zip, and 7-zip, which have components licensed under the LGPL 2.1 license and the MPL 2.0 license, along with specific terms for the RAR extraction code.