# kindgi init

> Scaffold a new Kindgi pack repo, or add Kindgi to an existing app: a Node.js, Python, Maven or sbt project, auto-detected from its `package.json`, `pyproject.toml`, `pom.xml` or `build.sbt` when no pack-name is given

## `kindgi init`

**Synopsis**

```sh signature
kindgi init [<pack-name>] [--template=minimal|sample|woocommerce|drupal|python|java|scala] [--path=<dir>] [--force] [--link-local] [--new-repo]
```

Scaffold a new Kindgi pack repo, or add Kindgi to an existing app: a Node.js, Python, Maven or sbt project, auto-detected from its `package.json`, `pyproject.toml`, `pom.xml` or `build.sbt` when no pack-name is given.

**Options**

| Option               | Default                                                                                                     | Description                                                                                                                                                                                                                                                                                                                                                                              |
| -------------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--force`            | off                                                                                                         | Write into a non-empty directory; in an existing app, overwrite the Kindgi config and files already there instead of refusing or skipping them.                                                                                                                                                                                                                                          |
| `--link-local`       | off                                                                                                         | Node packs: link `@kindgi/*` from the Kindgi checkout the CLI runs from, even inside its workspace. No effect for an installed CLI.                                                                                                                                                                                                                                                      |
| `--new-repo`         | off                                                                                                         | In an existing app, scaffold a separate pack instead of adding Kindgi to the app. Requires `<pack-name>`.                                                                                                                                                                                                                                                                                |
| `--pack-id <value>`  | derived from the existing app's name                                                                        | Adding Kindgi to an existing app: the pack id, instead of the one derived from the app's name. Needed when that name makes no valid id.                                                                                                                                                                                                                                                  |
| `--path <value>`     | `<pack-name>` (its last dot segment) under the current directory; in an existing app, the current directory | Where to scaffold. Default: `<pack-name>` (its last dot segment) under the current directory; in an existing app, the current directory.                                                                                                                                                                                                                                                 |
| `--template <value>` | `minimal`                                                                                                   | The starter: `minimal` (default; empty primitive folders), `sample` (tools, a guardrail, an agent and a flow), `woocommerce` (agents for a WooCommerce store, with approvals), `drupal` (agents for a Drupal site through its MCP Server, with approvals), `python` (a Python pack), `java` (a Java pack, built with Maven; preview) or `scala` (a Scala pack, built with sbt; preview). |

Every command also takes the [global flags](https://docs.kindgi.com/v0.1.10/reference/cli.md#global-flags).

**Examples**

From [Self-host Kindgi](https://docs.kindgi.com/v0.1.10/deploy/self-hosted/self-host.md):

```sh
npx --yes @kindgi/cli@0.1 init acme-pack --template=sample
```

From [Organize work by org and project](https://docs.kindgi.com/v0.1.10/guides/projects/organize-by-org-and-project.md):

```sh
npx --yes @kindgi/cli@0.1 init acme-shop --template=woocommerce
```

**See also**

- [Self-host Kindgi](https://docs.kindgi.com/v0.1.10/deploy/self-hosted/self-host.md)
- [Organize work by org and project](https://docs.kindgi.com/v0.1.10/guides/projects/organize-by-org-and-project.md)
- [Set up Kindgi with your coding agent](https://docs.kindgi.com/v0.1.10/start/agent.md)
- [Add Kindgi to a Java app](https://docs.kindgi.com/v0.1.10/start/existing-app-java.md)
