Every command Grug understands, how to use them, and what they do.
| Command | Syntax | What It Does |
|---|---|---|
/mission | /mission <text> | Send input through the full AI pipeline (ATP → scan → vote → orchestrate → generate). This is how you ask Grug anything. |
/brainstorm | /brainstorm <text> | Same as /mission but with heavy scoped jitter — far-jump before snap back — to escape local minima. Use when Grug is stuck in a rut. |
/explicit | /explicit <cmd> [<node_id>] <text> | Force a specific action command on a specific node. Bypasses the vote pipeline entirely. Example: /explicit reason [node_42] why is the sky blue |
/answer | /answer <text> | Resolve hippocampal strain with user-supplied structure. When the MLP flags high strain (can't fit input into existing knowledge), you can feed it an answer directly. |
/antiAnswer | /antiAnswer <text> | Suppress strain-causing input. Opposite of /answer — tells Grug to stop trying to fit a particular pattern. |
/pin | /pin <text> | Pin text to the memory cave wall. Pinned text stays in context permanently (not subject to coinflip eviction). |
Examples:
/mission What is photosynthesis?
/mission Why do birds migrate, and when do they leave?
/brainstorm tell me something I haven't heard before
/explicit explain [node_7] how does mitosis work
/answer Birds use magnetic navigation to find their route
/pin The user's name is Daeg
| Command | Syntax | What It Does |
|---|---|---|
/right | /right | Reward the last response's contributors. Tiered: locked-in (sure) voters get the biggest boost. |
/wrong | /wrong | Penalize the last response's contributors. Suppresses the nodes that led to the bad answer. |
/aimlRight | /aimlRight | Reward specifically the AIML node tribe contributors from last response. |
/aimlWrong | /aimlWrong | Penalize specifically the AIML node tribe contributors from last response. |
Examples:
/mission What causes tides?
/right ← that was a good answer, reinforce it
/mission What causes tides?
/wrong ← that was wrong, punish those nodes
| Command | Syntax | What It Does |
|---|---|---|
/grow | /grow <lobe_id> <json_packet> | Plant node(s) into a lobe. Use - as lobe_id for unassigned pool. |
/addRule | /addRule <rule text> [prob=0.0-1.0] | Add a stochastic orchestration rule. Available tags: {MISSION}, {PRIMARY_ACTION}, {SURE_ACTIONS}, {UNSURE_ACTIONS}, {ALL_ACTIONS}, {CONFIDENCE}, {NODE_ID}, {MEMORY}, {LOBE_CONTEXT} |
Single node grow:
/grow biology {"pattern":"photosynthesis","action_packet":"explain","data":{"response":"Plants convert light energy into chemical energy using chlorophyll","system_prompt":"Grug speaks plainly."}}
Multi node grow:
/grow biology {"nodes":[{"pattern":"migration","action_packet":"explain","data":{"response":"Seasonal movement of animals"}},{"pattern":"navigation","action_packet":"reason","data":{"response":"Using magnetic fields and stars to find direction"}}]}
If data.system_prompt is absent, it defaults to "Grug speaks plainly."
Add a rule:
/addRule When {PRIMARY_ACTION} is reason, prefer analytical skeletons 0.7
/addRule If {CONFIDENCE} < 0.4, use terse frame 0.5
When Grug processes your input, the ActionTonePredictor classifies it into one of these action families. Each family has multiple verb aliases that map to the same handler. You can also trigger them directly with /explicit.
| Family | Verbs | Throttle | Behavior |
|---|---|---|---|
| reason | reason, analyze, ponder, calculate | 2.0 (rel) / 0.5 (no rel) | Logical argument chains. Demands relational support. |
| greet | greet, welcome, smile, laugh | 0.5 | Acknowledgment, welcoming. Permissive matching. |
| survival | flee, hide, fight | 1.0 | Danger response. Only fires on extremely high-confidence matches. |
| explain | explain, clarify, describe, define, elaborate | 0.7 | Clarification, elaboration. Demands relational support. |
| empathy | comfort, support, validate, acknowledge, reassure | 0.5 | Emotional alignment. Permissive matching. |
| warning | alert, warn, caution, notify, flag | 1.0 | Urgent alerts. Only fires on extremely high-confidence matches. |
| temporal | recollect, recall, reminisce, chronicle, foretell, anticipate | 0.8 | Time-framed answers. Uses temporal skeletons (before/after/when/once). |
| meta | analyze, examine, inspect, parse, deconstruct | 0.7 | Structural/deconstructive answers. Uses analytic skeletons. |
Trigger via /explicit:
/explicit explain [node_3] how does the water cycle work
/explicit comfort [node_12] I'm feeling lost
/explicit recollect [node_8] when did this happen
Grug wraps every answer in a skeleton — a preamble/postamble that sets the tone. Skeletons are selected based on the frame (from the TonalJudge) and the action (from ATP). Both pools are checked; action pool takes priority.
| Frame | When Used | Variants |
|---|---|---|
| warm | Friendly, supportive tone | Hello — {JOIN}, Hey there — {JOIN}, Welcome back — {JOIN}, Glad you're here. {JOIN}, {JOIN} — good to see you., Right on. {JOIN}, Warm vibes. {JOIN} |
| exploratory | Curious, open-ended questions | Here is the picture: {JOIN}, Let me lay it out: {JOIN}, The shape of it: {JOIN}, So here's what I see — {JOIN}, {JOIN} — that's the landscape., Zooming out: {JOIN}, Stepping back — {JOIN} |
| imperative | Urgent, direct commands | {JOIN}, Listen. {JOIN}, Now: {JOIN}, {JOIN}. No delay., Action: {JOIN}, Here's what to do — {JOIN} |
| contemplative | Reflective, thoughtful | Let me think with you. {JOIN}, Mulling it over — {JOIN}, Sit with this: {JOIN}, Hmm. {JOIN}, Turning it over — {JOIN}, A thought: {JOIN}, {JOIN} — that's where my head is. |
| de-escalating | Hostile input → calm response | I hear that. {JOIN}, That's valid. {JOIN}, Fair point — {JOIN}, No argument there. {JOIN}, Understood. {JOIN}, Makes sense. {JOIN}, Right — {JOIN} |
| terse | Low coherence, brief | {CLAIM}., {CLAIM}, Short answer: {CLAIM}. |
| plain | Neutral, unmarked | {JOIN}, Simply: {JOIN}, The gist: {JOIN}, {JOIN}. That's it. |
| temporal | Time-related questions | Before — {JOIN}, After — {JOIN}, When — {JOIN}, Once, {JOIN}, In time — {JOIN}, Before and after — {JOIN}, Then came — {JOIN}, That was then — {JOIN} |
| analytic | Meta/structural questions | Breaking it down — {JOIN}, The structure of it — {JOIN}, Under the surface — {JOIN}, What holds it together — {JOIN}, Looking at the machinery — {JOIN}, The parts and the whole — {JOIN}, Unpacking that — {JOIN}, Taking it apart — {JOIN} |
| Action | Variants |
|---|---|
| greet | Hello — here is what matters: {JOIN}, Hey — the key thing: {JOIN}, Welcome — here's the deal: {JOIN}, Hi there — what counts: {JOIN}, Greetings — the takeaway: {JOIN}, Good to see you — {JOIN}, Well met — {JOIN} |
| flee | A concern worth raising: {JOIN}, Something to watch for: {JOIN}, Red flag — {JOIN}, Heads up — {JOIN}, Worth being careful about: {JOIN}, Caution light: {JOIN} |
| comfort | To acknowledge what matters here: {JOIN}, What I'm hearing: {JOIN}, This lands: {JOIN}, That resonates — {JOIN}, I see it — {JOIN}, Carrying that weight: {JOIN}, Sitting with you on this: {JOIN} |
| alert | A caution: {JOIN}, Heads up — {JOIN}, Flagging this: {JOIN}, Watch out — {JOIN}, Worth noting: {JOIN}, A signal: {JOIN} |
| explain | Here is the picture: {JOIN}, Let me break it down: {JOIN}, The way it works: {JOIN}, So the deal is: {JOIN}, Making it clear: {JOIN}, Zooming in — {JOIN}, The shape of it: {JOIN} |
| reason | Thinking it through: {JOIN}, Working it out — {JOIN}, Here's my reasoning: {JOIN}, Let me trace the logic: {JOIN}, Following the thread — {JOIN}, The argument: {JOIN}, Connecting the dots: {JOIN} |
| prose | {JOIN} (stands alone, no preamble) |
| temporal | In the before-times — {JOIN}, What came before — {JOIN}, When it happened — {JOIN}, The sequence of events — {JOIN}, From then to now — {JOIN}, Once there was — {JOIN}, In Grug's memory of time — {JOIN}, Before the now — {JOIN} |
| analytic | Deconstructing — {JOIN}, Here's the anatomy — {JOIN}, The architecture underneath — {JOIN}, Taking it to pieces — {JOIN}, What makes it tick — {JOIN}, The mechanism inside — {JOIN}, Peeling back the layers — {JOIN}, Disassembling — {JOIN} |
Inside every skeleton, the {JOIN} placeholder gets replaced by a claim-support assembly joined by a connector. The connector determines the relationship between the claim and its support:
| Connector | Weight | Template | Example |
|---|---|---|---|
| Classic period | 30% | {CLAIM}.{SUPPORT} | "Photosynthesis converts light to energy.Plants need chlorophyll for this." |
| Em-dash | 12% | {CLAIM} — {SUPPORT} | "Photosynthesis converts light to energy — plants need chlorophyll for this" |
| Semicolon | 10% | {CLAIM}; {SUPPORT} | "Photosynthesis converts light to energy; plants need chlorophyll for this" |
| Comma-and | 10% | {CLAIM}, and {SUPPORT} | "Photosynthesis converts light to energy, and plants need chlorophyll for this" |
| Because | 10% | {CLAIM}, because {SUPPORT} | "Photosynthesis converts light to energy, because plants need chlorophyll for this" |
| Support-first-so | 10% | {SUPPORT}, so {CLAIM} | "Plants need chlorophyll for this, so photosynthesis converts light to energy" |
| Support-first-em-dash | 8% | {SUPPORT} — {CLAIM} | "Plants need chlorophyll for this — photosynthesis converts light to energy" |
| Period-space | 10% | {CLAIM}. {SUPPORT} | "Photosynthesis converts light to energy. Plants need chlorophyll for this" |
Grug auto-adjusts these weights over time via _reflect_on_output() and _pick_connector_adaptive() — if a connector is overused, it gets suppressed for a few cycles.
| Command | Syntax | What It Does |
|---|---|---|
/newLobe | /newLobe <id> <subject> | Create a new subject lobe. Max 64 lobes, 20,000 nodes each. |
/nameLobe | /nameLobe <lobe_id> <name> | Give a lobe a human-readable name. |
/connectLobes | /connectLobes <id_a> <id_b> | Link two lobes bidirectionally. Enables lobe cascade expansion during scan. |
/lobes | /lobes | List all lobes with node counts. |
/tableStatus | /tableStatus <lobe_id> | Show hash table chunk sizes for a lobe. |
/tableMatch | /tableMatch <lobe_id> <chunk> <pattern> | Pattern-activate entries in a specific chunk. |
Examples:
/newLobe biology "life sciences"
/newLobe history "historical events"
/nameLobe biology "Living Things"
/connectLobes biology history
/lobes
/tableStatus biology
| Command | Syntax | What It Does |
|---|---|---|
/addVerb | /addVerb <verb> <class> | Add a verb to a relation class. |
/addRelationClass | /addRelationClass <name> | Create a new verb class bucket. |
/addSynonym | /addSynonym <canonical> <alias> | Register a synonym normalization (alias → canonical). |
/addSeedSynonym | /addSeedSynonym <canonical> <syn1 syn2 ...> | Register a thesaurus seed group (multiple synonyms at once). |
/addAntiMatch | /addAntiMatch <pattern> [NONJITTER] | Add an anti-match confidence drain node. Optional NONJITTER flag = no perturbation. |
/listVerbs | /listVerbs | Show all verb classes + synonyms. |
/thesaurus | /thesaurus <w1> | <w2> | Dimensional similarity comparison between two words. |
/thesaurus | /thesaurus <w1> | <w2> :: <ctx1> :: <ctx2> | Same but with context lists. |
Examples:
/addRelationClass movement
/addVerb migrate movement
/addVerb fly movement
/addSynonym automobile car
/addSeedSynonym big large huge vast great
/addAntiMatch "birds don't migrate"
/thesaurus car | automobile
/thesaurus happy | glad :: emotion :: feeling
/listVerbs
| Command | Syntax | What It Does |
|---|---|---|
/negativeThesaurus add | /negativeThesaurus add <word> [--reason <text>] | Add a word to the inhibition filter. Optional reason. |
/negativeThesaurus remove | /negativeThesaurus remove <word> | Remove a word from the inhibition filter. |
/negativeThesaurus list | /negativeThesaurus list | Show all inhibited words. |
/negativeThesaurus check | /negativeThesaurus check <word> | Check if a word is inhibited. |
/negativeThesaurus flush | /negativeThesaurus flush | Clear all inhibition entries. |
Examples:
/negativeThesaurus add stupid --reason "hostile language filter"
/negativeThesaurus check stupid
/negativeThesaurus list
/negativeThesaurus remove stupid
| Command | Syntax | What It Does |
|---|---|---|
/aimlStatus | /aimlStatus | Show AIML tribe status. |
/aimlList | /aimlList <lobe_id> | List AIML nodes in a lobe. |
/aimlAdd | /aimlAdd <lobe_id> <node_id> <template> | Add an AIML template node to a lobe. |
/aimlRemove | /aimlRemove <lobe_id> <node_id> | Remove an AIML node from a lobe. |
/aimlCycle | /aimlCycle | Show current AIML cycle info. |
/aimlPhagy | /aimlPhagy | Run phagy sweep on AIML graves (cleanup dead nodes). |
Examples:
/aimlStatus
/aimlList biology
/aimlAdd biology greet_01 "Hello! How can Grug help?"
/aimlRemove biology greet_01
| Command | Syntax | What It Does |
|---|---|---|
/nodeAttach | /nodeAttach <lobe> <target> <id> <pattern> ... | Attach up to 4 nodes to a target with firing patterns. Confidence JIT-baked at attach time. All nodes must be in same lobe. |
/nodeDetach | /nodeDetach <lobe> <target> <id> | Detach a node from its target. |
/imgnodeAttach | /imgnodeAttach <lobe> <tgt> <id> <b64> [w h] | Attach image node with SDF-based relational fire. Image→SDF conversion at attach time. |
/imgnodeDetach | /imgnodeDetach <lobe> <target> <id> | Detach an image node. |
/attachments | /attachments | Show all node attachments. |
/crystalize | /crystalize <lobe> <target> <attach> | 💎 Mark attachment as sticky/user-locked (bypasses strength-biased coinflip). |
/decrystalize | /decrystalize <lobe> <target> <attach> | 🔓 Remove sticky flag, restore coinflip behavior. |
Examples:
/nodeAttach biology node_0 node_1 "fire on migration topics"
/nodeAttach biology node_0 node_2 "fire on navigation" "fire on seasonal"
/nodeDetach biology node_0 node_1
/imgnodeAttach vision n0 img1 "data:image/png;base64,..." 64 64
/crystalize biology node_0 node_1
/decrystalize biology node_0 node_1
/attachments
| Command | Syntax | What It Does |
|---|---|---|
/mlpStatus | /mlpStatus | Show MLP brain status. |
/mitosisStatus | /mitosisStatus | Show mitosis growth status. |
/growthStatus | /growthStatus | Show growth automaton status. |
/mlpRule add | /mlpRule add <pattern> <text> <key> | Add rule to MLP hash table. |
/mlpRule drop | /mlpRule drop <id> | Remove rule from MLP table. |
/mlpRule list | /mlpRule list | Show all MLP rules. |
/mlpThreshold | /mlpThreshold <n> | Set observer threshold. |
/mlpObserver | /mlpObserver | Show observer store stats. |
Examples:
/mlpStatus
/mitosisStatus
/mlpRule add "big" "large" "size_adjective"
/mlpRule list
/mlpThreshold 3
| Command | Syntax | What It Does |
|---|---|---|
/automaton phase | /automaton phase | Show phase accumulator status. |
/automaton phase threshold | /automaton phase threshold <0.1-0.9> | Set pull threshold. |
/automaton phase surface | /automaton phase surface <0-16> | Set surface bit count (top dimensions surfaced). |
/automaton phase enable | /automaton phase enable | Enable phase pull. |
/automaton phase disable | /automaton phase disable | Disable phase pull. |
/automaton phase reset | /automaton phase reset | Reset phase accumulator. |
/automaton list | /automaton list | List all automatons. |
/automaton register | /automaton register <lobe> <action> <period> | Register a new automaton. |
/automaton remove | /automaton remove <id> | Remove an automaton. |
/automaton maxCap | /automaton maxCap <1-16> | Set max concurrent automatons. |
Examples:
/automaton phase
/automaton phase threshold 0.55
/automaton phase surface 3
/automaton phase enable
/automaton phase reset
/automaton register biology reason 5
/automaton list
| Command | Syntax | What It Does |
|---|---|---|
/vigilance | /vigilance | Show vigilance system status. |
/vigilance enable | /vigilance enable | Enable vigilance dispatch. |
/vigilance disable | /vigilance disable | Disable vigilance dispatch. |
/vigilance threshold | /vigilance threshold <low|med|high|extreme> <float> | Set weight threshold for a vigilance level. |
/vigilance timeout | /vigilance timeout <1.0-30.0> | Set injector timeout in seconds. |
/vigilance feedback | /vigilance feedback <0.0-1.0> | Set injector feedback probability. |
Examples:
/vigilance
/vigilance enable
/vigilance threshold high 0.8
/vigilance timeout 5.0
/vigilance feedback 0.3
| Command | Syntax | What It Does |
|---|---|---|
/decomposer | /decomposer | Show current decomposer config. |
/decomposer addConjunction | /decomposer addConjunction <word> | Add a split conjunction. |
/decomposer removeConjunction | /decomposer removeConjunction <word> | Remove a split conjunction. |
/decomposer addCompound | /decomposer addCompound <leader> <follower> | Add compound pair. |
/decomposer removeCompound | /decomposer removeCompound <leader> <follower> | Remove compound pair. |
/decomposer addQuestion | /decomposer addQuestion <word> | Add question marker. |
/decomposer removeQuestion | /decomposer removeQuestion <word> | Remove question marker. |
/decomposer addCommand | /decomposer addCommand <stem> [form1 form2 ...] | Add command marker + conjugation. |
/decomposer removeCommand | /decomposer removeCommand <stem> | Remove command marker + conjugation. |
/decomposer addConjugation | /decomposer addConjugation <stem> <form1> [form2 ...] | Set conjugation rule. |
/decomposer removeConjugation | /decomposer removeConjugation <stem> | Remove conjugation rule. |
/decomposer setContext | /decomposer setContext <word> | Set context conjunction (default: "and"). |
/decomposer reset | /decomposer reset | Reset to built-in defaults. |
Examples:
/decomposer
/decomposer addConjunction "plus"
/decomposer addQuestion "how"
/decomposer addCommand "tell" tells telling told
/decomposer addConjugation "run" runs running ran
/decomposer setContext "and"
| Command | Syntax | What It Does |
|---|---|---|
/sigil list | /sigil list | Show all registered sigils. |
/sigil add | /sigil add <name> <class> <applies_at> [type=word|number|op|slurp] [lexicon=a,b,c] [promote=true|false] | Add a new sigil to the engine table. |
/sigil remove | /sigil remove <name> | Remove a sigil. |
Sigil classes: &n (lambda noun), &op (lambda operator), &word (lambda word), &rest (lambda rest), &noun (lexicon noun), &mathconst (lexicon math constant), &mathfunc (lexicon math function)
Examples:
/sigil list
/sigil add MATH_PI &mathconst expression type=number lexicon=pi,π promote=true
/sigil remove MATH_PI
| Command | Syntax | What It Does |
|---|---|---|
/saveSpecimen | /saveSpecimen <filepath> | Save full cave state. Supports .json or .gz. Saves: nodes, lobes, lobe tables, Hopfield, rules, messages+pins, verbs, thesaurus, inhibitions, arousal, ID counters, brainstem state, attachments. |
/loadSpecimen | /loadSpecimen <filepath> | Restore full cave state from .json or .gz. |
Examples:
/saveSpecimen my_grug.gz
/saveSpecimen backup.json
/loadSpecimen my_grug.gz
| Command | Syntax | What It Does |
|---|---|---|
/nodes | /nodes | Show all node map status. |
/status | /status | Full system health snapshot (chatter + system). |
/arousal | /arousal <0.0-1.0> | Set eye system arousal level. |
Examples:
/nodes
/status
/arousal 0.7
| Command | Syntax | What It Does |
|---|---|---|
/login | /login <password> | Authenticate as admin. |
/logout | /logout | End admin session. |
/writeSave | /writeSave <filepath> <json> | Append JSON to a save file. Requires admin. Validates JSON before writing. |
These commands are immune-gated — the immune system scans their input before execution. If a pathogen (malicious pattern) is detected, the command is blocked:
/grow,/lobeGrow,/addRule,/pin,/addVerb,/addRelationClass,/addSynonym,/addSeedSynonym,/addAntiMatch,/newLobe,/nameLobe,/connectLobes,/negativeThesaurus add,/loadSpecimen,/nodeAttach,/imgnodeAttach
Exempt (no immune scan): /mission and all read-only commands.
| Command | Syntax | What It Does |
|---|---|---|
/quit | /quit or /exit | Close cave and exit CLI loop. |
# Start Grug, ask a question /mission What is photosynthesis?/wrong
/right
/newLobe biology "life science" /grow biology {"pattern":"cell","action_packet":"explain","data":{"response":"Cells are the basic unit of life"}}
/explicit reason [cell] why do cells divide
/saveSpecimen my_cave.gz
/brainstorm tell me something wild about the ocean
/pin The user is a marine biologist
/status /nodes