> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration Guide v1.0

> Migrate to the new Agent* prefix naming convention

## Overview

PraisonAI v1.0 introduces a consistent **Agent\*** prefix naming convention for core orchestration classes. This makes the API more intuitive and agent-centric.

<Note>
  **Backward Compatible**: All old names continue to work as silent aliases. No code changes are required for existing projects.
</Note>

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart LR
    subgraph Old["Old Names"]
        AM[AgentManager]
        WF[Workflow]
        APP[AgentAppProtocol]
    end
    subgraph New["New Names (v1.0+)"]
        AT[AgentTeam]
        AF[AgentFlow]
        AOS[AgentOSProtocol]
    end
    AM --> AT
    WF --> AF
    APP --> AOS
    style Old fill:#8B0000,color:#fff
    style New fill:#189AB4,color:#fff
```

## What Changed

<CardGroup cols={2}>
  <Card title="AgentTeam" icon="users">
    Manages a team of agents working together on tasks.

    **Old**: `AgentManager`, `Agents`
  </Card>

  <Card title="AgentFlow" icon="diagram-project">
    Defines step-by-step workflows with routing and patterns.

    **Old**: `Workflow`, `Pipeline`
  </Card>

  <Card title="AgentOSProtocol" icon="server">
    Protocol for production deployment of agents.

    **Old**: `AgentAppProtocol`
  </Card>

  <Card title="AgentOSConfig" icon="gear">
    Configuration for AgentOS deployments.

    **Old**: `AgentAppConfig`
  </Card>
</CardGroup>

## Quick Reference

| Old Name           | New Name              | Purpose                   |
| ------------------ | --------------------- | ------------------------- |
| `AgentManager`     | **`AgentTeam`**       | Multi-agent orchestration |
| `Agents`           | **`AgentTeam`**       | Multi-agent orchestration |
| `Workflow`         | **`AgentFlow`**       | Step-based workflows      |
| `Pipeline`         | **`AgentFlow`**       | Step-based workflows      |
| `AgentAppProtocol` | **`AgentOSProtocol`** | Deployment protocol       |
| `AgentAppConfig`   | **`AgentOSConfig`**   | Deployment config         |

## Migration Examples

<Tabs>
  <Tab title="Python">
    <CodeGroup>
      ```python AgentTeam (Before) theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
      from praisonaiagents import Agent, Agents

      agent1 = Agent(name="researcher", instructions="Research topics")
      agent2 = Agent(name="writer", instructions="Write content")

      team = Agents(agents=[agent1, agent2])
      result = team.start()
      ```

      ```python AgentTeam (After - Recommended) theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
      from praisonaiagents import Agent, AgentTeam

      agent1 = Agent(name="researcher", instructions="Research topics")
      agent2 = Agent(name="writer", instructions="Write content")

      team = AgentTeam(agents=[agent1, agent2])
      result = team.start()
      ```
    </CodeGroup>
  </Tab>

  <Tab title="TypeScript">
    <CodeGroup>
      ```typescript AgentTeam (Before) theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
      import { Agent, Agents } from 'praisonai';

      const researcher = new Agent({ instructions: "Research topics" });
      const writer = new Agent({ instructions: "Write content" });

      const team = new Agents([researcher, writer]);
      await team.start();
      ```

      ```typescript AgentTeam (After - Recommended) theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
      import { Agent, AgentTeam } from 'praisonai';

      const researcher = new Agent({ instructions: "Research topics" });
      const writer = new Agent({ instructions: "Write content" });

      const team = new AgentTeam([researcher, writer]);
      await team.start();
      ```
    </CodeGroup>
  </Tab>

  <Tab title="AgentFlow">
    <CodeGroup>
      ```python Python (Before) theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
      from praisonaiagents import Workflow

      flow = Workflow(steps=[...])
      result = flow.start()
      ```

      ```python Python (After - Recommended) theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
      from praisonaiagents import AgentFlow

      flow = AgentFlow(steps=[...])
      result = flow.start()
      ```

      ```typescript TypeScript (Before) theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
      import { Workflow } from 'praisonai';

      const flow = new Workflow('my-workflow');
      await flow.run(input);
      ```

      ```typescript TypeScript (After - Recommended) theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
      import { AgentFlow } from 'praisonai';

      const flow = new AgentFlow('my-workflow');
      await flow.run(input);
      ```
    </CodeGroup>
  </Tab>
</Tabs>

## No Breaking Changes

<Check>
  All old names work exactly as before. They are **silent aliases** with no deprecation warnings.
</Check>

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# Both work identically
from praisonaiagents import AgentManager  # ✓ Still works (silent alias)
from praisonaiagents import AgentTeam     # ✓ New recommended name

# They are the same class
assert AgentManager is AgentTeam  # True
```

## Why the Change?

<AccordionGroup>
  <Accordion title="Consistency" icon="check">
    All orchestration classes now follow the `Agent*` prefix pattern, making the API more predictable.
  </Accordion>

  <Accordion title="Clarity" icon="lightbulb">
    * **AgentTeam** clearly indicates a team of agents
    * **AgentFlow** clearly indicates a flow/workflow of agent steps
    * **AgentOS** clearly indicates an operating system for agents
  </Accordion>

  <Accordion title="Agent-Centric" icon="robot">
    The naming reinforces that PraisonAI is an agent-first framework where everything revolves around agents.
  </Accordion>
</AccordionGroup>

## Recommended Actions

<Steps>
  <Step title="No Immediate Action Required">
    Your existing code will continue to work without any changes.
  </Step>

  <Step title="Update New Code">
    Use the new names (`AgentTeam`, `AgentFlow`, `AgentOSProtocol`) in new projects.
  </Step>

  <Step title="Gradual Migration">
    When updating existing code, switch to the new names for consistency.
  </Step>
</Steps>

## Class Hierarchy

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart TB
    subgraph Core["Core Classes"]
        A[Agent]
        AT[AgentTeam]
        AF[AgentFlow]
    end
    
    subgraph Aliases["Silent Aliases"]
        AM[AgentManager → AgentTeam]
        AG[Agents → AgentTeam]
        WF[Workflow → AgentFlow]
        PL[Pipeline → AgentFlow]
    end
    
    A --> AT
    A --> AF
    
    style Core fill:#189AB4,color:#fff
    style Aliases fill:#8B0000,color:#fff
```

## Need Help?

<CardGroup cols={2}>
  <Card title="Documentation" icon="book" href="/docs/concepts/agents">
    Learn more about agents and orchestration
  </Card>

  <Card title="Examples" icon="code" href="/docs/examples">
    See working examples with the new names
  </Card>
</CardGroup>
