# Makefile

## Usage

```bash
make [command]
```

Some commands like `composer`, `npm` or `gulp` offers a way to run commands through a docker container. In these cases any following "make commands" will be used as part of the arguments sent to its respective command.

Running `make composer install` will in turn trigger:

```bash
docker run <php-fpm_container> composer install
```

Running `make npm install` will in turn trigger:

```bash
docker run <navigaweb-node-builder_container> npm install
```

## Commands

| Name                 | Description                                                                        |
| -------------------- | ---------------------------------------------------------------------------------- |
| alt-composer         | Offers a way to run the project with an alternative composer config.               |
| build                | Will run [docker-compose build](https://docs.docker.com/compose/reference/build/)  |
| build-start          | Will run ***build*** and ***start*** in sequential order                           |
| composer             | Will run the `composer <args>` command using the currently set *php-fpm* container |
| init                 | Kick start the project and install all you need                                    |
| luarocks             | Install all lua dependencies.                                                      |
| mysql-switch-startup | Will switch the current startup.sql file with the one chosen by the prompt         |
| mysql-dump           | Dump content from current MYSQL container                                          |
| mysql-remove         | Removes the MySQL container.                                                       |
| mysql-restore        | Restore a given MySQL dump file                                                    |
| npm                  | Will run the `npm <args>` command using the *navigaweb-node-builder* container     |
| gulp                 | Will run the `gulp <args>` command using the *navigaweb-node-builder* container    |
| nginx-restart        | Will restart the nginx in openresty container                                      |
| prod-init            | Run **init** in production mode                                                    |
| pull                 | Download latest version of Docker containers                                       |
| redis-flush          | Flush redis container (e.i remove all keys)                                        |
| remove               | Removes all containers except MySQL                                                |
| restart              | Restarts all Docker containers for project                                         |
| restart-full         | Will run ***stop**, **remove**, **pull**, **start*** in sequential order           |
| self-update          | Upgrade project **StarterKit** standard to latest version                          |
| stage-init           | Run **init** in stage mode                                                         |
| start                | Starts all Docker containers for project                                           |
| stop                 | Stops all Docker containers for project                                            |
| wp-install           | Install WordPress                                                                  |
| wp-remove            | Remove the part of WordPress that should not be versioned                          |
| wp-update-salt       | Updates WordPress salt                                                             |

{% hint style="info" %}
Read more about what a Makefile is [here](https://opensource.com/article/18/8/what-how-makefile)
{% endhint %}


---

# Agent Instructions: 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/everyware-starter-kit/makefile.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.
