lisa-wiki-setup
Bring a repo's wiki/ into conformance with the canonical structure from
wiki/lisa-wiki.config.json. Safe to re-run: it creates what is missing and repairs drift, but
never overwrites human-authored content.
When to use
- First-time setup of the wiki in a repo.
- Repairing a wiki that fails
/doctor structural checks.
- Upgrading after a new
lisa-wiki release (--upgrade): re-render the contract snapshot and run a
compatibility report before writing.
--with-ci: also install the optional GitHub Action validator (ci/lisa-wiki-validate.yml).
Workflow
- Config. Read
wiki/lisa-wiki.config.json, or create it interactively. Ask for: org,
displayName, purpose (one paragraph — what this wiki is for), mode
(embedded|wrapper|standalone|subdir), categories, source layout, connectors, sensitivity,
sourceRetention, and the README mode (rich default | stub | preserve — always ask;
never select stub implicitly). If staff is absent, seed the standard roster (below) as the
default — every wiki gets the standard operating team unless the user opts out or edits it. Union
each role's owned categories into config.categories. Validate with scripts/validate-config.mjs.
- Structure. Scaffold the canonical tree per
schema/wiki-structure.schema.json:
wiki/{index.md, log.md, start-here.md, schema/, sources/, state/, staff/, <category dirs>}.
Create only what is missing.
- Contract. Render
wiki/schema/llm-wiki-contract.md from the plugin templates + config via
scripts/render-contract.mjs, stamping the kernelVersion. This snapshot keeps the wiki
self-describing without the plugin installed.
- Gitignore. Merge the lisa-wiki gitignore block into the project's
.gitignore via
scripts/ensure-gitignore.mjs. The block (delimited by # BEGIN: AI GUARDRAILS WIKI /
# END: AI GUARDRAILS WIKI) covers transient per-session worktrees and Lisa backup snapshots
(.claude/worktrees/, .codex/worktrees/, .lisabak/). Idempotent: re-running produces no
diff once the block is present. The block coexists with the base lisa plugin's
# BEGIN: AI GUARDRAILS block — both can be installed without overwriting each other because
the copy-contents strategy keys on the marker suffix. Wiki-wrapper repos (mode wrapper /
standalone) typically don't enable the base lisa plugin, so this step is the only path by
which they get the worktree-ignore patterns.
- Pointers. Ensure
AGENTS.md / CLAUDE.md point at the contract + plugin (thin pointers only).
- Staff. For each
config.staff[] entry (the standard roster by default), generate the role's
wiki/staff/<role>.md page and its dual-runtime subagents by delegating to lisa-wiki-add-role
(running the subagents is out of scope).
- README. Apply the chosen README mode (ingest the old README first;
rich keeps install/usage +
adds the onboarding line; stub is the minimal pointer; preserve leaves it).
- Verify. Run
lisa-wiki-doctor and report the verdict + any blocking items.
Standard roster
The default operating team seeded into config.staff[] for every new wiki (Chief of Staff plus six
domain agents). Each role becomes a wiki/staff/<id>.md page and a dual-runtime subagent; the human
owner talks to Chief, who routes to the others. Owned categories are unioned into config.categories.
| id |
role |
owns (categories) |
sensitivity |
chief |
Chief of Staff |
projects, decisions, playbooks, open-questions |
confidential |
sally |
Sales |
sales |
internal |
mark |
Marketing |
marketing |
internal |
felix |
Finance |
finance |
confidential |
casey |
Customer Success |
customers |
internal |
parker |
People |
people |
confidential |
lex |
Legal & Compliance |
legal |
confidential |
Projects may add, remove, or rename roles afterward; the standard roster is the starting point, not a
constraint.
Rules
- Idempotent; re-running produces no spurious changes.
- Never overwrite human content; only create/repair structure and the rendered snapshot. The README is
rewritten only after its old content has been ingested, and only per the chosen
readme.mode.
- Project-scoped only; never stage secrets/OAuth artifacts; honor
mode safety (wrapper/standalone).
Related
lisa-wiki-add-role, lisa-wiki-doctor, lisa-wiki-migrate, lisa-wiki-usage.
1---2name: lisa-wiki-setup-23description: Scaffold, repair, verify, or…4---56# lisa-wiki-setup78Bring a repo's `wiki/` into conformance with the canonical structure from9`wiki/lisa-wiki.config.json`. Safe to re-run: it creates what is missing and repairs drift, but10never overwrites human-authored content.1112## When to use13- First-time setup of the wiki in a repo.14- Repairing a wiki that fails `/doctor` structural checks.15- Upgrading after a new `lisa-wiki` release (`--upgrade`): re-render the contract snapshot and run a16 compatibility report before writing.17- `--with-ci`: also install the optional GitHub Action validator (`ci/lisa-wiki-validate.yml`).1819## Workflow201. **Config.** Read `wiki/lisa-wiki.config.json`, or create it interactively. Ask for: `org`,21 `displayName`, **`purpose`** (one paragraph — what this wiki is for), `mode`22 (`embedded|wrapper|standalone|subdir`), `categories`, source layout, connectors, sensitivity,23 `sourceRetention`, and the **README mode** (`rich` default | `stub` | `preserve` — always ask;24 never select `stub` implicitly). If `staff` is absent, seed the **standard roster** (below) as the25 default — every wiki gets the standard operating team unless the user opts out or edits it. Union26 each role's owned categories into `config.categories`. Validate with `scripts/validate-config.mjs`.272. **Structure.** Scaffold the canonical tree per `schema/wiki-structure.schema.json`:28 `wiki/{index.md, log.md, start-here.md, schema/, sources/, state/, staff/, <category dirs>}`.29 Create only what is missing.303. **Contract.** Render `wiki/schema/llm-wiki-contract.md` from the plugin templates + config via31 `scripts/render-contract.mjs`, stamping the `kernelVersion`. This snapshot keeps the wiki32 self-describing without the plugin installed.334. **Gitignore.** Merge the lisa-wiki gitignore block into the project's `.gitignore` via34 `scripts/ensure-gitignore.mjs`. The block (delimited by `# BEGIN: AI GUARDRAILS WIKI` /35 `# END: AI GUARDRAILS WIKI`) covers transient per-session worktrees and Lisa backup snapshots36 (`.claude/worktrees/`, `.codex/worktrees/`, `.lisabak/`). Idempotent: re-running produces no37 diff once the block is present. The block coexists with the base lisa plugin's38 `# BEGIN: AI GUARDRAILS` block — both can be installed without overwriting each other because39 the copy-contents strategy keys on the marker suffix. Wiki-wrapper repos (mode `wrapper` /40 `standalone`) typically don't enable the base lisa plugin, so this step is the only path by41 which they get the worktree-ignore patterns.425. **Pointers.** Ensure `AGENTS.md` / `CLAUDE.md` point at the contract + plugin (thin pointers only).436. **Staff.** For each `config.staff[]` entry (the standard roster by default), generate the role's44 `wiki/staff/<role>.md` page and its dual-runtime subagents by delegating to `lisa-wiki-add-role`45 (running the subagents is out of scope).467. **README.** Apply the chosen README mode (ingest the old README first; `rich` keeps install/usage +47 adds the onboarding line; `stub` is the minimal pointer; `preserve` leaves it).488. **Verify.** Run `lisa-wiki-doctor` and report the verdict + any blocking items.4950## Standard roster51The default operating team seeded into `config.staff[]` for every new wiki (Chief of Staff plus six52domain agents). Each role becomes a `wiki/staff/<id>.md` page and a dual-runtime subagent; the human53owner talks to Chief, who routes to the others. Owned categories are unioned into `config.categories`.5455| id | role | owns (categories) | sensitivity |56|---|---|---|---|57| `chief` | Chief of Staff | `projects`, `decisions`, `playbooks`, `open-questions` | confidential |58| `sally` | Sales | `sales` | internal |59| `mark` | Marketing | `marketing` | internal |60| `felix` | Finance | `finance` | confidential |61| `casey` | Customer Success | `customers` | internal |62| `parker` | People | `people` | confidential |63| `lex` | Legal & Compliance | `legal` | confidential |6465Projects may add, remove, or rename roles afterward; the standard roster is the starting point, not a66constraint.6768## Rules69- Idempotent; re-running produces no spurious changes.70- Never overwrite human content; only create/repair structure and the rendered snapshot. The README is71 rewritten only after its old content has been ingested, and only per the chosen `readme.mode`.72- Project-scoped only; never stage secrets/OAuth artifacts; honor `mode` safety (wrapper/standalone).7374## Related75`lisa-wiki-add-role`, `lisa-wiki-doctor`, `lisa-wiki-migrate`, `lisa-wiki-usage`.