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
.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.# 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:
--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
~/.praisonai/ and are available in every project. Project-level definitions override global ones on name collision.
Best Practices
Commit .praisonai/ to git
Commit .praisonai/ to git
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.Keep ~/.praisonai/ personal
Keep ~/.praisonai/ personal
Use
--global for shortcuts that are specific to you. Team-shared agents belong in the project directory — project files override global on name collision.Edit the starter files, don't replace them
Edit the starter files, don't replace them
The scaffolded files match the exact shape
CustomDefinitionsDiscovery parses: frontmatter fields for agents, $ARGUMENTS / @file substitutions for commands. Keep that structure when customising.Use --force carefully
Use --force carefully
--force overwrites existing files without prompting. Commit or back up your edits first.Related
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

