Installation
Binary
Download the binary from GitHub Releases and add to your $PATH
Go Install
go install github.com/joerdav/xc/cmd/xc@latest
Homebrew
brew tap joerdav/xc
brew install xc
MacPorts
sudo port install xc
tea
With tea just type xc.
$ xc --version
# ^^ or `tea xc` if there’s no magic
Snap
TODO
Nix
There is a nix flake that can be used:
nix develop github:joerdav/xc
Or to create your own xc.nix, replace <version> and add the correct sha256 and vendorSha256 for the version:
{ config, pkgs, fetchFromGitHub, ... }:
let
xc = pkgs.buildGoModule rec {
pname = "xc";
version = "<version>";
subPackages = ["cmd/xc"];
src = pkgs.fetchFromGitHub {
owner = "joerdav";
repo = "xc";
rev = version;
sha256 = "";
};
vendorSha256 = "";
};
in
{
environment.systemPackages = [ xc ];
}
Scoop
scoop install xc
AUR
Use yay or any AUR helper that you like to install the xc package.
You can also install the pre-compiled package named xc-bin or the xc-git that follows the latest commit.
yay -S xc
Verify Installation
Run xc -version to verify the installation.
If installed via go install the version will be devel.
Install completion
Run xc -complete to install auto completion.
Run xc -uncomplete to uninstall auto completion.
Create some tasks.
Create a file named README.md:
## Tasks
### hello
Prints hello
```sh
echo hello
```
### world
Prints world
Requires: hello
```sh
echo world
```
Or if you prefer, create a file called README.org:
** Tasks
*** hello
Prints hello
#+begin_src sh
echo hello
#+end_src
*** world
Prints world
Requires: hello
#+begin_src sh
echo world
#+end_src
List tasks.
Run xc to list the tasks.
$ xc
hello Prints hello
world Prints world
Requires: hello
Run a task.
Run xc world to run the world task.
$ xc world
echo hello
hello
echo world
world
Let people know you use xc.
Add the following badge to your README so that people know it’s xc compatible.
[](https://xcfile.dev)
RTFM!
Now that you have a simple task working, RTFM to learn what else xc is capable of.