Skip to main content

Contribute to Langflow

This guide is intended to help you start contributing to Langflow. As an open-source project in a rapidly developing field, Langflow welcomes contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.

To contribute code or documentation to this project, follow the fork and pull request workflow.

Install Langflow from source

Install Langflow from source by forking the repository, and then set up your development environment using Make.

Prerequisites

Clone the Langflow repository

  1. Fork the Langflow GitHub repository.

  2. Add the new remote to your local repository on your local machine:


_10
git remote add FORK_NAME https://github.com/GIT_USERNAME/langflow.git

Replace the following:

  • FORK_NAME: A name for your fork of the repository
  • GIT_USERNAME: Your Git username

Run Langflow from source

If you're not developing, but want to run Langflow from source after cloning the repo, run:


_10
make run_cli

This command:

  • Installs frontend and backend dependencies
  • Builds the frontend static files
  • Starts the application with default settings

The make run_cli command allows you to configure the application such as logging level, host, port, and environment variables.

For example, this command starts Langflow with custom settings for the logging level, host binding, and port number, and specifies a custom .env file.


_10
make run_cli log_level=info host=localhost port=8000 env=.env.custom

The make run_cli command accepts the following parameters:

ParameterDefaultDescription
log_leveldebugSet the logging level. Options: debug, info, warning, error, critical
host0.0.0.0The host address to bind the server to. Use localhost or 127.0.0.1 for local-only access.
port7860The port number to run the server on.
env.envPath to the environment file containing configuration variables.
open_browsertrueWhether to automatically open the browser when starting. Set to false to disable.

Set up your Langflow development environment

  1. To set up the Langflow development environment, run the following command:

_10
make init

This command sets up the development environment by:

  • Checking for uv and npm.
  • Installing backend and frontend dependencies.
  • Installing pre-commit hooks.
  1. Run the backend and frontend in separate terminals for development:

_10
# Run backend in development mode (includes hot reload)
_10
make backend
_10
_10
# In another terminal, run frontend in development mode (includes hot reload)
_10
make frontend

The make backend and make frontend commands automatically install dependencies, so you don't need to run install commands separately.

  1. (Optional) Install pre-commit hooks to help keep your changes clean and well-formatted. make init installs pre-commit hooks automatically.

_10
uv sync
_10
uv run pre-commit install

note

With pre-commit hooks installed, you need to use uv run git commit instead of git commit directly.

  1. To test your changes, run make lint, make format, and make unit_tests before pushing to the repository. To run all tests, including unit tests, integration tests, and coverage, run make tests.

Debug

The repo includes a .vscode/launch.json file for debugging the backend in VSCode, which is faster than debugging with Docker Compose. To debug Langflow with the launch.json file in VSCode:

For more information, see the VSCode documentation.

Additional contribution guides

Contribute documentation

The documentation is built using Docusaurus and written in Markdown. Contributions should follow the Google Developer Documentation Style Guide.

Prerequisites

Clone the Langflow repository

  1. Fork the Langflow GitHub repository.

  2. Add the new remote to your local repository on your local machine:


_10
git remote add FORK_NAME https://github.com/GIT_USERNAME/langflow.git

Replace the following:

  • FORK_NAME: A name for your fork of the repository
  • GIT_USERNAME: Your Git username
  1. From your Langflow fork's root, change directory to the langflow/docs folder with the following command:

_10
cd docs

  1. To install dependencies and start a local Docusaurus static site with hot reloading, run:

_10
yarn install && yarn start

The documentation will be available at localhost:3000 and all the files are located in the /docs folder.

  1. Optional: Run yarn build to build the site locally and ensure there are no broken links.

Open a pull request

To submit a pull request, do the following:

  1. Open a new GitHub pull request with your patch against the main branch.
  2. Ensure the PR title follows semantic commit conventions. For example, features are feat: add new feature and fixes are fix: correct issue with X.

Some additional guidance on pull request titles:

  • Ensure the pull request description clearly describes the problem and solution. If the PR fixes an issue, include a link to the fixed issue in the PR description with Fixes #1234.
  • Pull request titles appear in Langflow's release notes, so they should explain what the PR does as explicitly as possible.
  • Pull requests should strive to fix one thing only, and should contain a good description of what is being fixed.
  1. A Langflow maintainer will review your pull request and may request changes, so ensure you pay attention to your PRs. Thanks for your contribution!

For more information, see the Python Developer's Guide.

Search