CLI Help Panels

Categorised `praisonai –help` — every command grouped into 7 stable, discoverable panels

praisonai --help groups every command into 7 stable panels so you find run, chat, init in seconds instead of scanning ~90 commands.

Diagram

praisonai –help

💻 praisonai –help

🗂️ 7 stable panels

🚀 Get started

💬 Run & chat

💾 Sessions & state

⚙️ Config & setup

🧰 Tools & knowledge

🌐 Serve & integrate

🔬 Advanced

Quick Start

  1. See the panels

    Run --help to see every command sorted into 7 titled panels.

    bash
    praisonai --help

    The everyday path (init → setup → run) sits right at the top:

    text
    ╭─ Get started ─────────────────────────────────╮
    │  init    setup    onboard    doctor    ...    │
    ╰───────────────────────────────────────────────╯
    ╭─ Run & chat ──────────────────────────────────╮
    │  run     chat     code       ui        ...    │
    ╰───────────────────────────────────────────────╯
    ╭─ Sessions & state ────────────────────────────╮
    │  session  checkpoint  memory  todo     ...    │
    ╰───────────────────────────────────────────────╯
    … 4 more panels …
  2. Jump straight into a panel

    Group-level help inherits the same rich rendering.

    bash
    praisonai memory --help
    praisonai skills --help

User Interaction Flow

A beginner used to lose the everyday commands in a ~90-item wall. Now the everyday path is signposted at the top.

Before — one flat panel:

text
Commands:
  agent      agents     app        attach     audit     ...
  (≈90 items in one alphabetical block)

After — 7 panels:

text
╭─ Get started ─────────────────────────────────╮
│  init      setup     onboard   doctor   ...   │
╰───────────────────────────────────────────────╯
╭─ Run & chat ──────────────────────────────────╮
│  run       chat      code      ui       ...   │
╰───────────────────────────────────────────────╯
… 5 more panels …

Where Does Each Command Live?

Every command maps to exactly one panel. Ctrl-F a command name to land in its panel.

Get started

CommandPanel
initGet started
setupGet started
onboardGet started
doctorGet started
modelsGet started
versionGet started

Run & chat

CommandPanel
runRun & chat
chatRun & chat
codeRun & chat
uiRun & chat
tuiRun & chat
callRun & chat
realtimeRun & chat
researchRun & chat
loopRun & chat
agentsRun & chat
agentRun & chat

Sessions & state

CommandPanel
sessionSessions & state
checkpointSessions & state
contextSessions & state
memorySessions & state
todoSessions & state
queueSessions & state
tracesSessions & state
replaySessions & state

Config & setup

CommandPanel
configConfig & setup
authConfig & setup
envConfig & setup
permissionsConfig & setup
rulesConfig & setup
hooksConfig & setup
pathsConfig & setup
portConfig & setup
validateConfig & setup
completionConfig & setup

Tools & knowledge

CommandPanel
toolsTools & knowledge
skillsTools & knowledge
knowledgeTools & knowledge
ragTools & knowledge
indexTools & knowledge
queryTools & knowledge
searchTools & knowledge
templatesTools & knowledge
recipeTools & knowledge
workflowTools & knowledge
mcpTools & knowledge
browserTools & knowledge
commitTools & knowledge
docsTools & knowledge

Serve & integrate

CommandPanel
serveServe & integrate
appServe & integrate
acpServe & integrate
daemonServe & integrate
attachServe & integrate
deployServe & integrate
publishServe & integrate
scheduleServe & integrate
gatewayServe & integrate
botServe & integrate
pairingServe & integrate
identityServe & integrate
kanbanServe & integrate
n8nServe & integrate
flowServe & integrate
dashboardServe & integrate
clawServe & integrate
upServe & integrate
endpointsServe & integrate
githubServe & integrate
mint_linkServe & integrate

Advanced

CommandPanel
debugAdvanced
diagAdvanced
lspAdvanced
obsAdvanced
langfuseAdvanced
langextractAdvanced
profileAdvanced
benchmarkAdvanced
evalAdvanced
testAdvanced
examplesAdvanced
batchAdvanced
trainAdvanced
trackerAdvanced
auditAdvanced
managedAdvanced
pluginsAdvanced
sandboxAdvanced
registryAdvanced
backendsAdvanced
packageAdvanced
commandAdvanced
standardiseAdvanced
standardizeAdvanced

How Grouping Is Applied

Each command is resolved lazily, then tagged with its panel on first use.

Diagram
help_categoriesLazyCommandGrouppraisonai CLIUserhelp_categoriesLazyCommandGrouppraisonai CLIUserpraisonai –helpget_command(name)category_for(name)“Run & chat”command tagged with rich_help_panel7 grouped panels

LazyCommandGroup.get_command() resolves each command lazily. If the command’s rich_help_panel is unset, it assigns category_for(name). Because grouping is lazy, no command is imported just to categorise it — the registry stays the source of truth.


Configuration

Panels are code-driven — the single source of truth is help_categories.py.

BehaviourRule
Explicit overrideA command that sets its own rich_help_panel="..." keeps that panel.
Unmapped commandFalls back to Advanced via DEFAULT_CATEGORY — never disappears.
Environment variablesNone. Changing panels means editing help_categories.py.

The 7 panel titles are stable constants:

ConstantPanel title
CATEGORY_GET_STARTEDGet started
CATEGORY_RUN_CHATRun & chat
CATEGORY_SESSIONSSessions & state
CATEGORY_CONFIGConfig & setup
CATEGORY_TOOLSTools & knowledge
CATEGORY_SERVEServe & integrate
CATEGORY_ADVANCEDAdvanced (also DEFAULT_CATEGORY)

Best Practices

Learn the 7 panels once

Every current and future command lives in one of the 7 panels. Memorising the panel titles turns --help into a map you can navigate by muscle memory.

Set rich_help_panel explicitly for custom subcommands

A custom Typer subcommand that sets rich_help_panel="Tools & knowledge" opts into that panel. Leave it unset to inherit the default (Advanced).

Use the exact panel strings

Reference panels with the exact SDK constants — Get started, not Getting Started. Consistent strings keep grouping predictable across tutorials and screencasts.

Rely on panel stability

Panel titles are stable, so it is safe to reference them in documentation, tutorials, and recordings without them shifting between releases.


Related