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

Quick Start

1

See the panels

Run --help to see every command sorted into 7 titled panels.
praisonai --help
The everyday path (init โ†’ setup โ†’ run) sits right at the top:
โ•ญโ”€ 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.
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:
Commands:
  agent      agents     app        attach     audit     ...
  (โ‰ˆ90 items in one alphabetical block)
After โ€” 7 panels:
โ•ญโ”€ 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.
CommandPanel
initGet started
setupGet started
onboardGet started
doctorGet started
modelsGet started
versionGet started
Any command not in the map falls back to Advanced โ€” nothing is ever hidden from --help.

How Grouping Is Applied

Each command is resolved lazily, then tagged with its panel on first use. 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)
Every command keeps its exact name, flags, and behaviour. Only the rendered --help output changes.

Best Practices

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.
A custom Typer subcommand that sets rich_help_panel="Tools & knowledge" opts into that panel. Leave it unset to inherit the default (Advanced).
Reference panels with the exact SDK constants โ€” Get started, not Getting Started. Consistent strings keep grouping predictable across tutorials and screencasts.
Panel titles are stable, so it is safe to reference them in documentation, tutorials, and recordings without them shifting between releases.

CLI Reference

Full command and flag reference

CLI Dispatcher

How the CLI routes commands

CLI Command Lazy Dispatch

Lazy command resolution for fast startup

Unknown Command Guard

How mistyped commands are caught