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

Windows

For Windows installations, you don't need need Make, and you can find Windows scripts in the Langflow repository.

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 the following commands.

  1. To run Langflow from source, run the following command:

_10
make run_cli

This command does the following:

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

The Langflow frontend is available at http://localhost:7860/.

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 doing the following:

    • Checking for uv and npm.
    • Installing backend and frontend dependencies.
    • Installing pre-commit hooks.
  2. 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 frontend is served at http://localhost:7860.

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

  3. 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.

  4. 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
_10
yarn start

The documentation is available at localhost:3000. The Markdown content files are located in the langflow/docs/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