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.