Skip to main content

Prerequisites

Before you start, ensure you have:
  • Node.js 18.x or higher
  • Bun 1.3.3 or higher (package manager)
  • Git for version control
  • A code editor (VS Code recommended)

Fork and Clone the Repository

1

Fork the Repository

Go to the Activepieces GitHub repository and click the “Fork” button in the top right corner.
2

Clone Your Fork

3

Add Upstream Remote

This allows you to sync with the main repository later.

Install Dependencies

Activepieces uses Bun as the package manager. The setup script will install it automatically:
This command will:
  1. Install Bun if not already installed
  2. Install all project dependencies
  3. Start the development environment
The first run may take several minutes as it installs dependencies for all packages.

Development Environment

Once dependencies are installed, you can start the development servers:
Start frontend, backend, and engine together:
This runs:
  • GUI: Angular frontend on http://localhost:4200
  • API: Backend server on http://localhost:3000
  • ENG: Flow execution engine

Hot Reloading for Pieces

One of the best features of Activepieces development is hot reloading for pieces. When you make changes to piece code, they’re immediately reflected without restarting the server.

How It Works

1

Start Development Environment

2

Navigate to a Piece

Pieces are located in packages/pieces/community/ or packages/pieces/core/:
3

Edit Piece Code

Make changes to any file in src/ directory. The changes will be detected automatically.
4

Test in Browser

  • Go to http://localhost:4200
  • Create or edit a flow
  • Your updated piece will be available immediately
Hot reloading works for actions, triggers, properties, and authentication changes. You don’t need to rebuild or restart!

Project Structure

Understanding the project structure helps you navigate the codebase:

Useful Commands

Here are the most common commands you’ll use:

Environment Variables

For local development, you may need to configure environment variables:
.env
Never commit .env files to version control. They’re already in .gitignore.

IDE Setup (VS Code)

For the best development experience with VS Code:
  • ESLint - Linting and code quality
  • Prettier - Code formatting
  • TypeScript and JavaScript Language Features - Enhanced TS support
  • GitLens - Git integration

Workspace Settings

Create .vscode/settings.json:

Troubleshooting

If automatic Bun installation fails:
If ports 3000 or 4200 are already in use:
If changes aren’t being detected:
  1. Ensure you’re in dev mode: npm run dev
  2. Check file watcher limits (Linux):
  3. Restart the dev server
If you see TypeScript errors after pulling changes:

Next Steps

Create Your First Piece

Now that your environment is set up, create your first piece!