Skip to content

Latest commit

 

History

History
167 lines (141 loc) · 2.85 KB

File metadata and controls

167 lines (141 loc) · 2.85 KB
linkTitle Getting Started
title Getting Started
description Create your first xc file
menu main
weight -7

Installation

{{% details "Binary" %}} Download the binary from GitHub Releases and add to your $PATH {{% /details %}} {{% details "Go Install" %}}

go install github.com/joerdav/xc/cmd/xc@latest

{{% /details %}} {{% details "Homebrew" %}}

brew tap joerdav/xc
brew install xc

{{% /details %}} {{% details "MacPorts" %}}

sudo port install xc

{{% /details %}} {{% details "tea" %}} With tea just type xc.

$ xc --version
# ^^ or `tea xc` if there’s no magic

{{% /details %}} {{% details "Snap" %}}

TODO

{{% /details %}} {{% details "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 ];
}

{{% /details %}} {{% details "Scoop" %}}

scoop install xc

{{% /details %}} {{% details "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

{{% /details %}}

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.

[![xc compatible](https://xcfile.dev/badge.svg)](https://xcfile.dev)

RTFM!

Now that you have a simple task working, RTFM to learn what else xc is capable of.