Thank you for your interest in contributing to lyzr-kit! This document provides guidelines and instructions for contributing.
- Python 3.10 or higher
- uv package manager
-
Clone the repository:
git clone https://github.com/LyzrCore/lyzr-kit.git cd lyzr-kit -
Install dependencies with uv:
uv sync --all-extras
-
Verify installation:
uv run lk --help
uv run pytest tests/ -vWith coverage:
uv run pytest tests/ -v --cov=src/lyzr_kitLinting:
uv run ruff check src/ tests/Auto-fix lint issues:
uv run ruff check --fix src/ tests/Formatting:
uv run ruff format src/ tests/Type checking:
uv run mypy src/uv add <package> # Runtime dependency
uv add --dev <package> # Development dependency- Follow PEP 8 conventions
- Use type hints for all function signatures
- Write docstrings for public functions and classes
- Keep functions focused and small
- Use meaningful variable names
- Fork the repository and create a feature branch
- Make changes following the code style guidelines
- Add tests for new functionality
- Run all checks:
uv run ruff check src/ tests/ uv run ruff format --check src/ tests/ uv run mypy src/ uv run pytest tests/ -v
- Commit with a clear message describing the change
- Open a PR against the
mainbranch
Use clear, descriptive commit messages:
Add agent validation for required fields
- Add schema validation in AgentConfig
- Update tests for edge cases
- Fix type hints in storage manager
src/lyzr_kit/
├── schemas/ # Pydantic data models
├── collection/ # Built-in YAML resources
├── modules/
│ ├── cli/ # CLI entry point
│ ├── commands/ # CLI command implementations
│ └── storage/ # Storage management
└── utils/ # Shared utilities
We welcome contributions in two key areas:
Help improve the built-in agent, tool, and feature definitions in src/lyzr_kit/collection/.
How to contribute:
- Add new agent YAML definitions
- Improve existing agent configurations
- Add examples and use cases
- Review and test collection resources
Help maintain and improve the SDK codebase.
How to contribute:
- Fix bugs and issues
- Implement new features (Phase 3: Tools, Phase 4: Features)
- Improve test coverage
- Enhance documentation
- Review pull requests
- Open an issue for bugs or feature requests
- Check existing issues before creating new ones
- @harshit-vibes - Lead maintainer
By contributing, you agree that your contributions will be licensed under the MIT License.