Contributing - janardhanhere/langgraph-deployment-kit GitHub Wiki
Contributing
Thank you for your interest in contributing to the LangGraph Deployment Kit! This guide will help you get started with contributing to the project.
Getting Started
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/langgraph-deployment-kit.git cd langgraph-deployment-kit - Set up a development environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -e ".[dev]" # Install with development dependencies
Development Workflow
-
Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name -
Make your changes and ensure tests pass:
pytest -
Format your code using
ruff:ruff format . -
Submit a pull request to the main repository
Project Structure
src/- Main source codeagents/- Agent implementationscore/- Core functionality and settingsmemory/- Persistence implementationsschema/- Data models and schemasservice/- FastAPI service implementation
examples/- Example projects using the kittests/- Test suiteagent-react-hook/- React hook for frontend integration
Adding a New Agent
See the Creating Agents guide for detailed instructions on adding new agents.
Testing
Run the test suite to ensure your changes don't break existing functionality:
pytest
For specific test files:
pytest tests/service/test_service.py
Documentation
When adding new features, please update the corresponding documentation:
- Update the README.md if needed
- Add or update Wiki documentation
- Add comments to your code
Code Style
We follow these coding conventions:
- Use type hints for all function parameters and return values
- Format code using
ruff - Write descriptive docstrings for functions and classes
- Use meaningful variable names
- Keep functions focused on a single responsibility
Pull Request Process
- Update the README.md or documentation with details of changes
- Update the tests to cover your changes
- Your PR should pass all CI checks
- Get approval from at least one maintainer
License
By contributing to this project, you agree that your contributions will be licensed under the project's MIT license.