Merge pull request #217 from svnlto/main

feat: streamline GitHub Actions workflows and improve contributor experience
This commit is contained in:
Beehive Innovations
2025-08-20 08:36:21 +04:00
committed by GitHub
13 changed files with 503 additions and 434 deletions

View File

@@ -23,8 +23,16 @@ We maintain high code quality standards. **All contributions must pass our autom
#### Required Code Quality Checks
Before submitting any PR, run our automated quality check script:
**Option 1 - Automated (Recommended):**
```bash
# Install pre-commit hooks (one-time setup)
pre-commit install
# Now linting runs automatically on every commit
# Includes: ruff (with auto-fix), black, isort
```
**Option 2 - Manual:**
```bash
# Run the comprehensive quality checks script
./code_quality_checks.sh
@@ -32,7 +40,7 @@ Before submitting any PR, run our automated quality check script:
This script automatically runs:
- Ruff linting with auto-fix
- Black code formatting
- Black code formatting
- Import sorting with isort
- Complete unit test suite (361 tests)
- Verification that all checks pass 100%
@@ -56,7 +64,7 @@ python -m pytest -xvs
python communication_simulator_test.py
```
**Important**:
**Important**:
- **Every single test must pass** - we have zero tolerance for failing tests in CI
- All linting must pass cleanly (ruff, black, isort)
- Import sorting must be correct
@@ -69,12 +77,12 @@ python communication_simulator_test.py
1. **New features MUST include tests**:
- Add unit tests in `tests/` for new functions or classes
- Test both success and error cases
2. **Tool changes require simulator tests**:
- Add simulator tests in `simulator_tests/` for new or modified tools
- Use realistic prompts that demonstrate the feature
- Validate output through server logs
3. **Bug fixes require regression tests**:
- Add a test that would have caught the bug
- Ensure the bug cannot reoccur
@@ -136,14 +144,14 @@ def process_model_response(
max_tokens: Optional[int] = None
) -> ProcessedResult:
"""Process and validate model response.
Args:
response: Raw response from the model provider
max_tokens: Optional token limit for truncation
Returns:
ProcessedResult with validated and formatted content
Raises:
ValueError: If response is invalid or exceeds limits
"""
@@ -237,4 +245,4 @@ Contributors are recognized in:
- Release notes for significant contributions
- Special mentions for exceptional work
Thank you for contributing to Zen MCP Server! Your efforts help make this tool better for everyone.
Thank you for contributing to Zen MCP Server! Your efforts help make this tool better for everyone.