- Extend safe_cli_wrapper() to suppress spurious Click errors for both install and update commands; add success indicators for update output - Add test_update_command_error_suppression to verify error suppression - Expand CLAUDE.md to document all 17 agents with categories - Add Keep a Contributing-File format header to CONTRIBUTING.md - Fix TodoFileGuide URL reference in TODO.md - Add RELEASE_NOTES_v1.0.1.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.0 KiB
Contributing
This is a Contributing file, used to specify how the repository is and should stay organized. The format is based on Keep a Contributing-File V0.0.1. The structure originates from best practices for setting up python repositories as documented for PythonVibes. Use agent-keepa-contributing-file.md to help maintaining this file.
This document outlines how to get started, how we organise work, and how to help maintain the quality & clarity of our contributions.
Thank you for your interest in contributing!
Getting Started
Prerequisites
- Python 3.8+ for the core framework
- Git for version control
- Make for development commands (optional but recommended)
- Understanding of AI agent concepts (helpful but not required)
Initial Setup
- Fork and clone the repository
- Set up virtual environment:
python -m venv .venv && source .venv/bin/activate - Install dependencies:
make setup-completeorpip install -e . - Verify setup:
make test-quickorpytest tests/ - Familiarize yourself with agent system (see CLAUDE.md)
Development Workflow
Project Structure
This repository follows PythonVibes best practices:
src/kaizen_agentic/- Core framework source codeagents/- Specialized agent definitions (17+ agents)tests/- Comprehensive test suiteTODO.md- Current development tasks (Keep a Todofile format)CHANGELOG.md- Version history (Keep a Changelog format)
Making Changes
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes following the code standards below
- Write tests for new functionality
- Run the test suite:
make testorpytest - Check code quality:
make lintor runblack .andflake8 . - Update documentation as needed
- Submit a pull request with clear description
Testing Requirements
- All new code must include tests
- Tests should pass locally before submitting PR
- Use pytest framework for all tests
- Aim for good test coverage of new functionality
Code Standards
Python Standards (PythonVibes)
- Follow PEP 8 style guide (100 character line length)
- Use type hints for all public APIs
- Write comprehensive docstrings
- Use src/ layout for source code
- Manage dependencies through pyproject.toml
Quality Tools
- Formatting: Black (
black .) - Linting: Flake8 (
flake8 .) - Type Checking: MyPy (
mypy src/) - Testing: Pytest (
pytest)
Agent Development Standards
For contributing new agents or improving existing ones:
- Use consistent YAML frontmatter format
- Write clear, actionable instructions
- Define explicit scope and authority boundaries
- Follow existing agent patterns in
agents/directory
Types of Contributions
We welcome various types of contributions:
- Code: New features, bug fixes, improvements
- Agent Definitions: New specialized agents or agent improvements
- Documentation: README updates, code comments, guides
- Testing: New tests, test improvements, bug reports
- Performance: Optimization improvements and measurements
Issue Reporting
When reporting bugs, please include:
- Clear description of the problem
- Steps to reproduce the issue
- Expected vs actual behavior
- Environment details (Python version, OS)
- Relevant error messages or logs
Pull Request Process
- Discuss significant changes in an issue first
- Keep PRs focused on a single feature or fix
- Write clear commit messages following conventional commit format
- Update relevant documentation including TODO.md and CHANGELOG.md
- Ensure all checks pass including tests and linting
- Respond to review feedback promptly and constructively
Agent-Assisted Development
This repository includes 17+ specialized agents to assist with development:
- Use
todo-keeperfor TODO.md maintenance - Use
changelog-keeperfor CHANGELOG.md updates - Use
contributing-keeperfor this file maintenance - See CLAUDE.md for complete agent catalog and usage
Community Guidelines
Kaizen Philosophy
We follow continuous improvement principles:
- Quality-first approach to all contributions
- Regular optimization and refinement
- Performance measurement and pattern analysis
- Collaborative problem-solving
Communication
- Be respectful and constructive in all interactions
- Use GitHub issues and discussions for project-related communication
- Share knowledge and help other contributors
- Follow the project's code of conduct
Recognition
Contributors are acknowledged in:
- Release notes and CHANGELOG.md
- Agent definition attribution
- Community recognition for significant contributions
Format: This file follows Keep a Contributing-File V0.0.1 with PythonVibes best practices integration.
Maintenance: Use agent-keepaContributingfile.md to help maintain this file.