> For the complete documentation index, see [llms.txt](https://docs.navigaglobal.com/everyware/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.navigaglobal.com/everyware/developer-documentation/developer-prerequisites.md).

# Developer prerequisites

{% hint style="info" %}
**TL;DR: 4 requirements to fix and learn before we start.**

* [ ] Computer
* [ ] Bash
* [ ] Git
* [ ] Docker
  {% endhint %}

## Computer hardware and OS

**Requirement:** Intel Mac or PC (Windows with a CPU that supports virtualisation, or Linux)

**Why:** Naviga Web has been verified to work with Mac and PC with Intel CPU. Intel Mac is preferred but not required. [We have a list with hardware examples, proven to work fine with Naviga Web development.](/everyware/developer-documentation/developer-prerequisites/developer-hardware-suggestions.md)

Running on Windows requires [some extra preparations](/everyware/developer-documentation/developer-prerequisites/setup-on-windows.md).

Mac: **Verify** that your Mac has Intel processor with:  > About this Mac > Processor

<div align="left"><img src="/files/FmepFTHm1lFXCx4zmw2g" alt=""></div>

PC with Windows: **Verify** that your Windows version and build match the [requirements for running WSL 2](https://docs.microsoft.com/sv-se/windows/wsl/install-manual#step-2---check-requirements-for-running-wsl-2) with: Control Panel > System

<div align="left"><img src="/files/RpMNFNdDCtVq3bKBDFJl" alt=""></div>

## Bash

**Requirement:** Bash is included with Mac, and with WSL on Windows.

**Why:** The make commands are needed to control the local Docker containers. Needed to do things like start, stop, init, update locally.

**Verify** that you have bash by running:

```bash
% bash --version 
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin21)
Copyright (C) 2007 Free Software Foundation, Inc.
```

## Git

**Requirement:** Git client

**Why:** Git is used to access and version your code. [Working with git.](/everyware/developer-documentation/getting-started/deployment.md#git-branches)

**Verify** that you have git by running this in your code project folder:

```bash
% cd YOUR_PROJECT
% git status
On branch develop
Your branch is up to date with 'origin/develop'.

nothing to commit, working tree clean
```

## Docker

**Requirement:** Make sure you have [Docker installed](https://docs.docker.com/desktop/mac/install/) and working with Naviga Web containers.

**Why:** All that is needed to host a development instance of Naviga Web runs within Docker. This includes internal cache, database, proxy, PHP and web servers.

**Verify** that you have Docker by running:

```bash
% docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Build with BuildKit (Docker Inc., v0.6.3)
  compose: Docker Compose (Docker Inc., v2.0.0)
  scan: Docker Scan (Docker Inc., v0.8.0)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
...
```

## Node 10 (not required)

Starter kit asset (CSS/JavaScript) compilation use Gulp v3 requiring Node 10.23.1. If you need to compile assets locally, install [Node.js version 10](https://nodejs.org/) with [NVM](https://github.com/nvm-sh/nvm/blob/master/README.md).

**Workaround:** Without Node you can still use the bundled node version, within Docker container. It will take much longer to run.

**Verify** your Node version by running:

```bash
% node -v
v10.23.1
```


---

# 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://docs.navigaglobal.com/everyware/developer-documentation/developer-prerequisites.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.
