> ## 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.

# component

> Toggle and inspect optional stack features like fcrepo and Blazegraph.

Components are optional services in your stack, such as fcrepo or Blazegraph, that can be switched on or off without rebuilding the whole project. sitectl delegates component management to the plugin for the active context, so the commands work across different stack types.

See the [components concept page](/components) for an explanation of what components are and how they work.

## component

Components are optional stack features — such as Fcrepo or Blazegraph — that can be toggled on or off.

sitectl dispatches component commands to the plugin associated with the active context. The plugin
provides the component registry; sitectl provides a consistent entry point regardless of which stack
you are working with.

Use "sitectl component list" to show registered components, allowed dispositions, and any
component-specific flags accepted by "sitectl component set".

```bash theme={null}
sitectl component <command>
```

## describe

Show the current state of each component registered by the active context's plugin.

Each component is reported as on, off, or drifted. A drifted component means the current project
configuration does not match a complete supported disposition — run reconcile to review and bring
it into alignment.

```bash theme={null}
sitectl component describe
```

| Flag                | Default | Description                                                                      |
| ------------------- | ------- | -------------------------------------------------------------------------------- |
| `--codebase-rootfs` |         | Path to the application codebase rootfs, relative to `--path`.                   |
| `-c, --component`   |         | Component to describe, e.g. isle/fcrepo. Defaults to all components.             |
| `--format`          |         | Output format (default: table).                                                  |
| `--path`            |         | Path to the project directory. Defaults to the active context project directory. |
| `--verbose`         | `false` | Show additional details for each component.                                      |

## reconcile

Inspect each component and apply any changes needed to bring the project back into alignment.

By default the command is interactive and asks before applying changes. Pass `--report` to preview
what would change without applying it.

```bash theme={null}
sitectl component reconcile
```

| Flag                | Default | Description                                                                      |
| ------------------- | ------- | -------------------------------------------------------------------------------- |
| `--codebase-rootfs` |         | Path to the application codebase rootfs, relative to `--path`.                   |
| `-c, --component`   |         | Component to reconcile, e.g. isle/fcrepo. Defaults to all components.            |
| `--format`          |         | Output format (default: table).                                                  |
| `--path`            |         | Path to the project directory. Defaults to the active context project directory. |
| `--report`          | `false` | Preview changes without applying them.                                           |
| `--verbose`         | `false` | Show additional details for each component.                                      |

A component shows as `drifted` when its project files do not match one complete supported disposition, for example after a partial manual Compose edit. Sitectl derives this from the current files and has no historical component-state record. Run `reconcile` to review the detected drift and bring the project back into alignment.

## set

Set the state or disposition of a named component in the active context's plugin.

Prefix the component name with the plugin namespace to target it directly:

sitectl component set isle/fcrepo off
sitectl component set isle/blazegraph off

All flags after "set" are forwarded to the plugin's component set handler. Use
"sitectl component set `--help`" or "sitectl component list `<component>`" to see
component-specific flags.

```bash theme={null}
sitectl component set <component> [disposition] [flags]
```
