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:
Setup Steps
Fork the repository
Fork the official Flowise GitHub Repository.
Create a new branch
Use descriptive branch names following these conventions:
- For features:
feature/<your-feature-name> - For bug fixes:
bugfix/<your-bugfix-name>
Start the application
Development Workflow
Running in Development Mode
Create environment files
In In
packages/ui/.env:packages/server/.env:Refer to
.env.example files in each package for all available options.Start development server
packages/ui or packages/server will be automatically reflected on http://localhost:8080.Making Changes
- Write clear, focused code - Keep changes small and focused on a single issue
- Follow existing patterns - Look at existing code for style guidance
- Add comments - Explain complex logic
- Update documentation - Keep docs in sync with code changes
Testing Your Changes
Before submitting, verify everything works in production mode:Submitting Your Contribution
Commit your changes
Write clear, descriptive commit messages:Use conventional commit prefixes:
feat:- New featurefix:- Bug fixdocs:- Documentation changesrefactor:- Code refactoringtest:- Adding testschore:- Maintenance tasks
Create a Pull Request
- Go to your fork on GitHub
- Click “Compare & pull request”
- Point your branch to the Flowise main branch
- 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
- Initial Review - A team member will review within a few days
- Feedback - You may receive requests for changes
- Iteration - Make requested changes and push updates
- 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
| Variable | Description | Type | Default |
|---|---|---|---|
PORT | HTTP port Flowise runs on | Number | 3000 |
CORS_ORIGINS | Allowed origins for CORS | String | - |
DEBUG | Print logs from components | Boolean | false |
LOG_LEVEL | Logging level | error, info, verbose, debug | info |
DATABASE_TYPE | Database type | sqlite, mysql, postgres | sqlite |
DATABASE_PATH | Database file location | String | ~/.flowise |
Using with npx
You can also specify environment variables when usingnpx:
Getting Help
If you need help with your contribution:- Discord: Join our Discord community
- Discussions: Ask in GitHub Discussions
- Issues: Check existing issues for similar problems
Recognition
All contributors are recognized on our Contributors page. Thanks to all our awesome contributors!Next Steps
- Set up your local development environment
- Learn how to create custom nodes
- Understand the architecture
