{"id":35874369,"url":"https://github.com/kmcallorum/pytest-agents","last_synced_at":"2026-01-31T17:14:04.353Z","repository":{"id":331713677,"uuid":"1126852246","full_name":"kmcallorum/pytest-agents","owner":"kmcallorum","description":"A pytest plugin framework with AI agent capabilities for project management, research, and code indexing","archived":false,"fork":false,"pushed_at":"2026-01-10T23:14:05.000Z","size":795,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-13T22:10:52.062Z","etag":null,"topics":["ai-agents","automation","ci-cd","devops","docker","plugin","pytest","python","testing","typescript"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kmcallorum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-02T17:37:07.000Z","updated_at":"2026-01-10T23:14:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kmcallorum/pytest-agents","commit_stats":null,"previous_names":["kmcallorum/pytest-agents"],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/kmcallorum/pytest-agents","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmcallorum%2Fpytest-agents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmcallorum%2Fpytest-agents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmcallorum%2Fpytest-agents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmcallorum%2Fpytest-agents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kmcallorum","download_url":"https://codeload.github.com/kmcallorum/pytest-agents/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kmcallorum%2Fpytest-agents/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28948361,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T14:26:55.697Z","status":"ssl_error","status_checked_at":"2026-01-31T14:26:52.545Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","automation","ci-cd","devops","docker","plugin","pytest","python","testing","typescript"],"created_at":"2026-01-08T16:21:33.605Z","updated_at":"2026-01-31T17:14:04.333Z","avatar_url":"https://github.com/kmcallorum.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pytest-agents\n\n[![CI](https://github.com/kmcallorum/pytest-agents/actions/workflows/ci.yml/badge.svg)](https://github.com/kmcallorum/pytest-agents/actions/workflows/ci.yml)\n[![CodeQL](https://github.com/kmcallorum/pytest-agents/actions/workflows/codeql.yml/badge.svg)](https://github.com/kmcallorum/pytest-agents/actions/workflows/codeql.yml)\n[![Release](https://github.com/kmcallorum/pytest-agents/actions/workflows/release.yml/badge.svg)](https://github.com/kmcallorum/pytest-agents/actions/workflows/release.yml)\n[![GitHub Release](https://img.shields.io/github/v/release/kmcallorum/pytest-agents)](https://github.com/kmcallorum/pytest-agents/releases)\n[![PyPI](https://img.shields.io/pypi/v/pytest-agents)](https://pypi.org/project/pytest-agents/)\n[![Security Policy](https://img.shields.io/badge/security-policy-blue.svg)](SECURITY.md)\n[![Python Version](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)\n![Coverage](.github/badges/coverage.svg)\n[![Tests](https://img.shields.io/badge/tests-182%20passed-brightgreen.svg)](https://github.com/kmcallorum/pytest-agents)\n[![Metrics](https://img.shields.io/badge/metrics-prometheus-blue.svg)](docs/METRICS.md)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n[![Docker](https://img.shields.io/badge/docker-supported-blue.svg)](docs/DOCKER.md)\n[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nA pytest plugin framework with AI agent capabilities for project management, research, and code indexing.\n\n## Quick Start\n\n```bash\n# Install from PyPI\npip install pytest-agents\n\n# Verify installation\npytest-agents verify\n```\n\n## Features\n\n- **Pytest Plugin**: Extended pytest with custom markers and AI agent integration\n- **PM Agent**: TypeScript-based project management agent for task tracking and planning\n- **Research Agent**: AI-powered research and documentation analysis\n- **Index Agent**: Code indexing and intelligent search capabilities\n- **Prometheus Metrics**: Comprehensive observability with metrics collection and HTTP endpoint\n- **Dependency Injection**: Full DI implementation across Python and TypeScript components\n- **Skills System**: Extensible runtime skills for specialized tasks\n\n## Quick Start\n\n### Installation\n\n**From PyPI (Recommended):**\n```bash\npip install pytest-agents\n```\n\n**From Docker:**\n```bash\ndocker pull ghcr.io/kmcallorum/pytest-agents:latest\ndocker run ghcr.io/kmcallorum/pytest-agents:latest pytest-agents verify\n```\n\n**From Source:**\n```bash\n# Clone repository\ngit clone https://github.com/kmcallorum/pytest-agents.git\ncd claudelife\n\n# Install with uv\nmake install\n\n# Or manually\nuv pip install -e \".[dev]\"\n```\n\n### Verify Installation\n\n```bash\nmake verify\n```\n\n### Run Tests\n\n```bash\n# All tests\nmake test\n\n# Python only\nmake test-python\n\n# TypeScript only\nmake test-ts\n```\n\n## Project Structure\n\n```\npytest-agents/\n├── src/pytest_agents/   # Python pytest plugin package\n├── tests/               # Python tests\n├── pm/                  # TypeScript PM agent\n├── research/            # TypeScript Research agent\n├── index/               # TypeScript Index agent\n├── skills/              # Runtime skills\n├── commands/            # Command documentation\n└── docs/                # Documentation\n```\n\n## Usage\n\n### Using Custom Pytest Markers\n\n```python\nimport pytest\n\n@pytest.mark.unit\ndef test_basic_functionality():\n    assert True\n\n@pytest.mark.integration\n@pytest.mark.agent_pm\ndef test_with_pm_agent(pytest_agents_agent):\n    result = pytest_agents_agent.invoke('pm', 'analyze_project')\n    assert result['status'] == 'success'\n```\n\n### Parallel Agent Execution\n\nRun multiple agents concurrently for faster test execution:\n\n```python\ndef test_multi_agent_parallel(agent_coordinator):\n    \"\"\"Run multiple agents in parallel.\"\"\"\n    results = agent_coordinator.run_parallel([\n        ('pm', 'track_tasks', {'path': './src'}),\n        ('research', 'analyze_document', {'path': 'README.md'}),\n        ('index', 'index_repository', {'path': './src'})\n    ])\n\n    assert all(r['status'] == 'success' for r in results)\n```\n\n### Invoking Agents\n\n```python\n# Via Python API\nfrom pytest_agents.agent_bridge import AgentBridge\n\nbridge = AgentBridge()\nresult = bridge.invoke_agent('pm', 'track_tasks', {'path': './src'})\n```\n\n```bash\n# Via CLI\npytest-agents agent pm --action track_tasks --path ./src\n```\n\n### Metrics and Observability\n\n```bash\n# Start Prometheus metrics server\npytest-agents metrics\n\n# Custom port\npytest-agents metrics --port 8080\n\n# Configure via environment\nexport PYTEST_AGENTS_METRICS_ENABLED=true\nexport PYTEST_AGENTS_METRICS_PORT=9090\n```\n\nView metrics at `http://localhost:9090/metrics`. See [Metrics Documentation](docs/METRICS.md) for Prometheus and Grafana integration.\n\n## Development\n\n### Code Quality\n\n```bash\n# Format code\nmake format\n\n# Lint code\nmake lint\n```\n\n### Health Check\n\n```bash\nmake doctor\n```\n\n## Docker Support\n\npytest-agents is fully containerized for easy deployment and development.\n\n### Quick Start with Docker\n\n```bash\n# Build and run verification\ndocker-compose up pytest-agents\n\n# Run tests in Docker\ndocker-compose --profile test up pytest-agents-test\n\n# Start development shell\ndocker-compose --profile dev run pytest-agents-dev\n```\n\nSee [Docker Documentation](docs/DOCKER.md) for complete deployment guide.\n\n## Security\n\npytest-agents implements enterprise-grade security practices:\n\n### Automated Security Scanning\n\n- **CodeQL**: Static analysis detecting 400+ security vulnerabilities in Python and TypeScript\n- **Snyk Security**: Continuous vulnerability scanning for dependencies and containers\n- **Dependency Scanning**: Automated vulnerability detection via Dependabot\n- **Container Scanning**: Docker image vulnerability assessment\n- **Code Quality**: Ruff linting with security-focused rules\n\n### Security Features\n\n- Multi-stage Docker builds with minimal attack surface\n- Dependency pinning for reproducible builds\n- Comprehensive test coverage (61%, 230 tests)\n- Automated security updates grouped by severity\n\n### Setup and Configuration\n\n**New to security scanning?** See [Security Setup Guide](docs/SECURITY_SETUP.md) for step-by-step instructions to activate Snyk and Dependabot.\n\n### Reporting Vulnerabilities\n\nPlease report security vulnerabilities privately via [GitHub Security Advisories](https://github.com/kmcallorum/pytest-agents/security/advisories).\n\nSee [SECURITY.md](SECURITY.md) for complete security policy and disclosure guidelines.\n\n## Documentation\n\nSee `docs/` directory for detailed documentation:\n\n- [Metrics Guide](docs/METRICS.md) - Prometheus metrics and observability\n- [Performance Benchmarks](docs/BENCHMARKS.md) - Performance baselines and optimization\n- [Release Process](docs/RELEASE.md) - Automated releases and versioning\n- [PyPI Publishing Setup](docs/PYPI_SETUP.md) - Configure PyPI trusted publishing\n- [Security Setup Guide](docs/SECURITY_SETUP.md) - Activate security scanning\n- [Docker Guide](docs/DOCKER.md) - Container deployment and development\n- [Developer Guide](docs/developer-guide/README.md) - Development workflow\n- [Architecture Overview](docs/developer-guide/architecture.md) - System design\n- [Python API Reference](docs/api/python-api.md) - Python API documentation\n- [TypeScript API Reference](docs/api/typescript-api.md) - TypeScript API documentation\n\n## License\n\nMIT\n\n## Author\n\nKevin McAllorum\n# Security scanning now enabled!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkmcallorum%2Fpytest-agents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkmcallorum%2Fpytest-agents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkmcallorum%2Fpytest-agents/lists"}