Skip to main content
We welcome contributions to cascadeflow. This guide covers development setup for both Python and TypeScript.

Monorepo Structure

cascadeflow/
  cascadeflow/         # Python package
  packages/
    core/              # TypeScript core
    langchain-cascadeflow/  # LangChain TypeScript
    integrations/
      vercel-ai/       # Vercel AI SDK
      n8n/             # n8n community nodes
  tests/               # Python tests
  examples/            # Python examples
  docs/                # Documentation
  docs-site/           # Mintlify docs site

Python Development

Setup

git clone https://github.com/lemony-ai/cascadeflow.git
cd cascadeflow
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pre-commit install

Code Style

  • Formatter: Black (line length 100)
  • Linter: Ruff
  • Type checker: mypy
  • Import sorting: isort
black cascadeflow/ tests/
ruff check cascadeflow/ tests/
mypy cascadeflow/

Testing

pytest tests/ -x -q                    # Run all tests
pytest tests/ -m "not integration"     # Skip integration tests
pytest tests/ --cov=cascadeflow        # With coverage

TypeScript Development

Setup

cd packages/core
pnpm install
pnpm build
pnpm test

Code Style

  • Linter: ESLint
  • Language: TypeScript (strict mode)
  • Indentation: 2 spaces

Making Changes

  1. Create a branch from main
  2. Make changes with clear, descriptive commits
  3. Follow commit conventions: feat:, fix:, docs:, test:, refactor:, chore:
  4. Add tests for new functionality
  5. Ensure all tests pass

Pull Requests

  • All PRs require review approval
  • Linear history enforced (no merge commits)
  • CI must pass before merge