Skip to main content

MCP server for autonomous unit testing and self-healing

Project description

Testing Arwaky

Python 3.12+ License: MIT MCP Server AI Agent Ready

Autonomous test engine with self-healing capabilities. Built for AI agents that write and maintain tests 24/7.

For AI Agents:

  • Autonomous test generation and execution
  • Self-healing test code (auto-fix failures)
  • Coverage auditing and quality gating
  • Synthetic test data generation

Choose Your Path

I'm a... Start Here What I'll Do
AI Agent SKILL.md Autonomous testing, self-healing
Developer Quick Start Run tests, generate tests, audit coverage
Contributor Contributing Add capabilities, adapters, CLI commands

Why Use Testing Arwaky

For Users

Benefit Description
Self-Healing Automatically fixes broken tests
AST Analysis Understands code structure to generate smart tests
Coverage Audit Ensures test coverage meets thresholds
Data Generation Creates edge-case test data automatically
CI-Ready Exit codes and JSON output for pipelines

The Cost of NOT Using Testing Arwaky

┌─────────────────────────────────────────────────────────────────┐
│ What you're losing right now:                                     │
├─────────────────────────────────────────────────────────────────┤
│ ❌ Hours writing boilerplate tests manually                    │
│ ❌ Brittle tests that break on minor refactors                │
│ ❌ Low coverage on edge cases                                  │
│ ❌ Test suites that drift out of sync with code               │
│ ❌ Manual test data creation for boundary conditions          │
└─────────────────────────────────────────────────────────────────┘

Install

One-Liner (Linux/macOS)

curl -sSL https://raw.githubusercontent.com/rakaarwaky/testing-arwaky/main/install.sh | bash

One-Liner (Windows PowerShell)

iwr https://raw.githubusercontent.com/rakaarwaky/testing-arwaky/main/install.ps1 | iex

Manual Install

pip install testing-arwaky-mcp

Or with uv:

uv tool install testing-arwaky

Verify

agentic-test version
agentic-test --help

Quick Start

# Run tests with self-healing
agentic-test run tests/test_parser.py --heal --max-retries 3

# Analyze source code
agentic-test analyze src/my_module.py

# Audit coverage
agentic-test audit ./src --threshold 80

# Generate boilerplate tests
agentic-test generate src/my_module.py

# Generate synthetic test data
agentic-test generate-data emails --count 10

CLI Commands

Test Commands

Command Description
agentic-test run <path> [--heal] [--max-retries N] Run tests with optional self-healing
agentic-test analyze <file> AST analysis of source file
agentic-test audit <dir> [--threshold N] Coverage audit with pass/fail gate
agentic-test generate <file> Generate boilerplate tests from AST

Data & Migration

Command Description
agentic-test generate-data <type> [--count N] Generate synthetic test data
agentic-test migrate <file> [--backup] Migrate unittest to pytest

Performance & Workflow

Command Description
agentic-test find-slow <dir> [--threshold N] Find slow tests
agentic-test mock-generate "<signature>" Generate mock from function signature
agentic-test workflow <name> <target> Run pre-defined workflows

Utility

Command Description
agentic-test version Show version
agentic-test init <path> Initialize configuration file
agentic-test governance <dir> Architectural governance scan

Full list: agentic-test --help


Architecture

5-domain structure (same as lint-arwaky):

src/
├── agent/              # Lifecycle, orchestration, DI container
├── capabilities/       # Thinking logic — test execution, healing, analysis
├── infrastructure/     # Adapters — pytest runner, file system, transports
├── surfaces/           # Interfaces — CLI (Click), MCP (FastMCP)
└── taxonomy/           # Value objects, interfaces, models

Dependency Rules

surfaces      → capabilities       OK
surfaces      → infrastructure     OK
capabilities  → infrastructure     OK (uses interfaces from taxonomy)
infrastructure → taxonomy          OK
agent         → everything         OK (wiring layer)

Self-Healing

Testing Arwaky can automatically fix common test failures:

Error Type Fix Strategy
ImportError Add missing sys.path entries
AttributeError Detect typos using Levenshtein distance
AssertionError Patch expected values with actual values
TypeError Add missing positional arguments
NameError Insert common imports (os, sys, json, etc.)

Example healing loop:

1. Run test → FAIL (ImportError)
2. Healer detects missing sys.path
3. Applies fix, retries → PASS

Configuration

Environment Variables

Variable Default Description
DC_SOCKET_PATH /tmp/dc.sock Unix socket path for ComanderArwaky

Contributing

See CONTRIBUTING.md for details on:

  • Adding new test capabilities
  • Adding CLI commands
  • Adding MCP tools
  • Testing guidelines

License

MIT License. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

testing_arwaky-1.1.8.tar.gz (42.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

testing_arwaky-1.1.8-py3-none-any.whl (49.0 kB view details)

Uploaded Python 3

File details

Details for the file testing_arwaky-1.1.8.tar.gz.

File metadata

  • Download URL: testing_arwaky-1.1.8.tar.gz
  • Upload date:
  • Size: 42.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for testing_arwaky-1.1.8.tar.gz
Algorithm Hash digest
SHA256 7650c3aca9950ab3e64f3e18e42008939dcb24537aed49b77168b04b4443ba21
MD5 8b57a21d85b808bda93b215e71925add
BLAKE2b-256 5a31be3375ed0e4ab1b2e9a7adc7ea58ae626c139af177a6e0103089dfc6c565

See more details on using hashes here.

Provenance

The following attestation bundles were made for testing_arwaky-1.1.8.tar.gz:

Publisher: publish.yml on rakaarwaky/testing-arwaky

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file testing_arwaky-1.1.8-py3-none-any.whl.

File metadata

  • Download URL: testing_arwaky-1.1.8-py3-none-any.whl
  • Upload date:
  • Size: 49.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for testing_arwaky-1.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 885949c4e1185b42441bf90b587965057cd2b53159d4127b036bd2e1331b51c0
MD5 63bc6d47f9939ec9c6847740c00848fa
BLAKE2b-256 51405a5b737c9b647186705e3d74d4396a525ce97b6d9df450e093c7a004d1a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for testing_arwaky-1.1.8-py3-none-any.whl:

Publisher: publish.yml on rakaarwaky/testing-arwaky

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page