# Contributing
If you want to contribute to Nushell itself, see [nushell/nushell/CONTRIBUTING.md](https://github.com/nushell/nushell/blob/master/CONTRIBUTING.md) and the [contributor-book](https://www.nushell.sh/contributor-book/).
If you want to contribute to the Nushell documentation and website, this is the right place.
While most documentation is updated via commits to this repository, an important exception is the `help` [documentation for all commands](/commands).
These pages are generated automatically from the internal help in each command's `.rs` file. Please see the [main Nushell repo](https://github.com/nushell/nushell) and submit pull requests for changes to *command* documentation there.
## Local Development
This website is based on VuePress.
## Getting started
### One-time Setup
1. [Fork the website repository](https://github.com/nushell/nushell.github.io/fork)
1. Clone the doc repo locally:
```nu
git clone git@github.com:nushell/nushell.github.io.git nu-docs
```
1. [Install Node.js](https://nodejs.org/en/download/) (minimum version required: v18.12.0)
1. Run `npm install` in the root of the local repo after cloning to install the required dependencies for the dev server. This will also be necessary if any dependencies change.
### For each group of changes
1. Sync your fork on GitHub
1. `git pull` the latest changes
1. Run `npm run dev`
Pay close attention to the messages when starting the server, as this will inform you of any broken links and other errors that might need to be fixed.
1. Create a branch for your changes using a short, descriptive name:
```nu
git checkout -b my_changes
```
1. If you're adding a new page to the book, to make it appear, put it also to `.vuepress/configs/sidebar/{locale}.ts`.
1. Make changes
1. Verify your local changes render correctly by opening <http://localhost:8080/> in a web browser and navigating to the new or changed pages
1. Commit and push your changes
```nu
git commit -m "Commit Message"
git push --set-upstream origin my_changes
```
(Where `my_changes` is the current branch)
1. Create a pull request in this GitHub repo
## Enabling a Preview URL From Your Fork
Just enable GitHub actions in your repo settings. That's all! It will start deploying the next time you push to `main`.