> ## Documentation Index
> Fetch the complete documentation index at: https://sitectl.libops.io/llms.txt
> Use this file to discover all available pages before exploring further.

# dev

> Local Drupal development mode for bind-mounted custom code.

The Drupal plugin participates in core component workflows. For local development, enable dev mode with `sitectl set`; it writes the override immediately:

```bash theme={null}
sitectl set dev-mode enabled
```

Dev mode keeps the stack in the normal Compose model while adding the bind mounts expected for local custom module and theme work. It also persists `composer.json` and `composer.lock` from the Drupal container to the host, which is required when using `sitectl drupal composer require`, `remove`, or `update` to author dependency changes. Use ordinary git commands in the project checkout for branch, remote, and upstream management.

To work through a sandboxed coding agent, add the assistant service:

```bash theme={null}
sitectl set dev-mode --assistant --harness codex
docker compose --profile assistant run --rm cli-sandbox
```

The Drupal plugin supplies the Drupal-specific code mounts; the shared dev-mode component supplies the `cli-sandbox` service.

Disable dev mode the same way:

```bash theme={null}
sitectl set dev-mode disabled
```
