Skip to content

Commit 02feabf

Browse files
committed
Add info about all the make targets and environment variables in contribution docs
Signed-off-by: Raunak Madan <madanraunak24@gmail.com>
1 parent 2b62849 commit 02feabf

1 file changed

Lines changed: 31 additions & 1 deletion

File tree

CONTRIBUTING.md

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,36 @@ Make sure you have the following prerequisites installed on your operating syste
500500

501501
## Set up your Local Development Environment
502502

503+
### Make Targets
504+
505+
Layer5 uses a `Makefile` that defines a set of rules and instructions (called **targets**) for creating, updating, and running parts of the project. Each target abstracts the underlying commands and logic, allowing to execute complex workflows using a simple `make <target>` command.
506+
507+
> **Note:** While using the make command on Windows, there sometimes arises an error in identifying the command even after it is installed (unrecognized command), this is because the PATH for the binary might not be set correctly.
508+
509+
| Command | Description |
510+
|------|-------------|
511+
| `make setup` | Installs all project dependencies. Run this first after cloning the repo. |
512+
| `make site` | Runs a **lightweight local development server** with live reload. This skips heavy collections (Members and Integrations) to keep performance fast. |
513+
| `make site-full` | Runs a **full local development server**, including Members and Integrations collections. This will take longer to start. |
514+
| `make site-fast` | Alternate lightweight method to run the site with increased Node memory limit. Useful if you run into memory issues. |
515+
| `make build` | Builds the production-ready version of the site. |
516+
| `make clean` | Clears the cache and runs a fresh lightweight build (`gatsby clean` + `make site`). |
517+
| `make lint` | Runs ESLint to check for code style and formatting issues. |
518+
| `make kill` | Kills any process currently running on port 8000 (the default dev server port). |
519+
| `make features` | Downloads the pricing features spreadsheet and converts it to a JSON file used by the site. |
520+
521+
### Environment Variables
522+
523+
Environment variables are named values used to configure how an application behaves in different environments without modifying the code.
524+
525+
| Variable | Possible Values | Description |
526+
|---------|----------------|------------|
527+
| `BUILD_FULL_SITE` | `true`, `false` | When set to `true`, enables a full site build including all collections. If not explicitly set to `true`, the project defaults to a lightweight build. |
528+
| `NODE_ENV` | `development`, `production` | Determines whether Gatsby runs in development or production mode. This is automatically set by Gatsby: when you run `gatsby develop` (or `npm run develop`) it uses `development`; when you run `gatsby build` (or `npm run build`) it uses `production`. |
529+
| `CI` | `true`, `false` | Indicates that the build is running in a **Continuous Integration (CI)** environment (e.g., GitHub Actions). When set to `true`, special logic is applied to page paths and redirects for GitHub Pages compatibility. This is typically set automatically by the CI system and does not need to be configured manually. |
530+
531+
---
532+
503533
Follow the following instructions to start contributing.
504534

505535
**1.** Fork [this](https://github.com/layer5io/layer5) repository.
@@ -554,7 +584,7 @@ make setup
554584
make site
555585
```
556586

557-
This will run a local webserver with "live reload" conveniently enabled. ( **NOTE**: while using the make command on Windows, there sometimes arises an error in identifying the command even after it is installed (unrecognized command), this is because the PATH for the binary might not be set correctly ).
587+
This will run a local webserver with "live reload" conveniently enabled.
558588

559589
**11.** Track your changes.
560590

0 commit comments

Comments
 (0)