Skip to main content
Every praisonai gateway command resolves its config through one canonical order, so onboard, start, doctor, test, status, send, and channels never look at different files.

Quick Start

1

Onboard once

2

Start with no --config

start prints the file it picked before binding, so you always know which config is live.

How It Works

Resolution walks a fixed precedence: an explicit --config always wins, then the working-dir config, then the onboarded home config, then the legacy alias. Discovery works even without the optional praisonai-code package installed — the home fallback is a plain filesystem convention, not owned by any one package.

Configuration Options

Two environment variables steer discovery when the defaults don’t fit.

Common Patterns

start with no config found

When nothing is discovered, start prints an actionable hint and exits 78 instead of silently starting channel-less:

Single-agent mode skips channel discovery

Pass --agents <path> to run one agent with no channel config — discovery is skipped:

Diagnostics use the same file start binds

doctor, test, status, send, and channels default --config to a gateway.yaml sentinel. Left at the default, they run the same discovery order, so a doctor run inspects exactly what start would bind:

Best Practices

praisonai onboardpraisonai gateway start is the happy path. start discovers the onboarded config and prints Using gateway config: <path> so you always see which file is live.
A ./bot.yaml in the working dir wins over the home config (precedence 2). Commit it to keep a project’s gateway config alongside its code.
Set PRAISONAI_BOT_CONFIG (or PRAISONAI_HOME) to run multiple onboarded profiles from one machine without passing --config every time.
An exit 78 from start means no config was found — run praisonai onboard or pass --config. The installed daemon units treat 78 as do-not-restart, so a missing config won’t loop the service.

Gateway CLI

Every gateway command, its flags, and the discovery order in context

Onboarding

Writes the ~/.praisonai/bot.yaml that discovery finds

Config Migration

Start-time config_version validation on the discovered config

Exit Codes

Exit 78 — the do-not-restart contract when no config is found