# Requirements

> What each Droost project needs: Drupal and PHP versions, Tool API, and the tools the workflow's checks run.

## The module (Droost 2.0)

- Drupal 11.3 or later (or 12), PHP 8.3 or later.
- [Tool API](https://www.drupal.org/project/tool) 1.0.0-beta12 or later.
- Drush 12 or later, for `drush droost:tool`.
- Optionally, core's Database Logging (`dblog`), for `droost_logs` and
  `droost_last_error`.
- For MCP: [MCP Server](https://www.drupal.org/project/mcp_server) 2.x and
  its [Tool API bridge](https://www.drupal.org/project/mcp_server_tool_bridge).

## The command (droost/workflow 1.0)

- PHP 8.3 or later, with the `pdo_sqlite` extension, wherever it runs
  (inside the web container on DDEV).
- Composer, to install it in `tools/droost/`.
- No running Drupal and no drush: it reads your project's files.

The tools the workflow's checks run, installed in your project:

| Check | Needs |
|---|---|
| phpcs, phpstan, phpunit | `composer require --dev drupal/core-dev` brings all three; phpunit also needs a `phpunit.xml` at the project root |
| Playwright (browser tests) | `npm i -D @playwright/test && npx playwright install chromium` |

A check whose tool is missing is reported as "could not run", never as
passed. [Gates](https://droost.org/docs/gates.md) has every check.

## The agent

- Any AI coding agent that can run commands follows the workflow from
  `AGENTS.md`, and the checks still run.
- [Claude Code](https://claude.com/claude-code) also gets the guard, which
  stops the agent from skipping a step, and [the plugin](https://droost.org/docs/claude-plugin.md).

## Droost CMS 1.0

- A fresh Drupal CMS project (measured on Drupal CMS starter 2.2.4 and
  Canvas 1.12.0).
- PHP 8.3 or later, and Tool API at beta stability.

## Droost Theme 1.0

- Drupal 10.3 or later, 11 or 12; PHP 8.3 or later.
- No Node to install it. Node is needed only to rebuild the compiled CSS.

## Droost UI Kit 2.0

- Drupal 11.3 or later, PHP 8.3 or later.
- Droost 2.0 with `droost_build`.
- [UI Patterns](https://www.drupal.org/project/ui_patterns) 2.0.22 or later,
  with `ui_patterns_field_formatters`.
