Skip to main content
We appreciate any form of contributions to Flowise. This guide will help you understand how to contribute effectively.

Ways to Contribute

There are many ways to contribute to Flowise beyond writing code:

Star the Repository

Star and share the GitHub Repository to help others discover Flowise.

Answer Questions

Search for questions in the Q&A section. If you can’t find an answer, create a new discussion. Your questions might help others with similar issues.

Share Your Chatflows

Export your chatflow as JSON, attach a screenshot, and share it in the Show and Tell section.

Submit Ideas

Have ideas for new features, app integrations, or improvements? Submit them in the Ideas section.

Report Bugs

Found an issue? Report it with detailed information to help us fix it.

Contribute to Documentation

Help improve the Flowise documentation by fixing errors, adding examples, or creating new guides.

Contributing Code

Not sure what to contribute? Here are some ideas:
  • Create new components in packages/concepts/nodes-and-edges
  • Update existing components (extend functionality, fix bugs)
  • Add new chatflow examples
  • Improve documentation
  • Write tests

Development Setup

Before contributing code, set up your development environment:

Prerequisites

Install PNPM v10 or higher:
npm i -g pnpm

Setup Steps

1

Fork the repository

Fork the official Flowise GitHub Repository.
2

Clone your fork

git clone https://github.com/YOUR_USERNAME/Flowise.git
cd Flowise
3

Create a new branch

Use descriptive branch names following these conventions:
  • For features: feature/<your-feature-name>
  • For bug fixes: bugfix/<your-bugfix-name>
git checkout -b feature/my-awesome-feature
4

Install dependencies

pnpm install
5

Build all modules

pnpm build
6

Start the application

Start in production mode to verify the build:
pnpm start
Open http://localhost:3000 to verify it’s working.

Development Workflow

Running in Development Mode

1

Create environment files

In packages/ui/.env:
VITE_PORT=8080
In packages/server/.env:
PORT=3000
Refer to .env.example files in each package for all available options.
2

Start development server

pnpm dev
Any changes made in packages/ui or packages/server will be automatically reflected on http://localhost:8080.
3

Rebuild components (if needed)

For changes made in packages/concepts/nodes-and-edges, run:
pnpm build
Then restart the dev server to pick up the changes.

Making Changes

  1. Write clear, focused code - Keep changes small and focused on a single issue
  2. Follow existing patterns - Look at existing code for style guidance
  3. Add comments - Explain complex logic
  4. Update documentation - Keep docs in sync with code changes

Testing Your Changes

Before submitting, verify everything works in production mode:
pnpm build
Test your changes thoroughly on http://localhost:3000.

Submitting Your Contribution

1

Commit your changes

Write clear, descriptive commit messages:
git add .
git commit -m "feat: add new calculator tool"
Use conventional commit prefixes:
  • feat: - New feature
  • fix: - Bug fix
  • docs: - Documentation changes
  • refactor: - Code refactoring
  • test: - Adding tests
  • chore: - Maintenance tasks
2

Push to your fork

git push origin feature/my-awesome-feature
3

Create a Pull Request

  1. Go to your fork on GitHub
  2. Click “Compare & pull request”
  3. Point your branch to the Flowise main branch
  4. Fill out the PR template with:
    • Clear description of changes
    • Related issue numbers (if any)
    • Screenshots (for UI changes)
    • Testing notes

Pull Request Guidelines

PR Title

Use clear, descriptive titles:
  • Good: feat: Add support for GPT-4 Turbo model
  • Good: fix: Resolve memory leak in vector store
  • Bad: Update code
  • Bad: Fix bug

PR Description

Include:
  • What: What changes did you make?
  • Why: Why were these changes needed?
  • How: How did you implement them?
  • Testing: How should reviewers test this?

Code Quality

Ensure your code:
  • Follows the existing code style
  • Includes proper TypeScript types
  • Has no linting errors (pnpm lint)
  • Is properly formatted (pnpm format)
  • Works in both dev and production modes

Code of Conduct

This project is governed by our Code of Conduct. By participating, you are expected to uphold this code. Report unacceptable behavior to [email protected].

Review Process

A member of the FlowiseAI team will be automatically notified when you open a pull request. You can also reach out on Discord for help.

What to Expect

  1. Initial Review - A team member will review within a few days
  2. Feedback - You may receive requests for changes
  3. Iteration - Make requested changes and push updates
  4. Approval - Once approved, your PR will be merged

Environment Variables

Flowise supports various environment variables to configure your instance. You can specify them in the .env file inside packages/server.

Key Variables

VariableDescriptionTypeDefault
PORTHTTP port Flowise runs onNumber3000
CORS_ORIGINSAllowed origins for CORSString-
DEBUGPrint logs from componentsBooleanfalse
LOG_LEVELLogging levelerror, info, verbose, debuginfo
DATABASE_TYPEDatabase typesqlite, mysql, postgressqlite
DATABASE_PATHDatabase file locationString~/.flowise

Using with npx

You can also specify environment variables when using npx:
npx flowise start --PORT=3000 --DEBUG=true
For a complete list, see the Environment Variables documentation.

Getting Help

If you need help with your contribution:

Recognition

All contributors are recognized on our Contributors page. Thanks to all our awesome contributors!

Next Steps

Build docs developers (and LLMs) love