Skip to main content
praisonai init creates a working .praisonai/ project — config, a starter agent, a starter command, and a starter tool — so the next commands you type already run.

Quick Start

1

Scaffold the project

This writes four files under .praisonai/ — skipping any that already exist.
2

Run the scaffolded agent

3

Run the scaffolded command

How It Works

Project vs global

Flags

Scaffolded files

Scaffolded model is provider-aware

praisonai init reads your available provider credentials (OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, GOOGLE_API_KEY, GROQ_API_KEY, COHERE_API_KEY, OLLAMA_HOST) and writes the matching default model into both config.yaml and agents/assistant.md. Falls back to gpt-4o-mini when no credential is detected. This choice is not persisted as your recent model — subsequent praisonai run invocations resolve independently. See Models → Provider Auto-Detection for the full credential-to-model precedence table. config.yaml — project-wide defaults:
The model: value shown below (gpt-4o-mini) is the terminal fallback. With only ANTHROPIC_API_KEY set, the scaffolded model: is anthropic/claude-3-5-sonnet-latest; with only GEMINI_API_KEY, it is gemini/gemini-1.5-flash. See Models → Provider Auto-Detection for the full precedence.
The # yaml-language-server: line enables editor autocomplete and inline error highlighting in VS Code (YAML extension) and other LSP-aware editors. The nested agent: / output: shape is exactly what ConfigResolver reads — flat top-level model: / output: keys will now produce a warning. agents/assistant.md — ready-to-run starter agent:
The model: field is written with the provider-detected default (same logic as config.yaml above). The value shown here is the terminal fallback.
commands/review.md — starter command using $ARGUMENTS and @file:
tools/example.py — commented @tool starter, auto-discovered on run:
Uncomment the stub and pass --allow-local-tools (or set PRAISONAI_ALLOW_LOCAL_TOOLS=true), then every praisonai run in this project auto-loads example.greet. See Project-local tools for discovery and safety rules.
After a successful praisonai init, the CLI also prints a one-line opt-in reminder:

Common Patterns

Scaffold a fresh project

Re-init after editing a file

praisonai init is idempotent — it skips files that already exist. To overwrite with the original starters:

Set up personal shortcuts

Agents and commands land in ~/.praisonai/ and are available in every project. Project-level definitions override global ones on name collision.

Best Practices

Check in .praisonai/agents/, .praisonai/commands/, and .praisonai/tools/ so the whole team shares the same agents, commands, and tools without any extra setup. Project-local tools still require each teammate to pass --allow-local-tools (or set PRAISONAI_ALLOW_LOCAL_TOOLS=true) before they auto-load.
Use --global for shortcuts that are specific to you. Team-shared agents belong in the project directory — project files override global on name collision.
The scaffolded files match the exact shape CustomDefinitionsDiscovery parses: frontmatter fields for agents, $ARGUMENTS / @file substitutions for commands. Keep that structure when customising.
--force overwrites existing files without prompting. Commit or back up your edits first.

Custom Agents, Commands & Tools

Agent frontmatter, command templates, and project-local tool discovery

Agent CLI

List and inspect custom agents

Command CLI

List and preview custom commands

Config CLI

Manage project and global configuration