praisonai init team <name> scaffolds a runnable, YAML-first multi-agent AgentTeam project — edit two YAML files, then python -m <slug>.main.
Quick Start
1
Scaffold
my-research-crew/ project with a my_research_crew Python package.2
Set your API key
3
Run
How It Works
Generated project structure
The package uses a flat layout (no
src/) and config/ lives inside the package. That means python -m my_research_crew.main runs from the project root with no install step.Flags
Slug rules
The project name becomes a valid Python package identifier.- Non-alphanumeric runs collapse to a single underscore, then the name is lower-cased.
- A leading digit is prefixed with
_. - Python keywords and soft keywords are suffixed with
_team(so imports likefrom <slug>.team import ...stay valid). - A name that slugifies to nothing (e.g.
---) raises an error.
What the generated files do
agents.yaml — one entry per agent with name, role, goal, and backstory, plus a top-level process: key (default sequential, or hierarchical).
tasks.yaml — each task has a description, expected_output, agent, and optional context: list. Descriptions use double-brace {{topic}} placeholders, filled at runtime by AgentTeam(variables=…).
team.py — a build_team(variables=None) factory that loads both YAML files, builds Agent instances, wires Tasks to their agents, and returns an AgentTeam.
main.py — the run() entry point that builds the team, passes variables, and prints the result.
.env.example — commented provider credentials (OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY). Copy it to .env and set at least one.
pyproject.toml — optional (skip with --no-pyproject). Uses a flat-layout [tool.setuptools.packages.find] include = ["<slug>*"] so the package installs cleanly.
.gitignore — ignores .env, __pycache__/, *.pyc, and .venv/.
Customise the team
Change roles, add a task, or switch the process — all without touching Python.1
Edit the agents
Open
my_research_crew/config/agents.yaml and change any role, goal, or backstory. Add a new agent by adding another key under agents:.2
Edit the tasks
Open
my_research_crew/config/tasks.yaml and change a description or expected_output. Point a task at an agent with agent: <key> and reference upstream output with a context: list.3
Run again
User interaction flow
Common Patterns
Change the topic without editing YAML
The{{topic}} placeholder is filled from variables in main.py:
Add a third agent
Scaffold with more agents, or add one to the YAML later:Switch to hierarchical process
A manager delegates instead of running tasks in order:process: hierarchical in agents.yaml after scaffolding.
Best Practices
Commit .env.example, not .env
Commit .env.example, not .env
Check in
.env.example so teammates know which credentials to set, and keep the real .env out of git (it is already in the generated .gitignore).Keep task context in sync
Keep task context in sync
When you change a task
description, update any context: entries that reference it so downstream tasks receive the right upstream output.Use --force intentionally
Use --force intentionally
--force overwrites existing files without prompting. Commit or back up your edits first.Prefer editing YAML over team.py
Prefer editing YAML over team.py
team.py is a generic factory. Editing agents.yaml and tasks.yaml keeps it reusable — reach for team.py only when you need tools, memory, or guardrails.Related
Init
Single-agent
.praisonai/ scaffoldAgentTeam
The AgentTeam runtime this scaffold targets
Tasks
Task schema referenced by
tasks.yamlProcess
Sequential vs hierarchical execution
Run
Running scaffolded agents and commands
Custom Agents & Commands
The
.praisonai/ convention
