2 releases
| 0.26.4 | Jul 3, 2025 |
|---|---|
| 0.26.3 | Jul 2, 2025 |
#7 in #quality-analysis
34 downloads per month
4MB
102K
SLoC
PAIML MCP Agent Toolkit (pmat)
Zero-configuration AI context generation system that analyzes any codebase instantly through CLI, MCP, or HTTP interfaces. Built by Pragmatic AI Labs with extreme quality standards and zero tolerance for technical debt.
๐ Installation
Install pmat using one of the following methods:
-
From Crates.io (Recommended):
cargo install pmat -
With the Quick Install Script (Linux/macOS):
curl -sSfL https://raw.githubusercontent.com/paiml/paiml-mcp-agent-toolkit/master/scripts/install.sh | sh -
From Source:
git clone https://github.com/paiml/paiml-mcp-agent-toolkit cd paiml-mcp-agent-toolkit cargo build --release -
From GitHub Releases: Pre-built binaries for Linux, macOS, and Windows are available on the releases page.
Requirements
- Rust: 1.80.0 or later
- Git: For repository analysis
๐ Getting Started
Quick Start
# Analyze current directory
pmat context
# Get complexity metrics for top 10 files
pmat analyze complexity --top-files 10
# Find technical debt
pmat analyze satd
# Run comprehensive quality checks
pmat quality-gate --strict
Using as a Library
Add to your Cargo.toml:
[dependencies]
pmat = "0.27.0"
Basic usage:
use pmat::{
services::code_analysis::CodeAnalysisService,
types::ProjectPath,
};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let service = CodeAnalysisService::new();
let path = ProjectPath::new(".");
// Generate context
let context = service.generate_context(path, None).await?;
println!("Project context: {}", context);
// Analyze complexity
let complexity = service.analyze_complexity(path, Some(10)).await?;
println!("Complexity results: {:?}", complexity);
Ok(())
}
Key Features
๐ Code Analysis
- Deep Context Analysis - Comprehensive AST-based code analysis with defect prediction
- Complexity Analysis - Cyclomatic and cognitive complexity metrics
- Dead Code Detection - Find unused code across your project
- Technical Debt Gradient (TDG) - Quantify and prioritize technical debt
- SATD Detection - Find Self-Admitted Technical Debt in comments
- Code Duplication - Detect exact, renamed, gapped, and semantic clones
๐ ๏ธ Refactoring Tools
- AI-Powered Auto Refactoring -
pmat refactor autoachieves extreme quality standards- Single File Mode -
pmat refactor auto --single-file-mode --file path/to/file.rsfor targeted refactoring
- Single File Mode -
- Documentation Cleanup -
pmat refactor docsmaintains Zero Tolerance Quality Standards - Interactive Refactoring - Step-by-step guided refactoring with explanations
- Enforcement Mode - Enforce extreme quality standards using state machines
- Single File Mode -
pmat enforce extreme --file path/to/file.rsfor file-specific enforcement
- Single File Mode -
๐ Quality Gates
- Lint Hotspot Analysis - Find files with highest defect density using EXTREME Clippy standards
- Single File Mode -
pmat lint-hotspot --file path/to/file.rsfor targeted analysis
- Single File Mode -
- Provability Analysis - Lightweight formal verification with property analysis
- Defect Prediction - ML-based prediction of defect-prone code
- Quality Enforcement - Exit with error codes for CI/CD integration
๐ง Language Support
- Rust - Full support with cargo integration
- TypeScript/JavaScript - Modern AST-based analysis
- Python - Comprehensive Python 3 support
- Kotlin - Memory-safe parsing with full language support
- C/C++ - Tree-sitter based analysis
- WebAssembly - WASM binary and text format analysis
- AssemblyScript - TypeScript-like syntax for WebAssembly
- Makefiles - Specialized linting and analysis
๐ Tool Usage
CLI Interface
# Zero-configuration context generation
pmat context # Auto-detects language
pmat context --format json # JSON output
pmat context rust # Force language
# Code analysis
pmat analyze complexity --top-files 5 # Complexity analysis
pmat analyze churn --days 30 # Git history analysis
pmat analyze dag --target-nodes 25 # Dependency graph
pmat analyze dead-code --format json # Dead code detection
pmat analyze satd --top-files 10 # Technical debt
pmat analyze deep-context --format json # Comprehensive analysis
pmat analyze big-o # Big-O complexity analysis
pmat analyze makefile-lint # Makefile quality linting
pmat analyze proof-annotations # Provability analysis
# Analysis commands
pmat analyze graph-metrics # Graph centrality metrics (PageRank, betweenness, closeness)
pmat analyze name-similarity "function_name" # Fuzzy name matching with phonetic support
pmat analyze symbol-table # Symbol extraction with cross-references
pmat analyze duplicates --min-lines 10 # Code duplication detection
pmat quality-gate --strict # Comprehensive quality enforcement
pmat diagnose --verbose # Self-diagnostics and health checks
# WebAssembly Support
pmat analyze assemblyscript --wasm-complexity # AssemblyScript analysis with WASM metrics
pmat analyze webassembly --include-binary # WebAssembly binary and text format analysis
# Project scaffolding
pmat scaffold rust --templates makefile,readme,gitignore
pmat list # Available templates
# Refactoring engine
pmat refactor interactive # Interactive refactoring
pmat refactor serve --config refactor.json # Batch refactoring
pmat refactor status # Check refactor progress
pmat refactor resume # Resume from checkpoint
pmat refactor auto # AI-powered automatic refactoring
pmat refactor docs --dry-run # Clean up documentation
# Demo and visualization
pmat demo --format table # CLI demo
pmat demo --web --port 8080 # Web interface
pmat demo --repo https://github.com/user/repo # Analyze GitHub repo
# Quality enforcement
pmat quality-gate --fail-on-violation # Run all quality checks
pmat enforce extreme # Enforce extreme quality standards
๐ซ See CLI usage in action
Context and code analysis:
Running demos/visualization:
MCP Integration (Claude Code)
# Add to Claude Code
claude mcp add pmat ~/.local/bin/pmat
๐ซ See Claude Code usage in action
Available MCP tools:
generate_template- Generate project files from templatesscaffold_project- Generate complete project structureanalyze_complexity- Code complexity metricsanalyze_code_churn- Git history analysisanalyze_dag- Dependency graph generationanalyze_dead_code- Dead code detectionanalyze_deep_context- Comprehensive analysisgenerate_context- Zero-config context generationanalyze_big_o- Big-O complexity analysis with confidence scoresanalyze_makefile_lint- Lint Makefiles with 50+ quality rulesanalyze_proof_annotations- Lightweight formal verificationanalyze_graph_metrics- Graph centrality and PageRank analysisrefactor_interactive- Interactive refactoring with explanations
HTTP API
# Start server
pmat serve --port 8080 --cors
# API endpoints
curl "http://localhost:8080/health"
curl "http://localhost:8080/api/v1/analyze/complexity?top_files=5"
curl "http://localhost:8080/api/v1/templates"
# POST analysis
curl -X POST "http://localhost:8080/api/v1/analyze/deep-context" \
-H "Content-Type: application/json" \
-d '{"project_path":"./","include":["ast","complexity","churn"]}'
Recent Updates
๐ v0.26.3 - Quality Uplift
- SATD Elimination: Removed all TODO/FIXME/HACK comments from implementation.
- Complexity Reduction: All functions now below a cyclomatic complexity of 20.
- Extreme Linting:
make lintpasses with pedantic and nursery standards. - Single File Mode: Enhanced support for targeted quality improvements.
๐งน v0.26.1 - Documentation Cleanup (pmat refactor docs)
- AI-assisted documentation cleanup to maintain Zero Tolerance Quality Standards.
- Identifies and removes temporary files, outdated reports, and build artifacts.
- Interactive mode for reviewing files before removal with automatic backups.
๐ฅ v0.26.0 - New Analysis Commands
- Graph Metrics:
pmat analyze graph-metricsfor centrality analysis. - Name Similarity:
pmat analyze name-similarityfor fuzzy name matching. - Symbol Table:
pmat analyze symbol-tablefor symbol extraction. - Code Duplication:
pmat analyze duplicatesfor detecting duplicate code.
Zero Tolerance Quality Standards
This project follows strict quality standards:
- ZERO SATD: No TODO, FIXME, HACK, or placeholder implementations
- ZERO High Complexity: No function exceeds cyclomatic complexity of 20
- ZERO Known Defects: All code must be fully functional
- ZERO Incomplete Features: Only complete, tested features are merged
๐ Output Formats
- JSON - Structured data for tools and APIs
- Markdown - Human-readable reports
- SARIF - Static analysis format for IDEs
- Mermaid - Dependency graphs and diagrams
๐ฏ Use Cases
For AI Agents
- Context Generation: Give AI perfect project understanding
- Code Analysis: Deterministic metrics and facts
- Template Generation: Scaffolding with best practices
For Developers
- Code Reviews: Automated complexity and quality analysis
- Technical Debt: SATD detection and prioritization
- Onboarding: Quick project understanding
- CI/CD: Integrate quality gates and analysis
For Teams
- Documentation: Auto-generated project overviews
- Quality Gates: Automated quality scoring
- Dependency Analysis: Visual dependency graphs
- Project Health: Comprehensive health metrics
๐ Documentation
Explore our comprehensive documentation to get the most out of pmat.
Getting Started
- Architecture: Understand the system design and principles.
- CLI Reference: View the full command-line interface guide.
- API Documentation: Browse the complete Rust API documentation on docs.rs.
Usage Guides
- Feature Overview: Discover all available features.
- MCP Integration: Learn how to integrate
pmatwith AI agents. - CI/CD Integration: Set up quality gates in your CI/CD pipeline.
Development
- Contributing Guide: Read our guidelines for contributing to the project.
- Release Process: Follow our step-by-step release workflow.
๐ ๏ธ System Operations
Memory Management
For systems with low swap space, we provide a configuration tool:
make config-swap # Configure 8GB swap (requires sudo)
make clear-swap # Clear swap memory between heavy operations
๐งช Testing
The project uses a distributed test architecture for fast feedback:
# Run specific test suites
make test-unit # <10s - Core logic tests
make test-services # <30s - Service integration
make test-protocols # <45s - Protocol validation
make test-e2e # <120s - Full system tests
make test-performance # Performance regression
# Run all tests in parallel
make test-all
# Coverage analysis
make coverage-stratified
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details.
Quick Start for Contributors
# Clone and setup
git clone https://github.com/paiml/paiml-mcp-agent-toolkit
cd paiml-mcp-agent-toolkit
# Install dependencies
make install-deps
# Run tests
make test-fast # Quick validation
make test-all # Complete test suite
# Check code quality
make lint # Run extreme quality lints
make coverage # Generate coverage report
Development Workflow
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following our Zero Tolerance Quality Standards
- Run
make lintandmake test-fastbefore committing - Submit a pull request with a clear description of changes
See CONTRIBUTING.md for detailed guidelines.
๐ License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.
Built with โค๏ธ by Pragmatic AI Labs
Dependencies
~45โ87MB
~1.5M SLoC