diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs
index 7cbf5cb..f00fc4a 100644
--- a/docs/astro.config.mjs
+++ b/docs/astro.config.mjs
@@ -17,6 +17,7 @@ export default defineConfig({
items: [
// Each item here is one entry in the navigation menu.
{ label: 'Installation', link: '/getting-started/installation/' },
+ { label: 'Enabling Autocomplete', link: '/getting-started/autocomplete/' },
{ label: 'Glossary', link: '/getting-started/glossary/' },
],
},
diff --git a/docs/src/content/docs/getting-started/autocomplete.mdx b/docs/src/content/docs/getting-started/autocomplete.mdx
new file mode 100644
index 0000000..e5f37bb
--- /dev/null
+++ b/docs/src/content/docs/getting-started/autocomplete.mdx
@@ -0,0 +1,70 @@
+---
+title: Enabling Autocomplete
+description: A guide to setting up autocomplete with bookshelf
+---
+import { Tabs, TabItem } from '@astrojs/starlight/components';
+
+
+All of this information is taken from the [click documentation](https://click.palletsprojects.com/en/8.1.x/shell-completion/), and you should read it if you want to know more.
+In order for completion to be used, the user needs to register a special function with their shell.
+The script is different for every shell, and Click will output it for bookshelf when called with `_BOOKSHELF_COMPLETE` set to `{shell}_source`.
+The built-in shells are bash, zsh, and fish.
+
+## Using Eval
+
+
+
+ Add this to ~/.bashrc:
+ ```bash
+ eval "$(_BOOKSHELF_COMPLETE=bash_source bookshelf)"
+ ```
+
+
+ Add this to ~/.zshrc:
+ ```bash
+ eval "$(_BOOKSHELF_COMPLETE=zsh_source bookshelf)"
+ ```
+
+
+
+ Add this to ~/.config/fish/completions/bookshelf.fish:
+ ```bash
+ _BOOKSHELF_COMPLETE=fish_source bookshelf | source
+ ```
+ This is the same file used for the activation script method below. For Fish it’s probably always easier to use that method.
+
+
+
+## Using an Activation Script
+Using eval means that the command is invoked and evaluated every time a shell is started, which can delay shell responsiveness.
+To speed it up, write the generated script to a file, then source that.
+You can generate the files ahead of time and distribute them with your program to save your users a step.
+
+
+
+ Save the script somewhere.
+ ```bash
+ _BOOKSHELF_COMPLETE=bash_source bookshelf > ~/.bookshelf-complete.bash
+ ```
+ Source the file in ~/.bashrc.
+ ```bash
+ . ~/.bookshelf-complete.bash
+ ```
+
+
+ Save the script somewhere.
+ ```bash
+ _BOOKSHELF_COMPLETE=zsh_source bookshelf > ~/.bookshelf-complete.zsh
+ ```
+ Source the file in ~/.zshrc.
+ ```bash
+ . ~/.bookshelf-complete.zsh
+ ```
+
+
+ Save the script to ~/.config/fish/completions/bookshelf.fish:
+ ```bash
+ _BOOKSHELF_COMPLETE=fish_source bookshelf > ~/.config/fish/completions/bookshelf.fish
+ ```
+
+
\ No newline at end of file
diff --git a/docs/src/content/docs/getting-started/installation.mdx b/docs/src/content/docs/getting-started/installation.mdx
index 3050bed..84d7869 100644
--- a/docs/src/content/docs/getting-started/installation.mdx
+++ b/docs/src/content/docs/getting-started/installation.mdx
@@ -4,7 +4,6 @@ description: A guide to install bookshelf
---
import { Tabs, TabItem } from '@astrojs/starlight/components';
-## Prerequisites
## Using a Package Manager
You can easily add this project to your own by using your favorite project manager. Here are some examples for popular build tools: