OS-wide usage
arturdryomov opened this issue · comments
After using Mainframer for a while with different projects we’ve been pointed to a specific pain point — shipping the tool with a project forces you to ship it with all projects.
In other words, the suggested way is to include the mainframer.sh
in a VCS of choice and update it manually on a project-level basis. Unfortunately it does not scale well.
I think it is time to evolve Mainframer to a system-wide tool, so it can be just like big boys.
TODO
- Rename
mainframer.sh
tomainframer
. - Support global configuration file in
$XDG_CONFIG_HOME
and$HOME
, respecting local overrides.ignore
,localignore
,remoteignore
will stay on a project level. - Provide a Homebrew Tap since I doubt we can get into the Homebrew Core. We can try though. There are too many Linux distributions and package formats to support all (or any) of them, so I would leave Linux out of scope at this point.
- Change naming from
mainframer
to Mainframer everywhere to provide a better brand experience. - Change description from remote builder to sync and remote execution or something like that.
Homebrew Formula is mostly ready and actually works.
class Mainframer < Formula
desc "Sync and remote execution"
homepage "https://github.com/gojuno/mainframer"
version "2.1.0"
url "https://github.com/gojuno/mainframer/archive/v#{version}.tar.gz"
sha256 "78f9928527720eeeda4997f048591518fdbf76c8b894bf3c827363a8a6d12d30"
def install
bin.install "mainframer.sh"
end
end
Do we want to finish initial 3.0 before going to repositories like Homebrew?
What do you have in mind for 3.0?
Everything from your list is blocking and I also want that, other than that:
- #182 Plugin system (optional, shouldn't block 3.0 release)