praisonai init creates a working .praisonai/ project — config, a starter agent, and a starter command — so the next two commands you type already run.
Quick Start
How It Works
| Step | What happens |
|---|---|
| Resolve target | Walks up to the git root (or uses cwd) and sets .praisonai/ as the base |
| Write files | Creates config.yaml, agents/assistant.md, commands/review.md |
| Report | Prints Created <path> or Skipped (already exists, use --force): <path> per file |
| Next steps | Prints the exact praisonai run --agent and praisonai run --command commands you can copy |
Project vs global
Flags
| Flag | Type | Default | Description |
|---|---|---|---|
--global | bool | False | Scaffold the user-global ~/.praisonai/ instead of the project directory |
--force / -f | bool | False | Overwrite existing files (otherwise existing files are skipped) |
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:
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/ and .praisonai/commands/ so the whole team shares the same agents and commands without any extra setup.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
Agent frontmatter fields, command template syntax, and discovery rules
Agent CLI
List and inspect custom agents
Command CLI
List and preview custom commands
Config CLI
Manage project and global configuration

