You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-20Lines changed: 11 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,37 +6,28 @@ STATUS: IN DEVELOPMENT
6
6
7
7
## Why?
8
8
9
-
- Your OS's package manager doesn't contain the latest (or multiple) $language versions
10
-
- And/or you don't trust random APT repositories, AUR packages, etc.
11
-
- You want an OS independent way to install and switch between $language versions
12
-
- And/or if you don't want to remember how to use `update-alternatives`, `archlinux-java`, etc.
9
+
- Your OS's package manager doesn't contain the latest (or multiple) `$language` versions
10
+
- And/or you don't trust random / less maintained APT repositories, AUR packages, etc.
11
+
- You want an OS independent way to install and switch between `$language` versions
12
+
- And/or if you don't want to remember / forget how to use `update-alternatives`, `archlinux-java`, etc.
13
13
- You are tired of installing and configuration version managers for every single language
14
-
- You believe any of the following is overkill, slow, bloated, or is poorly coded
15
-
-[Nix](https://nixos.org)
16
-
-[Guix](https://guix.gnu.org/en/download)
17
-
-[asdf](https://github.com/asdf-vm/asdf)
18
-
-[sdkman](https://github.com/sdkman/sdkman-cli)
19
-
-[Docker](https://www.docker.com) (or containers in general)
14
+
- And/or you think each version manager comes with its own class of bugs / bad dx, etc.
15
+
16
+
I didn't like existing solutions such as [asdf](https://github.com/asdf-vm/asdf) or [sdkman](https://github.com/sdkman/sdkman-cli). asdf was too buggy and I disliked the coding style and architecture. sdkman is better but it felt too bloated, complex, and Java-centric. Other solutions like [Nix](https://nixos.org), [Guix](https://guix.gnu.org/en/download), and [Docker](https://www.docker.com) solve the solutions in some way, but aren't optimal
20
17
21
18
## Features
22
19
23
20
- Optionally configurationless
24
21
- Can install any language with pure Bash
25
-
- Clean Bash code (uses builtins and Bash facilities over external utilities)
22
+
- Clean Bash code (heavily favors builtins and Bash facilities over external utilities)
26
23
27
-
## Use Cases
24
+
## Preview (v0.2.0)
28
25
29
-
- Different projects that use $language have different version requirements
Woof plans to support many tens of languages. Currently, there is limited support for NodeJS, Deno, Go, Crystal, Nim, Dart, and the Hashicorp suite of tools. See the full list in [roadmap](./docs/roadmap.md). Furthermore, the following platforms are supported
36
-
37
-
- Linux (later Darwin, FreeBSD)
38
-
- amd64 (later x86, armv7l, aarch64)
39
-
- Bash (later Zsh, Ksh, Fish, etc.)
30
+
Woof already supports 10 languages on `x86_64`. For more details, see the [roadmap](./docs/roadmap.md)
40
31
41
32
We attempt to be reasonably compatible with all existing tools. For example, it will read asdf's [.tool-versions](https://asdf-vm.com/manage/configuration.html#tool-versions), nvm's [.nvmrc](https://github.com/nvm-sh/nvm#nvmrc) and read things from popular version managers like `rvm` and `pyenv`
0 commit comments