Default Framework Change (v1.0.0+)

Default framework changed from crewai to praisonai when running YAML files without an explicit framework flag

python
from praisonaiagents import Agent

agent = Agent(name="default-agent", instructions="Use the default agent framework.")
agent.start("What is the current default framework for this agent?")

The default framework changed from crewai to praisonai when running YAML files without specifying an explicit framework.

python
from praisonai import PraisonAI

# No framework= argument — uses 'praisonai' by default
praison = PraisonAI(agent_file="agents.yaml")
result = praison.run()

The user runs a YAML file without framework:; agents execute on the praisonai adapter by default.

Diagram

New Default Framework Flow

No

Yes

👤 User

💻 praisonai agents.yaml

📄 Read YAML

🔍 Framework specified?

⚙️ Default: praisonai

⚙️ Use specified framework

🚀 Run agents

Quick Start

  1. Before (v0.x)

    Running praisonai agents.yaml would fail with error:

    ValueError: Unknown praisonai.framework_adapters plugin: ''.
    Available: ['ag2', 'autogen', 'autogen_v4', 'crewai', 'praisonai']
  2. After (v1.0.0+)

    Running praisonai agents.yaml works out of the box using the praisonai framework:

    bash
    praisonai agents.yaml  # ✅ Uses praisonai framework by default

Agent-Centric Example

python
from praisonai import PraisonAI

# No framework= argument — uses 'praisonai' by default
praison = PraisonAI(agent_file="agents.yaml")
result = praison.run()

Equivalent CLI command:

bash
praisonai agents.yaml

Both produce the same result with no --framework flag required.


Framework Precedence

PraisonAI resolves the framework in this order:

PrioritySourceExample
1CLI flag--framework crewai
2YAML keyframework: crewai
3Registry defaultFrameworkAdapterRegistry.resolve_or_default(None) → pick_default() → praisonai on a standard install

The set of valid framework names is discovered dynamically from the adapter registry — see Framework Adapter Plugins.


How to Keep CrewAI as Default

If you want to continue using CrewAI as your default framework, you have two options:

Option 1: YAML Configuration

yaml
framework: crewai
topic: Your task description
roles:
  # Your agents here

Option 2: CLI Flag

bash
praisonai --framework crewai agents.yaml

User Interaction Flow

Diagram
FrameworkAdapterAgentsGeneratorCLIUserFrameworkAdapterAgentsGeneratorCLIUserpraisonai agents.yamlinitialize()defer adapter creationload YAML fileresolve framework (YAML → default)create adapter (praisonai)execution resultagent output

Best Practices

Pin framework in YAML for team consistency

Add framework: crewai (or your preferred adapter) to shared YAML so every teammate gets the same runtime without passing CLI flags.

Use –framework for one-off overrides

Keep YAML portable and pass --framework crewai only when experimenting with a different adapter.

Verify availability before CI runs

Run praisonai --list-frameworks in CI to confirm the expected adapter is installed before kicking off agent workflows.

Migrate gradually with explicit framework keys

During upgrades, set framework: praisonai explicitly in YAML so behaviour stays predictable even if defaults change again.


Related