Skip to content

Commit

Permalink
docs: Fix typos in introduction.md (#1025)
Browse files Browse the repository at this point in the history
  • Loading branch information
snadorp committed Aug 17, 2021
1 parent fe5b71d commit 6966b2b
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions docs/guide/introduction.md
@@ -1,20 +1,20 @@
# Introduction

`asdf` is a tool version manager. All tool version definitions are contained within one file (`.tool-versions`) which you can check-in to your project's Git repository to share with your team, ensuring everyone is using the **exact** same versions of tools.
`asdf` is a tool version manager. All tool version definitions are contained within one file (`.tool-versions`) which you can check in to your project's Git repository to share with your team, ensuring everyone is using the **exact** same versions of tools.

The old way of working required multiple CLI version managers, each with their distinct API, configurations files and implementation (e.g. `$PATH` manipulation, shims, environment variables, etc...). `asdf` provides a single interface and configuration file to simplify development workflows, and can be extended to all tools and runtimes via a simple plugin interface.

## How It Works

Once `asdf` core is setup with your Shell configuration, plugins are installed to manage particular tools. When a tool is installed by a plugin, the executables that are installed have [shims](<https://en.wikipedia.org/wiki/Shim_(computing)>) created for each of them. When you try and run one of these executables, the shim is run instead, allowing `asdf` to identify which version of the tool is set in `.tool-versions` and execute that version.
Once `asdf` core is set up with your Shell configuration, plugins are installed to manage particular tools. When a tool is installed by a plugin, the executables that are installed have [shims](<https://en.wikipedia.org/wiki/Shim_(computing)>) created for each of them. When you try and run one of these executables, the shim is run instead, allowing `asdf` to identify which version of the tool is set in `.tool-versions` and execute that version.

## Related Projects

### nvm / n / rbenv etc

Tools like [nvm](https://github.com/nvm-sh/nvm), [n](https://github.com/tj/n) and [rbenv](https://github.com/rbenv/rbenv) are all written as Shell scripts which create shims for the executables installed by these tools.

`asdf` is very similar and was built to compete in this space of tool/runtime version management. The differentiating factor for `asdf` is it's plugin system which removes the need for a manager per tool/runtime, different commands per manager and different `*-version` files in your repo.
`asdf` is very similar and was built to compete in this space of tool/runtime version management. The differentiating factor for `asdf` is its plugin system which removes the need for a manager per tool/runtime, different commands per manager and different `*-version` files in your repo.

<!-- ### pyenv
Expand Down Expand Up @@ -42,9 +42,9 @@ See [Homebrew docs](https://brew.sh/) for more.

> Nix is a tool that takes a unique approach to package management and system configuration
NixOS aims to build truly reproducible environments by managing exact versions of packages up the entire dependency tree of each tool, something `asdf` does not do. NixOS does this with it's own programming language, many CLI tools and a pacakges collection of over 60,000 packages.
NixOS aims to build truly reproducible environments by managing exact versions of packages up the entire dependency tree of each tool, something `asdf` does not do. NixOS does this with its own programming language, many CLI tools and a package collection of over 60,000 packages.

Again `asdf` does not manage upstream dependencies and is not a package manager.
Again, `asdf` does not manage upstream dependencies and is not a package manager.

See [NixOS docs](https://nixos.org/guides/how-nix-works.html) for more.

Expand All @@ -53,5 +53,5 @@ See [NixOS docs](https://nixos.org/guides/how-nix-works.html) for more.
`asdf` ensures teams are using the **exact** same versions of tools, with support for **many** tools via a plugin system, and the _simplicity and familiarity_ of being a single **Shell** script you include in your Shell config.

::: tip Note
`asdf` is not intended to be a system package manager. It is a tool version manager. Just because you can create a plugin for any tool and manage it's versions with `asdf`, does not mean that is the best course of action for that specific tool.
`asdf` is not intended to be a system package manager. It is a tool version manager. Just because you can create a plugin for any tool and manage its versions with `asdf`, does not mean that is the best course of action for that specific tool.
:::

0 comments on commit 6966b2b

Please sign in to comment.