wizard-central-toolkit 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wizard_central_toolkit-0.2.0/CHANGELOG.md +119 -0
- wizard_central_toolkit-0.2.0/COMMANDS.md +405 -0
- wizard_central_toolkit-0.2.0/DEMO.md +2721 -0
- wizard_central_toolkit-0.2.0/INSTALL.sh +55 -0
- wizard_central_toolkit-0.2.0/LICENSE +201 -0
- wizard_central_toolkit-0.2.0/MANIFEST.in +3 -0
- wizard_central_toolkit-0.2.0/PKG-INFO +203 -0
- wizard_central_toolkit-0.2.0/PROVIDERS.md +162 -0
- wizard_central_toolkit-0.2.0/README.md +181 -0
- wizard_central_toolkit-0.2.0/SECURITY.md +34 -0
- wizard_central_toolkit-0.2.0/pyproject.toml +97 -0
- wizard_central_toolkit-0.2.0/setup.cfg +4 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/__init__.py +2 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/bannerwiz/__main__.py +6 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/bannerwiz/cli.py +79 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/bannerwiz/lib/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/bannerwiz/lib/banner_wizard.py +999 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/bannerwiz/lib/banner_wrapper.py +199 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/bannerwiz/lib/cli.py +79 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/codeguardwiz/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/codeguardwiz/__main__.py +19 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/codeguardwiz/cli.py +971 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/codeguardwiz/codeguard_wizard.py +269 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/codeguardwiz/rust_engine.py +348 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/codeguardwiz/static_engine.py +307 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/common/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/debugwiz/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/debugwiz/__main__.py +360 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/debugwiz/debug_wizard.py +364 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/diffwiz/__init__.py +0 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/diffwiz/__main__.py +21 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/diffwiz/cli.py +134 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/diffwiz/lib/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/diffwiz/lib/cli.py +144 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/diffwiz/lib/diff_wizard.py +89 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/godfatherwiz/__init__.py +0 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/godfatherwiz/__main__.py +18 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/godfatherwiz/ai.py +136 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/godfatherwiz/lib/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/godfatherwiz/lib/cli.py +925 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/godfatherwiz/lib/godfather_wizard.py +1552 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/jsonwiz/__init__.py +0 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/jsonwiz/__main__.py +21 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/jsonwiz/cli.py +4 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/jsonwiz/lib/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/jsonwiz/lib/cli.py +138 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/jsonwiz/lib/json_wizard.py +133 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/pythonwiz/__init__.py +0 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/pythonwiz/__main__.py +21 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/pythonwiz/lib/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/pythonwiz/lib/cli.py +247 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/pythonwiz/lib/python_wizard.py +353 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/readwiz/__init__.py +5 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/readwiz/__main__.py +15 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/readwiz/cli.py +46 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/readwiz/lib/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/readwiz/lib/cli.py +47 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/readwiz/lib/read_wizard.py +121 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/rustwiz/__init__.py +5 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/rustwiz/__main__.py +7 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/rustwiz/cli.py +4 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/rustwiz/lib/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/rustwiz/lib/cli.py +53 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/rustwiz/lib/rust_wizard.py +128 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/tmuxwiz/__init__.py +0 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/tmuxwiz/__main__.py +15 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/tmuxwiz/cli.py +7 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/tmuxwiz/lib/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/tmuxwiz/lib/cli.py +10 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/tmuxwiz/lib/tmux_wizard.py +229 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/todowiz/__init__.py +0 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/todowiz/__main__.py +22 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/todowiz/cli.py +4 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/todowiz/lib/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/todowiz/lib/cli.py +82 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/todowiz/lib/todo_wizard.py +134 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/tools_registry.py +62 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/wiz/__init__.py +0 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/wiz/__main__.py +141 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/writewiz/__init__.py +1 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/writewiz/__main__.py +9 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/writewiz/cli.py +264 -0
- wizard_central_toolkit-0.2.0/src/wiz_central_toolkit/writewiz/write_wizard.py +384 -0
- wizard_central_toolkit-0.2.0/src/wizard_central_toolkit.egg-info/PKG-INFO +203 -0
- wizard_central_toolkit-0.2.0/src/wizard_central_toolkit.egg-info/SOURCES.txt +120 -0
- wizard_central_toolkit-0.2.0/src/wizard_central_toolkit.egg-info/dependency_links.txt +1 -0
- wizard_central_toolkit-0.2.0/src/wizard_central_toolkit.egg-info/entry_points.txt +50 -0
- wizard_central_toolkit-0.2.0/src/wizard_central_toolkit.egg-info/requires.txt +8 -0
- wizard_central_toolkit-0.2.0/src/wizard_central_toolkit.egg-info/top_level.txt +1 -0
- wizard_central_toolkit-0.2.0/tests/test_bannerwiz.py +63 -0
- wizard_central_toolkit-0.2.0/tests/test_cli_integration.py +255 -0
- wizard_central_toolkit-0.2.0/tests/test_cli_wizards.py +53 -0
- wizard_central_toolkit-0.2.0/tests/test_codeguardwiz.py +319 -0
- wizard_central_toolkit-0.2.0/tests/test_codeguardwiz_cli.py +631 -0
- wizard_central_toolkit-0.2.0/tests/test_codeguardwiz_rust.py +345 -0
- wizard_central_toolkit-0.2.0/tests/test_debugwiz.py +390 -0
- wizard_central_toolkit-0.2.0/tests/test_debugwiz_imports.py +64 -0
- wizard_central_toolkit-0.2.0/tests/test_deep_coverage.py +256 -0
- wizard_central_toolkit-0.2.0/tests/test_diffwiz.py +347 -0
- wizard_central_toolkit-0.2.0/tests/test_diffwiz_cli.py +37 -0
- wizard_central_toolkit-0.2.0/tests/test_dispatcher.py +73 -0
- wizard_central_toolkit-0.2.0/tests/test_display_names.py +138 -0
- wizard_central_toolkit-0.2.0/tests/test_godfatherwiz.py +42 -0
- wizard_central_toolkit-0.2.0/tests/test_godfatherwiz_codegen.py +272 -0
- wizard_central_toolkit-0.2.0/tests/test_godfatherwiz_providers.py +388 -0
- wizard_central_toolkit-0.2.0/tests/test_godfatherwiz_repl_batch.py +326 -0
- wizard_central_toolkit-0.2.0/tests/test_godfatherwiz_repl_classifier.py +38 -0
- wizard_central_toolkit-0.2.0/tests/test_help_parity.py +147 -0
- wizard_central_toolkit-0.2.0/tests/test_jsonwiz.py +249 -0
- wizard_central_toolkit-0.2.0/tests/test_jsonwiz_cli.py +48 -0
- wizard_central_toolkit-0.2.0/tests/test_jsonwiz_files.py +46 -0
- wizard_central_toolkit-0.2.0/tests/test_missing_coverage.py +188 -0
- wizard_central_toolkit-0.2.0/tests/test_passthrough_wizards.py +33 -0
- wizard_central_toolkit-0.2.0/tests/test_pythonwiz.py +30 -0
- wizard_central_toolkit-0.2.0/tests/test_pythonwiz_extra.py +135 -0
- wizard_central_toolkit-0.2.0/tests/test_pythonwiz_suite.py +55 -0
- wizard_central_toolkit-0.2.0/tests/test_readwiz.py +18 -0
- wizard_central_toolkit-0.2.0/tests/test_rustwiz.py +15 -0
- wizard_central_toolkit-0.2.0/tests/test_small_batch.py +131 -0
- wizard_central_toolkit-0.2.0/tests/test_todowiz.py +238 -0
- wizard_central_toolkit-0.2.0/tests/test_todowiz_cli.py +36 -0
- wizard_central_toolkit-0.2.0/tests/test_version.py +5 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.2.0 — 2026-11-08
|
|
4
|
+
|
|
5
|
+
- The sampler made whole for pip installs: godfatherwiz now
|
|
6
|
+
resolves its sibling wizards from the installed package as
|
|
7
|
+
well as the bin lane, and reports a wizard that is nowhere
|
|
8
|
+
installed as honestly absent (never "reachable").
|
|
9
|
+
- FATHER LAW 1 amended to match: siblings are invoked where
|
|
10
|
+
they live — the bin lane (~/bin) first, the installed package
|
|
11
|
+
second; a sibling found nowhere is honestly absent.
|
|
12
|
+
- The October rename finished inside the package: the
|
|
13
|
+
distribution is `wizard-central-toolkit` in pyproject, the
|
|
14
|
+
README, the installer, and the two metadata lookups.
|
|
15
|
+
- README gains the door section: the Wizard Central Pro AI
|
|
16
|
+
Modes Toolkit, still in the making, that this sampler is a
|
|
17
|
+
window onto.
|
|
18
|
+
- COMMANDS.md added: every command, documented.
|
|
19
|
+
- Full-sweep fixes: godfatherwiz status probes the installed
|
|
20
|
+
fleet (never absent citizens); diagnose calls commands that
|
|
21
|
+
exist; debugwiz reads real tracebacks, stages its log and
|
|
22
|
+
proposals through writewiz, and reports real timestamps;
|
|
23
|
+
pythonwiz honors `#!/usr/bin/env` shebangs; bannerwiz
|
|
24
|
+
--help/--version print text; a missing Rust toolchain is a
|
|
25
|
+
plain sentence, never a traceback.
|
|
26
|
+
- rustwiz grows from 2 commands to 10 (run, test, clippy, fmt
|
|
27
|
+
--check, doc, clean, law, version — every one a real verb of
|
|
28
|
+
the toolchain it wraps); tmuxwiz gains capture and detach,
|
|
29
|
+
plus law and version.
|
|
30
|
+
- codeguardwiz gains a second engine: built-in static rules
|
|
31
|
+
(nine checks — syntax, hardcoded secrets, eval/exec, shell
|
|
32
|
+
execution, pickle, weak hashes, bare and swallowed excepts,
|
|
33
|
+
TODO markers) that audit Python with no model at all. The
|
|
34
|
+
model seat remains the default whenever one is served;
|
|
35
|
+
`--engine static|model` makes the choice the user's, and
|
|
36
|
+
every output names the engine that produced it. Static fix
|
|
37
|
+
stages its one deterministic rewrite through writewiz and
|
|
38
|
+
never writes a file itself.
|
|
39
|
+
- README gains the full roster: all 41 wizards, each marked
|
|
40
|
+
in this version or only in Pro.
|
|
41
|
+
- godfatherwiz's chains come home: audit is the truth anchor
|
|
42
|
+
plus codeguardwiz audit; heal finds the sick file with
|
|
43
|
+
debugwiz audit and stages the fix through debugwiz propose
|
|
44
|
+
(writewiz's wall untouched); task is todowiz alone. And
|
|
45
|
+
truthwiz's file senses — brief, listing, read, head, find,
|
|
46
|
+
du, stat, symlinks — are absorbed into godfatherwiz, so
|
|
47
|
+
`truth` and the REPL's /truth /ls /read /bins are served
|
|
48
|
+
in-house; no command or slash was renamed or removed.
|
|
49
|
+
- Help parity: every wizard answers both `help` and `--help`
|
|
50
|
+
with its own full command listing, exit 0 — bannerwiz no
|
|
51
|
+
longer renders the word HELP as a banner, and godfatherwiz's
|
|
52
|
+
bare `help` prints the full usage (a command name still
|
|
53
|
+
gives that command's lines). A suite gate checks each
|
|
54
|
+
wizard's help against the COMMANDS.md tables.
|
|
55
|
+
- REPL slash parity: every citizen in the box has a slash —
|
|
56
|
+
/banner, /codeguard, /json, /rust, /tmux, /write, /verbs are
|
|
57
|
+
new (35 in total). /fix and /heal no longer dispatch to the
|
|
58
|
+
absent repairwiz: they run godfatherwiz's own heal chain,
|
|
59
|
+
staging only. /models answers from the configured seats —
|
|
60
|
+
the live Ollama roster when a daemon serves, one plain
|
|
61
|
+
"no model seat" line when none does.
|
|
62
|
+
- REPL plain text routes first: the deterministic keyword
|
|
63
|
+
router answers before the oracle is ever consulted, and the
|
|
64
|
+
oracle speaks only when a model seat is actually serving —
|
|
65
|
+
seatless unmapped text is "out of scope", never an oracle
|
|
66
|
+
error. The oracle's instructions now teach godfatherwiz's
|
|
67
|
+
own senses, and sense TOOL lines execute in-process end to
|
|
68
|
+
end (a duplicate-shield NameError on that path is fixed).
|
|
69
|
+
- The consent wall is scoped to what it protects: route
|
|
70
|
+
resolution in `godfatherwiz run` and the REPL walls only a
|
|
71
|
+
route whose pipeline would change files — read-class routes
|
|
72
|
+
run free whatever words the sentence carried, and staging
|
|
73
|
+
routes (proposals) are suggestions, behind no wall. A
|
|
74
|
+
write-class route asks twice — a plain ask, then a typed
|
|
75
|
+
confirmation naming the action — before anything executes;
|
|
76
|
+
there is no MCP gate in this project, so the double ask is
|
|
77
|
+
the load-bearing wall.
|
|
78
|
+
- Small batch, the concluded remainders: codeguardwiz's model
|
|
79
|
+
`fix --write` goes through the wall — the pythonwiz gate, then
|
|
80
|
+
staging via writewiz, the double ask, and writewiz commit;
|
|
81
|
+
a no at either ask writes nothing. The oracle's consent is at
|
|
82
|
+
parity with `run`: staging TOOL lines never prompt, write-class
|
|
83
|
+
lines ask twice, and a denial tells the model the Governor
|
|
84
|
+
refused. debugwiz `stack` is real — a traceback digest (file
|
|
85
|
+
or stdin) with the deepest project frame called out and
|
|
86
|
+
repeated frames flagged as suspected recursion. FATHER LAW 2
|
|
87
|
+
names godfatherwiz's own senses as the truth anchor, and the
|
|
88
|
+
sampler's flavor stops borrowing Pro's numbers (no more
|
|
89
|
+
"Citizen #33"). Two dead twin faces are removed —
|
|
90
|
+
pythonwiz/cli.py (unimportable) and godfatherwiz/cli.py
|
|
91
|
+
(stale, unreferenced) — and call_ollama no longer calls an
|
|
92
|
+
ollamawiz that resolves nowhere.
|
|
93
|
+
- godfatherwiz gains the codegen suite in its REPL, inherited
|
|
94
|
+
from devrepl's modes: /brainstorm (conversation with the tool
|
|
95
|
+
channel off), /build and /debug (the seat authors complete
|
|
96
|
+
content; the person reviews the full diff, answers the double
|
|
97
|
+
ask, and only then writewiz commit lands it), and /diff
|
|
98
|
+
(review-only — stages nothing, asks nothing, and remembers
|
|
99
|
+
the proposal for a later /build or /debug). Nothing is auto:
|
|
100
|
+
a model proposes, a person approves, in that order.
|
|
101
|
+
- Model seats become assignable per task: ~/.godfather/
|
|
102
|
+
models.json holds `default`, `brainstorm`, `build`, `debug`,
|
|
103
|
+
`diff`, and `audit` assignments (task, then default, then the
|
|
104
|
+
live roster pick), managed with `godfatherwiz models`,
|
|
105
|
+
`godfatherwiz models set`, and `godfatherwiz models unset`.
|
|
106
|
+
One model can run everything; an assigned model that is not
|
|
107
|
+
serving is reported honestly, never silently replaced.
|
|
108
|
+
- Seats gain providers: an assignment may now be
|
|
109
|
+
`provider:model`, seating a model at one of five cloud
|
|
110
|
+
providers — Meta (Muse), Anthropic, OpenAI, Google, and
|
|
111
|
+
DeepSeek — beside the local Ollama seat. Cloud seats are the
|
|
112
|
+
user's opt-in, seated only with the user's own API key read
|
|
113
|
+
from the environment at call time; keys are never stored,
|
|
114
|
+
journaled, or printed, and `godfatherwiz models` shows the
|
|
115
|
+
six providers with key-set status only. Every model chat —
|
|
116
|
+
the oracle and the four codegen modes — goes through one
|
|
117
|
+
dispatch, and every model-authored proposal names its seat
|
|
118
|
+
(`seat: <provider> · <model>`). Bare model names keep
|
|
119
|
+
meaning Ollama, exactly as before.
|
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
# Wizard Central Toolkit — Command Reference
|
|
2
|
+
|
|
3
|
+
Every command the toolkit ships: the 13 primary commands — 25
|
|
4
|
+
entry points counting the aliases — all 147 subcommands, the
|
|
5
|
+
banner modes, the router's aliases, and the Godfather Wizard
|
|
6
|
+
REPL's slash commands — each with what it does. A wizard's
|
|
7
|
+
name-command is its full underscored form (`godfather_wizard`);
|
|
8
|
+
its short form (`godfatherwiz`) is an alias, listed once in the
|
|
9
|
+
README's "Names and aliases" section and working everywhere
|
|
10
|
+
the full form does.
|
|
11
|
+
Compiled from the wizards' own `--help` output, the REPL's own
|
|
12
|
+
`/help`, and the Banner Wizard's source (0.2.0).
|
|
13
|
+
|
|
14
|
+
## The census — how the numbers stack
|
|
15
|
+
|
|
16
|
+
- **25 entry points** are installed on the PATH: the 13 primary
|
|
17
|
+
commands — `wiz` plus the 12 wizards under their full-form
|
|
18
|
+
name-commands — and the 12 short alias commands beside them.
|
|
19
|
+
- **147 subcommands** sit under 11 of them (the Banner Wizard works
|
|
20
|
+
differently — see its entry).
|
|
21
|
+
- **6 display modes** on the Banner Wizard (`--demo`, `--themes`,
|
|
22
|
+
`--styles`, `--sizes`, `--fonts`, `--interactive`).
|
|
23
|
+
- **11 short aliases** through the `wiz` router.
|
|
24
|
+
- **39 slash command forms** inside the Godfather Wizard REPL
|
|
25
|
+
(`/diff` carries both its legacy two-file comparison and the
|
|
26
|
+
codegen review form).
|
|
27
|
+
|
|
28
|
+
Counted strictly as typed commands and subcommands:
|
|
29
|
+
13 + 147 = **160**, before banner modes, aliases, and slashes.
|
|
30
|
+
Counting every way to invoke the fleet on the primary surface:
|
|
31
|
+
160 + 6 + 11 + 39 = **216**. The aliases re-offer the same
|
|
32
|
+
surface under the short spellings — 12 entry points, the same
|
|
33
|
+
147 subcommands, and the same 6 banner modes — 165 more typed
|
|
34
|
+
forms, **381** in all.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## The Wizarding Router — `wiz`
|
|
39
|
+
|
|
40
|
+
The router's full name is the Wizarding Router; its command
|
|
41
|
+
is `wiz`, and the command does not change.
|
|
42
|
+
|
|
43
|
+
`wiz [--json] <tool> [args...]` — runs any fleet wizard by its
|
|
44
|
+
full-form name or its alias; `--json` emits the output as JSON;
|
|
45
|
+
`--version` prints the installed package version. It also
|
|
46
|
+
answers to 11 short aliases: `banner`, `codeguard`, `debug`,
|
|
47
|
+
`diff`, `json`, `python`, `read`, `rust`, `tmux`, `todo`,
|
|
48
|
+
`write` (each = the wizard of that stem).
|
|
49
|
+
|
|
50
|
+
## Godfather Wizard — `godfather_wizard`, the Grand Master (22)
|
|
51
|
+
|
|
52
|
+
Fleet dispatcher and REPL. Invokes siblings where they live;
|
|
53
|
+
the truth senses (brief, listing, read, head, find, du, stat,
|
|
54
|
+
symlinks) live in-house — absorbed from the Truth Wizard, whose office
|
|
55
|
+
was the Godfather Wizard's own Law 2 anchor all along.
|
|
56
|
+
|
|
57
|
+
| Command | What it does |
|
|
58
|
+
|---|---|
|
|
59
|
+
| `audit <path>` | truth anchor (internal senses) + Code Guard Wizard audit |
|
|
60
|
+
| `task <intent>` | Todo Wizard intake |
|
|
61
|
+
| `run <directive>` | deterministic keyword router — read-class and staging routes run free; a write-class route asks twice (plain ask, then a typed confirmation naming the action) before it executes; unmapped mutation intent is refused at the wall |
|
|
62
|
+
| `routes` | print routing table |
|
|
63
|
+
| `fleet` | census of installed sibling wizards |
|
|
64
|
+
| `law` | print FATHER LAW |
|
|
65
|
+
| `truth <path>` | anchor ground truth (internal senses) |
|
|
66
|
+
| `diagnose <dir>` | Debug Wizard audit + classify on the worst file |
|
|
67
|
+
| `heal <file>` | Debug Wizard audit, then propose — the fix is staged via the Write Wizard, never applied |
|
|
68
|
+
| `status` | fleet-wide health check |
|
|
69
|
+
| `repl` | launch the interactive REPL cockpit |
|
|
70
|
+
| `siblings` | list all registered citizens |
|
|
71
|
+
| `verify <wizard>` | single citizen health check |
|
|
72
|
+
| `consent <file>` | force the Write Wizard's commit prompt |
|
|
73
|
+
| `schedule <intent>` | queue task |
|
|
74
|
+
| `queue` | show scheduled tasks |
|
|
75
|
+
| `history` | run history across delegations |
|
|
76
|
+
| `stats` | fleet-wide execution counts |
|
|
77
|
+
| `versions` | law drift detection |
|
|
78
|
+
| `help [command]` | full usage, or usage for one subcommand |
|
|
79
|
+
| `census` | full fleet roster |
|
|
80
|
+
| `models` | show the six providers, the live Ollama roster, and the per-task assignments in `~/.godfather/models.json`; `models set <task> <seat>` and `models unset <task>` manage assignments for `default`, `brainstorm`, `build`, `debug`, `diff`, and `audit` — a seat is a bare Ollama model name, or `provider:model` for a cloud provider |
|
|
81
|
+
|
|
82
|
+
Exit codes: 0 ok · 1 failed · 2 out of scope.
|
|
83
|
+
|
|
84
|
+
## Banner Wizard — `banner_wizard`, ASCII banner wizard
|
|
85
|
+
|
|
86
|
+
`banner_wizard <words...>` renders the words as a large ASCII
|
|
87
|
+
banner (pyfiglet; fonts auto-discovered at runtime — typically
|
|
88
|
+
571+, with 18 style presets). `--subtitle TEXT` adds a subtitle
|
|
89
|
+
line under the banner. Modes: `--demo` (demonstration),
|
|
90
|
+
`--themes` (theme gallery), `--styles` (the 18 presets),
|
|
91
|
+
`--sizes` (size behaviour), `--fonts` (font list),
|
|
92
|
+
`--interactive` (guided interactive mode).
|
|
93
|
+
|
|
94
|
+
## Code Guard Wizard — `codeguard_wizard`, code audit wizard (9)
|
|
95
|
+
|
|
96
|
+
| Command | What it does |
|
|
97
|
+
|---|---|
|
|
98
|
+
| `audit` | audit a file or directory, print plain verdict — two engines: the model seat when one is served, the built-in static rules otherwise; the static rules cover Python (CG001–CG009) and Rust (RS001–RS007, `.rs` files and `Cargo.toml`), dispatched by extension in a single mixed audit; `--engine static\|model` chooses, and the output opens with the engine line |
|
|
99
|
+
| `fix` | model engine: generate repaired code for a file (preview; `--write`/`--out` stage the fix via the Write Wizard, ask twice at the terminal — plain yes, then a typed confirmation naming the file — and land only through the Write Wizard's commit). static engine: stage the one deterministic rewrite (bare `except:` → `except Exception:`) through the Write Wizard — it never writes a file itself; every other finding is listed as needing a person or the model engine |
|
|
100
|
+
| `lang` | detect language of a file |
|
|
101
|
+
| `roster` | show the engines: the static rule roster (always available) and the live model seats when a daemon serves them |
|
|
102
|
+
| `scan` | audit sweep on a file or directory (static engine: findings one per line) |
|
|
103
|
+
| `watch` | diff-since-last-audit: re-run audit, report changes |
|
|
104
|
+
| `severity` | the findings grouped by severity |
|
|
105
|
+
| `explain` | explain a static rule (`explain CG002`) or the finding at a line (`explain <file> <line>`) |
|
|
106
|
+
| `scaffold` | generate unit-test skeleton for file |
|
|
107
|
+
|
|
108
|
+
## Debug Wizard — `debug_wizard`, the diagnosis oracle (22)
|
|
109
|
+
|
|
110
|
+
| Command | What it does |
|
|
111
|
+
|---|---|
|
|
112
|
+
| `law` | print the DEBUG LAW alone |
|
|
113
|
+
| `trace <file>` | traceback autopsy |
|
|
114
|
+
| `locate <dir> <pattern>` | find files with error pattern |
|
|
115
|
+
| `classify <file>` | error type breakdown |
|
|
116
|
+
| `stack [file]` | stack digest of a traceback (file or stdin): exception, frame chain with project/library marks, deepest project frame, repeated frames flagged as suspected recursion |
|
|
117
|
+
| `count <dir>` | errors by category |
|
|
118
|
+
| `hotspot <dir>` | files with most errors |
|
|
119
|
+
| `timeline <dir>` | error frequency by mtime |
|
|
120
|
+
| `imports <file>` | missing import detection |
|
|
121
|
+
| `names <file>` | undefined name detection |
|
|
122
|
+
| `signatures <file>` | signature mismatch detection |
|
|
123
|
+
| `suggest <file>` | heuristic fix suggestion |
|
|
124
|
+
| `propose <file>` | stage fix via the Write Wizard |
|
|
125
|
+
| `preview <file>` | show staged proposal |
|
|
126
|
+
| `explain <file>` | human-readable explanation |
|
|
127
|
+
| `audit <dir>` | full error census |
|
|
128
|
+
| `report <dir>` | JSON report for CI/CD |
|
|
129
|
+
| `log <dir>` | write error log (staged via the Write Wizard) |
|
|
130
|
+
| `ignore <path>` | add to ignore list |
|
|
131
|
+
| `ignored` | show ignored paths |
|
|
132
|
+
| `stats` | error census of the current directory |
|
|
133
|
+
| `versions` | law/version drift detection |
|
|
134
|
+
|
|
135
|
+
## Diff Wizard — `diff_wizard`, change-truth doctor (7)
|
|
136
|
+
|
|
137
|
+
| Command | What it does |
|
|
138
|
+
|---|---|
|
|
139
|
+
| `files <a> <b>` | unified diff of two files |
|
|
140
|
+
| `dirs <a> <b>` | compare directory trees |
|
|
141
|
+
| `context <N> <a> <b>` | unified diff with N context lines |
|
|
142
|
+
| `summary <a> <b>` | diff statistics without full output |
|
|
143
|
+
| `word <a> <b>` | word-level diff |
|
|
144
|
+
| `same <a> <b>` | exit 0 if identical, 1 if different (silent) |
|
|
145
|
+
| `reverse <a> <b>` | diff b → a (swap sides) |
|
|
146
|
+
|
|
147
|
+
## JSON Wizard — `json_wizard`, JSON doctor (9)
|
|
148
|
+
|
|
149
|
+
| Command | What it does |
|
|
150
|
+
|---|---|
|
|
151
|
+
| `validate <file\|->` | check JSON validity, line/col on failure |
|
|
152
|
+
| `pretty <file\|->` | pretty-print to stdout |
|
|
153
|
+
| `compact <file\|->` | minify to one line |
|
|
154
|
+
| `inspect <file\|->` | structural summary |
|
|
155
|
+
| `keys <file\|->` | top-level keys |
|
|
156
|
+
| `get <file\|-> <path>` | dotted-path value lookup (a.b.0.c) |
|
|
157
|
+
| `diff <a> <b>` | structural diff of two JSON docs |
|
|
158
|
+
| `stats <file\|->` | type census: depths, counts |
|
|
159
|
+
| `merge <a> <b>` | deep merge (b wins) to stdout |
|
|
160
|
+
|
|
161
|
+
## Python Wizard — `python_wizard`, Python doctor (22)
|
|
162
|
+
|
|
163
|
+
Parse only — never executes the code it reads.
|
|
164
|
+
|
|
165
|
+
| Command | What it does |
|
|
166
|
+
|---|---|
|
|
167
|
+
| `check <file\|dir>` | syntax validation (the fleet gate) |
|
|
168
|
+
| `entry <file>` | shebang + interpreter validation |
|
|
169
|
+
| `outline <file>` | symbol map: classes/functions + line numbers |
|
|
170
|
+
| `imports <file>` | stdlib/third_party/local/relative inventory |
|
|
171
|
+
| `todos <file>` | TODO/FIXME/XXX/BUG/HACK markers |
|
|
172
|
+
| `deadcode <file>` | defined-but-unreferenced candidates (heuristic) |
|
|
173
|
+
| `complexity <file>` | branch count per function, hottest first |
|
|
174
|
+
| `loc <file>` | lines/code/blank/comment/function stats |
|
|
175
|
+
| `docstrings <file>` | defs missing docstrings |
|
|
176
|
+
| `explain <file>` | syntax error with source lines shown |
|
|
177
|
+
| `shebangs <dir>` | sweep tree, validate every shebang |
|
|
178
|
+
| `deps <file>` | third-party imports as requirements list |
|
|
179
|
+
| `callmap <file>` | who-calls-whom per function |
|
|
180
|
+
| `longest <file>` | functions ranked by length |
|
|
181
|
+
| `excepts <file>` | bare/broad except handlers + swallows |
|
|
182
|
+
| `secrets <file>` | hardcoded credential patterns — file, line and pattern kind reported, values redacted by default; `--show-secrets` prints the values (deliberate opt-in) |
|
|
183
|
+
| `mainguard <file>` | has `__main__` guard? |
|
|
184
|
+
| `globals <file>` | module-level mutable state audit |
|
|
185
|
+
| `magic <file>` | suspicious numeric literals |
|
|
186
|
+
| `compare <a> <b>` | structural symbol diff of two files |
|
|
187
|
+
| `tree <dir>` | directory aggregate summary |
|
|
188
|
+
| `score <file>` | composite health score 0–100 |
|
|
189
|
+
|
|
190
|
+
## Read Wizard — `read_wizard`, read-only mode policy engine (3)
|
|
191
|
+
|
|
192
|
+
| Command | What it does |
|
|
193
|
+
|---|---|
|
|
194
|
+
| `check "<raw shell command>"` | verdict on a shell command: ALLOW / DENIED |
|
|
195
|
+
| `verbs` | dump the allow/deny tables |
|
|
196
|
+
| `law` | print the READ LAW alone |
|
|
197
|
+
|
|
198
|
+
Exit: 0 = allow · 1 = denied · 2 = usage error.
|
|
199
|
+
|
|
200
|
+
## Rust Wizard — `rust_wizard`, Rust project checker (10)
|
|
201
|
+
|
|
202
|
+
| Command | What it does |
|
|
203
|
+
|---|---|
|
|
204
|
+
| `check <file.rs\|dir>` | check a Rust file or project directory |
|
|
205
|
+
| `build <crate-dir>` | cargo check a crate directory |
|
|
206
|
+
| `run <crate-dir>` | build and run the crate's binary |
|
|
207
|
+
| `test <crate-dir>` | cargo test |
|
|
208
|
+
| `clippy <crate-dir>` | cargo clippy lints |
|
|
209
|
+
| `fmt <crate-dir>` | cargo fmt --check (reports drift only, never reformats) |
|
|
210
|
+
| `doc <crate-dir>` | cargo doc --no-deps |
|
|
211
|
+
| `clean <crate-dir>` | cargo clean (removes the crate's target/ only) |
|
|
212
|
+
| `law` | print the RUST LAW alone |
|
|
213
|
+
| `version` | print the version |
|
|
214
|
+
|
|
215
|
+
## Tmux Wizard — `tmux_wizard`, tmux session manager (10)
|
|
216
|
+
|
|
217
|
+
| Command | What it does |
|
|
218
|
+
|---|---|
|
|
219
|
+
| `new <name> [dir]` | create session (default cwd) |
|
|
220
|
+
| `attach <name>` | join session |
|
|
221
|
+
| `kill <name>` | destroy session |
|
|
222
|
+
| `list` | names of live sessions |
|
|
223
|
+
| `census` | health of every session |
|
|
224
|
+
| `rename <old> <new>` | rename session |
|
|
225
|
+
| `capture <name> [lines]` | print a pane's recent output (read-only) |
|
|
226
|
+
| `detach <name>` | detach clients; the session keeps running |
|
|
227
|
+
| `law` | print the TMUX LAW alone |
|
|
228
|
+
| `version` | print the version |
|
|
229
|
+
|
|
230
|
+
## Todo Wizard — `todo_wizard`, todo wizard (11)
|
|
231
|
+
|
|
232
|
+
| Command | What it does |
|
|
233
|
+
|---|---|
|
|
234
|
+
| `add <text>` | add a task (default priority normal) |
|
|
235
|
+
| `list` | list all tasks |
|
|
236
|
+
| `done <id>` | complete a task |
|
|
237
|
+
| `undo <id>` | reopen a completed task |
|
|
238
|
+
| `note <id> <text>` | append a progress note to a task |
|
|
239
|
+
| `oldest` | show the stalest pending task |
|
|
240
|
+
| `overdue [days]` | pending tasks older than N days (default 7) |
|
|
241
|
+
| `archive-done` | move completed tasks to archive |
|
|
242
|
+
| `rm <id>` | remove a task |
|
|
243
|
+
| `stats` | JSON summary |
|
|
244
|
+
| `export` | full JSON dump |
|
|
245
|
+
|
|
246
|
+
## Write Wizard — `write_wizard`, the consent wall for file writes (22)
|
|
247
|
+
|
|
248
|
+
| Command | What it does |
|
|
249
|
+
|---|---|
|
|
250
|
+
| `propose <path>` | stage content (reads stdin) in quarantine |
|
|
251
|
+
| `preview <path>` | gate + diff the staged draft vs disk |
|
|
252
|
+
| `commit <path>` | ask Governor consent, write, verify |
|
|
253
|
+
| `pending` | list quarantined drafts |
|
|
254
|
+
| `law` | print the WRITE LAW alone |
|
|
255
|
+
| `status <path>` | draft state: bytes, age, target |
|
|
256
|
+
| `diff <path>` | disk vs draft diff alone |
|
|
257
|
+
| `verify <path>` | gate + verification, zero consent |
|
|
258
|
+
| `explain <path>` | would-commit verdict with reasons |
|
|
259
|
+
| `discard <path>` | burn a draft ('y'-gated, journaled) |
|
|
260
|
+
| `guard` | gate sweep over every pending draft |
|
|
261
|
+
| `audit` | quarantine census: drafts, orphans |
|
|
262
|
+
| `ledger` | full write journal |
|
|
263
|
+
| `history <path>` | journal filtered to one target |
|
|
264
|
+
| `stats` | counts: staged, written, refused |
|
|
265
|
+
| `protect <path>` | forbid writes — absolute refusal |
|
|
266
|
+
| `unprotect <path>` | lift a protection (Governor only) |
|
|
267
|
+
| `protected` | list protected paths |
|
|
268
|
+
| `backups` | list pre-write safety copies |
|
|
269
|
+
| `rollback <path>` | restore from backup ('y'-gated) |
|
|
270
|
+
| `purge-old <days>` | burn drafts older than N days ('y'-gated) |
|
|
271
|
+
| `law-digest` | sha256 of WRITE LAW (drift detection) |
|
|
272
|
+
|
|
273
|
+
Exit codes: 0 ok · 1 refused/failed · 2 usage error.
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## Inside the Godfather Wizard's REPL — 39 slash command forms
|
|
278
|
+
|
|
279
|
+
From the REPL's own `/help`. Every slash dispatches inside the
|
|
280
|
+
box: the truth slashes are served by the Godfather Wizard's absorbed
|
|
281
|
+
senses, in-house; `/fix` and `/heal` run the Godfather Wizard's own heal
|
|
282
|
+
chain (staging only); `/models` answers from the configured
|
|
283
|
+
seats. Plain (non-slash) text tries the deterministic router
|
|
284
|
+
first — read-class and staging routes run free, a write-class
|
|
285
|
+
route asks twice before executing — and reaches the model
|
|
286
|
+
oracle only when unmapped and a seat is actually serving;
|
|
287
|
+
seatless unmapped text is answered "out of scope".
|
|
288
|
+
|
|
289
|
+
### The codegen suite — model proposals, human consent
|
|
290
|
+
|
|
291
|
+
Four model-only modes inherit devrepl's per-mode shape: each
|
|
292
|
+
mode has its own system prompt and may have its own model.
|
|
293
|
+
Assignments live in `~/.godfather/models.json` under `default`,
|
|
294
|
+
`brainstorm`, `build`, `debug`, `diff`, and `audit`; a task uses
|
|
295
|
+
its own assignment first, then `default`, then the live roster
|
|
296
|
+
pick. One model can therefore run everything, or the user can
|
|
297
|
+
assign a different model per task. An assigned model that is
|
|
298
|
+
not serving is reported honestly and is never silently replaced.
|
|
299
|
+
With no live seat, each codegen slash gives one plain line and
|
|
300
|
+
changes nothing.
|
|
301
|
+
|
|
302
|
+
An assignment is a seat. A bare name (`llama3.2:1b`) is an
|
|
303
|
+
Ollama model and must be in the live roster. A `provider:model`
|
|
304
|
+
name (`anthropic:claude-sonnet-4-5`) seats that model at one of
|
|
305
|
+
the five cloud providers below, and is configured when the
|
|
306
|
+
provider's key is in the environment. A cloud seat whose key is
|
|
307
|
+
missing is no seat at all, and the answer names the missing
|
|
308
|
+
variable. Every model-authored proposal names its seat:
|
|
309
|
+
`seat: <provider> · <model>`.
|
|
310
|
+
|
|
311
|
+
The model authors complete content, but it never acts on its
|
|
312
|
+
own. `/build` and `/debug` show the full unified diff, stage the
|
|
313
|
+
exact proposal through the Write Wizard, ask twice — a plain yes, then
|
|
314
|
+
a typed confirmation naming the file — and only then land it
|
|
315
|
+
through the Write Wizard's commit and journal a `CODEGEN` event. There is
|
|
316
|
+
no auto mode. `/diff` is review-only: it stages nothing and asks
|
|
317
|
+
nothing, and remembers the proposal for a later `/build` or
|
|
318
|
+
`/debug` with the same path and instruction. `/brainstorm` is
|
|
319
|
+
conversation only — its tool channel is off, and a `TOOL:` line
|
|
320
|
+
from the seat is treated as text.
|
|
321
|
+
|
|
322
|
+
The `/diff` token has two forms. `/diff <file-a> <file-b>` —
|
|
323
|
+
where the second argument is another file — remains the Diff Wizard's
|
|
324
|
+
comparison. The codegen review form is `/diff <path>
|
|
325
|
+
<instruction...>`: longer instructions are always codegen, and
|
|
326
|
+
a one-word instruction is codegen when it does not name a
|
|
327
|
+
second file.
|
|
328
|
+
|
|
329
|
+
### Providers — six seats
|
|
330
|
+
|
|
331
|
+
The toolkit is local-first, and Ollama is the seat that ships
|
|
332
|
+
in the box: a model on your own machine, no key, nothing
|
|
333
|
+
leaving it. The five cloud providers are your opt-in — each is
|
|
334
|
+
seated only with your own API key, read from your environment
|
|
335
|
+
at call time:
|
|
336
|
+
|
|
337
|
+
| Provider id | Display name | Key environment variable | Endpoint host |
|
|
338
|
+
|---|---|---|---|
|
|
339
|
+
| `ollama` | Ollama | — (local, no key) | `127.0.0.1:11434` |
|
|
340
|
+
| `meta` | Meta (Muse) | `MODEL_API_KEY` (fallback `META_API_KEY`) | `api.meta.ai` |
|
|
341
|
+
| `anthropic` | Anthropic | `ANTHROPIC_API_KEY` | `api.anthropic.com` |
|
|
342
|
+
| `openai` | OpenAI | `OPENAI_API_KEY` | `api.openai.com` |
|
|
343
|
+
| `google` | Google | `GEMINI_API_KEY` (fallback `GOOGLE_API_KEY`) | `generativelanguage.googleapis.com` |
|
|
344
|
+
| `deepseek` | DeepSeek | `DEEPSEEK_API_KEY` | `api.deepseek.com` |
|
|
345
|
+
|
|
346
|
+
The mechanism, stated plainly: when a cloud seat is used, the
|
|
347
|
+
prompts — and, for `/build`, `/debug`, and `/diff`, the file
|
|
348
|
+
contents involved — are sent to that provider over HTTPS.
|
|
349
|
+
That is what a cloud seat *is*; nothing is sent when the seat
|
|
350
|
+
is Ollama, and no cloud call happens until you assign one.
|
|
351
|
+
Keys live only in your environment: they are never stored in
|
|
352
|
+
the Godfather Wizard's bank, never journaled, and never printed —
|
|
353
|
+
`godfather_wizard models` reports only whether a key is set.
|
|
354
|
+
For a cloud seat, "configured" means the key is present; the
|
|
355
|
+
first real call is the proof the seat works, and its errors
|
|
356
|
+
come back as honest lines (status and the provider's message),
|
|
357
|
+
never tracebacks. [PROVIDERS.md](PROVIDERS.md) is the setup
|
|
358
|
+
guide: where each key comes from, and how to set up local
|
|
359
|
+
models with Ollama.
|
|
360
|
+
|
|
361
|
+
| Slash | Dispatches to |
|
|
362
|
+
|---|---|
|
|
363
|
+
| `/truth` | `godfather_wizard` brief (internal senses) |
|
|
364
|
+
| `/ls` | `godfather_wizard` listing (internal senses) |
|
|
365
|
+
| `/read` | `godfather_wizard` read (internal senses) |
|
|
366
|
+
| `/pycheck` | `python_wizard` check |
|
|
367
|
+
| `/fix` | `godfather_wizard` heal (`debug_wizard` audit → propose, staging only) |
|
|
368
|
+
| `/heal` | `godfather_wizard` heal (`debug_wizard` audit → propose, staging only) |
|
|
369
|
+
| `/todo` | `todo_wizard` add |
|
|
370
|
+
| `/todos` | `todo_wizard` list |
|
|
371
|
+
| `/tasks` | `todo_wizard` list |
|
|
372
|
+
| `/diff <file-a> <file-b>` | `diff_wizard` files (legacy two-file comparison form) |
|
|
373
|
+
| `/models` | `godfather_wizard` models (live roster + per-task assignments) |
|
|
374
|
+
| `/brainstorm [words]` | codegen brainstorm mode — model conversation with the tool channel off; `/brainstorm end` leaves |
|
|
375
|
+
| `/build <path> <instruction...>` | codegen build — the seat proposes complete content; diff → `write_wizard` staging → double ask → `write_wizard` commit |
|
|
376
|
+
| `/debug <path> [words]` | codegen debug — the seat receives the file plus `python_wizard` check context for Python files; same diff and double-ask landing as `/build` |
|
|
377
|
+
| `/diff <path> <instruction...>` | codegen review — show the seat's proposed diff only; stage nothing, ask nothing, remember the proposal |
|
|
378
|
+
| `/banner` | `banner_wizard` |
|
|
379
|
+
| `/codeguard` | `codeguard_wizard` |
|
|
380
|
+
| `/json` | `json_wizard` |
|
|
381
|
+
| `/rust` | `rust_wizard` |
|
|
382
|
+
| `/tmux` | `tmux_wizard` |
|
|
383
|
+
| `/write` | `write_wizard` |
|
|
384
|
+
| `/verbs` | `read_wizard` verbs |
|
|
385
|
+
| `/audit` | `debug_wizard` audit |
|
|
386
|
+
| `/diag` | `debug_wizard` classify |
|
|
387
|
+
| `/bins` | `godfather_wizard` symlinks (internal senses) |
|
|
388
|
+
| `/history` | `godfather_wizard` history |
|
|
389
|
+
| `/stats` | `godfather_wizard` stats |
|
|
390
|
+
| `/routes` | `godfather_wizard` routes |
|
|
391
|
+
| `/fleet` | `godfather_wizard` fleet |
|
|
392
|
+
| `/law` | `godfather_wizard` law |
|
|
393
|
+
| `/help` | `godfather_wizard` help |
|
|
394
|
+
| `/status` | `godfather_wizard` status |
|
|
395
|
+
| `/census` | `godfather_wizard` census |
|
|
396
|
+
| `/voices` | pick voice (numbered dropdown) |
|
|
397
|
+
| `/model` | pick model (numbered dropdown) |
|
|
398
|
+
| `/more-commands` | full fleet arsenal (all citizens) |
|
|
399
|
+
| `/wiz <name> [args]` | run any installed wizard by name |
|
|
400
|
+
| `/quit`, `/exit` | leave the REPL |
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
*If a wizard's help and this page ever disagree, the help is
|
|
405
|
+
the authority — run `<wizard> --help` and trust it.*
|