Bass
𝄢

Bass is a low-fidelity Lisp dialect for scripting the infrastructure beneath your project.

Bass's goal is to make software delivery predictable, repeatable, and fun.

(use (.git (linux/alpine/git)))

(let [repo git:github/vito/bass/ref/main/]
  (-> (from (linux/alpine)
        ($ grep -o "fun" repo/docs/lit/index.lit))
      (read :unix-table)
      next))
1: resolve image config for docker.io/alpine/git@sha256:5dbc7ef3c51fd64e996c3ca819d625ca21
bbc4259be166fd9a46395d5f6c6a1f DONE
1: resolve image config for docker.io/alpine/git@sha256:5dbc7ef3c51fd64e996c3ca819d625ca21
bbc4259be166fd9a46395d5f6c6a1f DONE
2: resolve image config for docker.io/library/alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23
f84eeaf7e457f36f271ab1acc53015037c DONE
2: resolve image config for docker.io/library/alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23
f84eeaf7e457f36f271ab1acc53015037c DONE
3: docker-image://docker.io/library/alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e4
57f36f271ab1acc53015037c CACHED
3: resolve docker.io/library/alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f2
71ab1acc53015037c [0.05s]
3: docker-image://docker.io/library/alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e4
57f36f271ab1acc53015037c CACHED
6: docker-image://docker.io/alpine/git@sha256:5dbc7ef3c51fd64e996c3ca819d625ca21bbc4259be1
66fd9a46395d5f6c6a1f CACHED
6: resolve docker.io/alpine/git@sha256:5dbc7ef3c51fd64e996c3ca819d625ca21bbc4259be166fd9a4
6395d5f6c6a1f [0.05s]
6: docker-image://docker.io/alpine/git@sha256:5dbc7ef3c51fd64e996c3ca819d625ca21bbc4259be1
66fd9a46395d5f6c6a1f CACHED
8: git clone https://github.com/vito/bass ./ DONE
8: [0.28s] Cloning into '.'...
8: git clone https://github.com/vito/bass ./ DONE
10: git fetch origin c7cb9a5b9e809448a039b05ce83f2c907d7cdaa1 DONE
10: [0.49s] From https://github.com/vito/bass
10: [0.49s] * branch c7cb9a5b9e809448a039b05ce83f2c907d7cdaa1 -> FETCH_HEAD
10: git fetch origin c7cb9a5b9e809448a039b05ce83f2c907d7cdaa1 DONE
12: git checkout c7cb9a5b9e809448a039b05ce83f2c907d7cdaa1 DONE
12: [0.32s] Note: switching to 'c7cb9a5b9e809448a039b05ce83f2c907d7cdaa1'.
12: [0.32s]
12: [0.32s] You are in 'detached HEAD' state. You can look around, make experimental
12: [0.32s] changes and commit them, and you can discard any commits you make in this
12: [0.32s] state without impacting any branches by switching back to a branch.
12: [0.32s]
12: [0.32s] If you want to create a new branch to retain commits you create, you may
12: [0.32s] do so (now or later) by using -c with the switch command. Example:
12: [0.32s]
12: [0.32s] git switch -c <new-branch-name>
12: [0.32s]
12: [0.32s] Or undo this operation with:
12: [0.32s]
12: [0.32s] git switch -
12: [0.32s]
12: [0.32s] Turn off this advice by setting config variable advice.detachedHead to false
12: [0.32s]
12: [0.32s] HEAD is now at c7cb9a5 Merge pull request #186 from vito/remastered
12: git checkout c7cb9a5b9e809448a039b05ce83f2c907d7cdaa1 DONE
14: git submodule update --init --recursive DONE
14: [0.20s] Submodule 'lsp/testdata/bundle/nvim-lspconfig' (https://github.com/neovim/nvim
-lspconfig) registered for path 'pkg/lsp/testdata/bundle/nvim-lspconfig'
14: [0.21s] Cloning into '/bass/work/pkg/lsp/testdata/bundle/nvim-lspconfig'...
14: [1.26s] Submodule path 'pkg/lsp/testdata/bundle/nvim-lspconfig': checked out '7d5a6dc4
6dd2ebaeb74b573922f289ae33089fe7'
14: git submodule update --init --recursive DONE
15: grep -o fun <thunk: (.git) name:B0WxE93vFKpJO-kOh5gYitEp9yIY7hoWdRqPn2U8aNA=>/docs/lit
/index.lit DONE
15: grep -o fun <thunk: (.git) name:B0WxE93vFKpJO-kOh5gYitEp9yIY7hoWdRqPn2U8aNA=>/docs/lit
/index.lit DONE
16: exporting to client DONE
16: copying files 34B [0.00s]
16: exporting to client DONE
(
  1. "fun"
)
𝄢

If you'd like to try it out, grab the latest release and try out the guide!