> For the complete documentation index, see [llms.txt](https://ecfmg.gitbook.io/azure-serverless-quickstart/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ecfmg.gitbook.io/azure-serverless-quickstart/setup/workstation-setup.md).

# Workstation Installs

## Don't Skip the Prerequisites&#x20;

While the following may seem tedious, going through this process will save you hours of headache down the road.

### Workstation Setup

* [GIT](https://git-scm.com/downloads)&#x20;
  * `git --version`
    * should return 2.24.3 or greater

* Node- > NVM - [Windows](https://github.com/coreybutler/nvm-windows)/[Mac](https://github.com/nvm-sh/nvm)&#x20;
  * Mac
    * touch \~/.zshrc
  *
  * Windows - ([reference](https://www.sitepoint.com/quick-tip-multiple-versions-node-nvm/))
    * Uninstall any versions of Node.js (from programs)
    * Delete any Node.js installation directories (ex: C:\Program Files\nodejs)
    * Delete the existing npm install location (such as `C:\Users\<user>\AppData\Roaming\npm`&#x20;

      `C:\Users\<user>\AppData\Roaming\npm_cache`)
    * Download the latest release of [NVM-Windows](https://github.com/coreybutler/nvm-windows/releases) (nvm-setup.zip)
    * Extract nvm-setup.zip and run nvm-setup.exe
    * After install, run cmd:
      * nvm install {version number} where version number is lts version of nodejs. (ex current latest: nvm install 14.17.5)
    * Run cmd: nvm use {version number}&#x20;
    * Ensure that [Node](https://nodejs.org/en/) (LTS Version) is what is reported
      * `node --version`&#x20;
        * should return 14.17.5 or greater

* [.NET ](https://dotnet.microsoft.com/download)5 **SDK**- required for Function Extensions
  * dotnet --version
    * should return 5.0.400 or greater

* [Azure Functions Core Tools](https://github.com/Azure/azure-functions-core-tools)
  * `func --version`
    * should return 4.0.5198 or greater
  * [Install Guide](https://github.com/Azure/azure-functions-core-tools#installing)
    * to upgrade: (mac)
      * brew upgrade azure-functions-core-tools\@4

* [CosmosDB Emulator](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21)
  * Start up using command line or batch file:
    * `"C:\Program Files\Azure Cosmos DB Emulator\Microsoft.Azure.Cosmos.Emulator.exe" /EnableMongoDbEndpoint=4.0`

* [Visual Studio Code](https://code.visualstudio.com/)
  * `code --version`
    * should return 1.49.1 or greater
  * Install these Visual Studio Code Plugins:

    * [Azure Static Web Apps (Preview)](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurestaticwebapps)
    * [Azure Functions ](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions)
    * [Visual Studio Intellicode](https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode)
    * [Azurite](https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azurite) - storage emulator

*

*

#### Optional Items

* Chrome Extensions&#x20;
  * [Apollo Dev Tools](https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm)
  * [React Dev Tools](https://fb.me/react-devtools)
* VS Code Extensions&#x20;
  * [Apollo GraphQL](https://marketplace.visualstudio.com/items?itemName=apollographql.vscode-apollo)
  * [GIT Lens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)
  * [GIT Pull Requests and Issues](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github)
  * [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
  * [SonarLint](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarlint-vscode)
* Github Copilot
  * Instructions to get free Copilot (only for students): <https://dev.to/twizelissa/how-to-enable-github-copilot-for-free-as-student-4kal>
  * Install following VS Code Extensions:
    * [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)
    * [Github Copilot Labs](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-labs)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ecfmg.gitbook.io/azure-serverless-quickstart/setup/workstation-setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
