navori AI harness
navori

global

Installs a machine-wide harness baseline into ~/.claude, for sessions that start outside a navori repo. Opt-in and zero-footprint: without 'navori global init' it doesn't exist, and navori touched nothing on your machine.

Usage

navori global init [--apply] [--recommended] [--lang <es|en>]
navori global render [--apply]
navori global doctor
navori global collect install|uninstall
navori global uninstall

Flags

init Global-layer wizard: pick the baseline blocks and your personal permissions. Preview by default — without --apply it writes not a single byte, it only shows the plugin, the hook and the settings it would install.
init --apply Writes what the preview showed: the ~/.navori/global.json manifest and the 'navori@skills-dir' plugin under ~/.claude/skills/navori/ (8 agents, 12 skills and the baseline hook).
init --recommended No questions: takes the recommended selection (or the one you already had, on a re-init). It is the headless path for CI and scripts, and also what it falls back to with no interactive terminal.
init --lang <es|en> Language of the global baseline and of the prompts. Default: es, or whatever the existing install already had.
render Re-renders the plugin and the hook after a CLI bump. Preview by default: without --apply nothing is written.
render --apply Write to disk (backs up settings.json if it changes it).
doctor Audits the layer: hook drift, the gate actually executed, plugin up to date, permissions and version. If it isn't installed, it says so and stops.
collect install Installs the LaunchAgent (macOS) that keeps 'navori audit --collect' up — the receiver behind audit's third source. With KeepAlive and RunAtLoad: launchd revives it when it dies and starts it at login. navori writes the plist; launchd runs it.
collect uninstall Unloads the LaunchAgent and deletes the plist. Like the rest of 'global': everything navori wrote outside the repo knows how to undo itself.
uninstall Removes only what navori wrote: the plugin, the manifest and the permissions it claimed — yours are left intact.

Examples

See what it would install (writes nothing)

$ navori global init --recommended
  · plugin: ~/.claude/skills/navori (23 files)
  · hook: ~/.claude/skills/navori/hooks/navori-global-baseline.sh
  · settings: unchanged (~/.claude/settings.json)
  · Baseline blocks: operaciones-seguras, idioma-rol, formato-respuesta, orquestacion
Preview: not a single byte was written. Run 'navori global init --apply' to install.

Install the global layer

$ navori global init --apply
  · plugin: ~/.claude/skills/navori (23 files)
  · Baseline blocks: operaciones-seguras, idioma-rol, formato-respuesta, orquestacion
✓ Global harness installed at ~/.claude.

Audit

$ navori global doctor
  ✓ baseline hook present and up to date
  ✓ gate works (emits the baseline outside a navori repo, nothing inside one)
  ✓ plugin 'navori@skills-dir' installed and up to date
✓ OK

Remove it

$ navori global uninstall
✓ Global harness uninstalled from ~/.claude.

Notes

  • Opt-in for real: without 'navori global init --apply' there is no ~/.navori/global.json, and navori wrote not a single byte on your machine. An init without --apply writes nothing either: it is a preview.
  • The wizard is the only UI path to 'permissions'. What you declare there is merged into ~/.claude/settings.json and recorded as navori's, which is what lets uninstall retract it without touching your own rules.
  • Claude Code loads the 'navori@skills-dir' plugin with no marketplace and no install step; its skills are invoked as '/navori:<name>'.
  • The hook steps aside on its own: if the session starts inside a repo with navori.config.json it emits nothing. The repo's harness wins.
  • In ~/.claude/settings.json it only writes 'permissions', and with the default config it doesn't even create the file.
  • Honors CLAUDE_CONFIG_DIR: if you have it set, the plugin goes there instead of ~/.claude.