---
name: faur-init
description: Detect a project or workspace and write a faur config for it — no build. Use as `/faur-init <repo-or-workspace>`. Probes the stack, build/test commands, design refs, and backlog; proposes a config.yml (or a workspace.yml + per-member configs for a multi-package repo); confirms with you; and writes it to <repo>/.faur/. After this, /faur-auto and /faur-guided work on that project. Grounds itself in the repo first so it only asks what the code cannot answer.
---

# /faur-init — write a faur config for a project (no build)

Onboard a project so the `/faur-*` commands can run on it. This does **not** build anything.

## 1. Ground first (multi-perspective), then ask

Probe `<repo>` before asking anything: git remote; `package.json` / `Makefile` / `go.mod` /
`pnpm-workspace` / `turbo.json`; design dirs (`docs/design*`, `design/`, `*.fig`, prototype
html); spec/backlog globs; any existing `.faur/`. If the repo contains **multiple
sub-projects** (each with its own `package.json` / `Makefile` / `go.mod`), treat it as a
**workspace**. Show everything you found as `(detected: …)`; only ask what the repo genuinely
can't answer. Fields are in `${CLAUDE_PLUGIN_ROOT}/config/SCHEMA.md`.

## 2. Propose the config

- **Single project** → a `config.yml` filled from detection. Profile default:
  `worktree-commit` for a normal repo; `no-commit-locked` under a no-commit zone
  (`~/dev/vendor-code/**`).
- **Workspace** → a `workspace.yml` manifest listing members + a `<member>.yml` per
  sub-project, with `shared:` for common design refs / domain rules / default profile.

Render the proposed config(s) for approval. For anything you had to guess, use a
best-practice default and give a one-line rationale (the "infer patterns, you approve" rule)
— prefer patterns already present in the user's other projects over generic defaults.

## 3. Write on approval

Write to `<repo>/.faur/config.yml` (or `workspace.yml` + member files). Do **not** build,
and do **not** commit/push the user's repo — just write the file(s). Then tell them they can
run `/faur-auto <name> "<goal>"` or `/faur-guided <name> "<goal>"`.
