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

# create

> Create a NanoForge component, system or editor plugin

## Overview

`nf create` scaffolds a single ECS **component** or **system** in your project. By default it
creates files for the client; pass `--server` to target the server instead.

## Usage

```bash theme={null}
nf create <type>
```

`<type>` is `component`, `system`, or `plugin` (an editor plugin, a project of its own).

## Options

| Option | Description |
| - | - |
| `<type>` | The type to create: `component`, `system` or `plugin`. |
| `-d, --directory <directory>` | Working directory of the command. |
| `-c, --config <config>` | Path to the configuration file. |
| `-n, --name <name>` | Name of the component or system. |
| `-s, --server` | Create on the server instead of the client. Default: `false`. |
| `-p, --path <path>` | Path to the component/system folder, or the plugin's folder. |
| `-t, --template <template>` | Plugins: `panel` (default) or `theme` (a color theme, no code). |

## Examples

**Create a client component:**

```bash theme={null}
nf create component --name Position
```

**Create a server system:**

```bash theme={null}
nf create system --name Movement --server
```

**Create an editor plugin:**

```bash theme={null}
nf create plugin --name @acme/score-board
```

**Create an editor theme** (a manifest with a color theme and an icon, no code):

```bash theme={null}
nf create plugin --name @acme/forest --template theme
cd forest && node build.mjs --watch
DEV_PLUGINS=$(pwd) nf editor ../my-game  # in another terminal: the editor reloads the theme
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.