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

# Getting Started

{% hint style="warning" %}
In case you are using `ddev` or `lando` you have to prefix the commands below with it.
{% endhint %}

1. Download and enable the Radix theme:

```bash
composer require 'drupal/radix:^6.0'
```

2. Create a sub-theme using Drush (Considering you are using [drupal/recommended-project](https://github.com/drupal/recommended-project)):

```bash
drush --include="web/themes/contrib/radix" radix:create SUBTHEME_NAME
```

* Note that `SUBTHEME_NAME` is the name of the theme you'll be working with, make sure ideally the name is in lowercase letters.
* Note the path in the `--include` flag, if your Drupal is installed in `web` directory following `core-recommended` project, it's fine, otherwise if you are using anything else like `docroot` change it accordingly.
* Once you've run the `radix:create` command you'd be shown a caveat as shown below that walks you through the next steps:<br>

3. Set the default theme to your newly created theme:

```bash
drush then SUBTHEME_NAME -y; drush config-set system.theme default SUBTHEME_NAME -y
```

4. Go to the newly created theme directory:

```bash
cd web/themes/custom/SUBTHEME_NAME
```

5. Switch to the appropriate node version using `nvm`:

```bash
nvm use
```

* If you don't have the specific node version required by the theme, you'll be shown a message like below:\
  `nvm use Found 'radix/web/themes/custom/SUBTHEME_NAME/.nvmrc' with version <lts/iron> N/A: version "lts/jod -> N/A" is not yet installed.`

  `You need to run nvm install lts/jod to install it before using it.`\
  \
  Run `nvm install lts/jod` to make sure you have the latest LTS version of Node 22 installed.

6. Install the required packages:

```bash
npm install
```

7. At the root of the theme, create a copy of the `.env.example` and rename it to `.env.local`:

```bash
cp .env.example .env.local
```

8. Update the `DRUPAL_BASE_URL` variable in your `.env.local` to point to your localhost address (this file is .gitignored by default to avoid conflicts)\
   \- e.g. `myproject.local` or `myproject.ddev.site`
9. For the development phase, compile the theme and watch for changes:

```bash
npm run watch
```

10. For a production build:

```bash
npm run build
```

{% hint style="info" %}
Radix compiles your Sass and JavaScript with [esbuild](https://esbuild.github.io). The available scripts are:

* `npm run watch` - development build that watches for changes and reloads the browser via BrowserSync.
* `npm run dev` - one-off development build (unminified, with source maps).
* `npm run build` - one-off production build (minified, no source maps).

You can run any of these with `yarn` or `pnpm` as well (e.g. `yarn watch`, `yarn build`).
{% endhint %}
