Development Setup

Set up your development environment for PraisonAI JavaScript framework

Set up a local PraisonAI TypeScript development environment.

Diagram

Developer

praisonai-ts

Build

Where the code lives

TypeScript source is in the PraisonAI monorepo at src/praisonai-ts/, while MervinPraison/praisonai-js is a read-only npm mirror updated automatically from the monorepo by the Sync to praisonai-js GitHub Actions workflow.

Diagram

Sync to praisonai-js
workflow

Developer

MervinPraison/PraisonAI
src/praisonai-ts/

MervinPraison/praisonai-js
npm mirror

npm install praisonai

Maintainers: run the mirror sync

Run the mirror sync after a TypeScript change merges to main:

bash
gh workflow run "Sync to praisonai-js" --repo MervinPraison/PraisonAI

The workflow rsyncs src/praisonai-ts/ → praisonai-js (excludes node_modules/, dist/, coverage/, .github/). Default mode opens a PR against praisonai-js; mode=commit pushes directly.

Development Setup

Quick Start

  1. Simple Usage
    bash
    git clone https://github.com/MervinPraison/PraisonAI.git
    cd src/praisonai-ts
  2. With Configuration
    bash
    npm install
  3. Build Package
    bash
    npm run build

Issue Routing & npm Mirror

File TypeScript issues on the monorepo, fix them in src/praisonai-ts/, and let maintainers publish the npm mirror.

Diagram

TypeScript Contribution Flow

🐛 Report issue

📦 PraisonAI monorepo

🔧 Fix in src/praisonai-ts/

✅ PR merged

⚙️ Sync workflow

📤 praisonai-js npm mirror

File every TypeScript SDK bug or feature request on MervinPraison/PraisonAI using the bug or feature template. Do not open TypeScript issues on praisonai-js.

All TypeScript source lives in src/praisonai-ts/ inside the PraisonAI monorepo. Fork the monorepo, branch off main, and open your PR there.

Package Structure

src/
├── agent/         # Agent-related interfaces and implementations
├── task/          # Task management and execution
├── utils/         # Utility functions and helpers
└── types/         # TypeScript type definitions
  • Bundles cleanly for non-Node runtimes (Tauri, React Native, browser). See Browser & Mobile Runtimes for runtime-specific patterns.

Related