# Init

`benson init` writes a working site into a directory. The visual starter is a plain `system-ui` stylesheet. It does not include the Cascadia fonts or the theme toggle used on this documentation site.

```bash
benson init my-site --title "My Site" --base-url "https://example.com"
cd my-site
benson serve
```

## Flags

| Flag | Meaning |
|---|---|
| `DIR` | Directory to create. Omit it to use the current directory. |
| `--title`, `-t` | Site title. Prompted when omitted. |
| `--base-url`, `-u` | Canonical site URL. Prompted when omitted. |
| `--css` | `sass` (default) or `tailwind`. |
| `--force` | Overwrite files that already exist. Without it, existing files are skipped. |

## What you get

```
my-site/
├── .claude/launch.json
├── .claude/settings.json
├── .claude/skills/benson/SKILL.md
├── content/index.md
├── content/articles/
├── templates/
├── static/
├── sass/style.sass          # when --css sass
├── config.toml
├── Dockerfile
├── Makefile.toml
├── .env.example
└── .gitignore
```

`.claude/skills/benson/SKILL.md` tells an agent to run `benson --version` and read this site. `init` does not write `CLAUDE.md` or `.mcp.json`.

The command finishes by printing `benson serve` and `https://benson.strand3.com`.

