-
Couldn't load subscription status.
- Fork 134
feat: Auto-Healing System for Python Code Quality #34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
michaeljabbour
wants to merge
10
commits into
microsoft:main
Choose a base branch
from
michaeljabbour:feat/auto-healing-system
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat: Auto-Healing System for Python Code Quality #34
michaeljabbour
wants to merge
10
commits into
microsoft:main
from
michaeljabbour:feat/auto-healing-system
+3,465
−1,632
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
🌍 Enable Amplifier's powerful AI agents and tools on any codebase, anywhere This major enhancement allows developers to harness Amplifier's 20+ specialized agents (zen-architect, bug-hunter, security-guardian, etc.) on any project without copying files or modifying existing repositories. ✨ New Features: - Global 'amplifier' command for system-wide access - Smart auto-detection of Amplifier installation location - Enhanced startup scripts with comprehensive error handling - Seamless integration with existing Claude workflows - Cross-platform compatibility (macOS, Linux, WSL) 🚀 Usage: make install-global # Install global command amplifier ~/my-project # Use Amplifier on any project amplifier --help # Show usage examples 📈 Benefits: - All 20+ specialized agents available on any codebase - Shared knowledge base across all projects - Same powerful automation and quality tools - Project isolation - changes only affect target project - No need to modify or copy files to existing projects 🔧 Implementation: - Enhanced amplifier-anywhere.sh with robust error handling - New bin/amplifier wrapper for global installation - Updated Makefile with install-global targets - Comprehensive documentation in README - Fixed Claude settings path resolution This democratizes access to Amplifier's AI development superpowers, making every codebase instantly compatible with the full Amplifier toolkit.
- Fix handling of Claude flags when no directory specified - Ensure --version flag works correctly without triggering full startup - Improve argument parsing logic to handle edge cases - Maintain backward compatibility with all usage patterns Tested scenarios: ✅ amplifier --version (shows version only) ✅ amplifier --print 'command' (uses current dir + Claude args) ✅ amplifier /path/to/project --model sonnet (explicit dir + args) ✅ amplifier /nonexistent/path (proper error handling) ✅ amplifier --help (shows help text)
- Modify .gitignore to permit bin/amplifier global command - Maintain exclusion of other build artifacts - Enable proper version control of global installation script
- Modified bin/amplifier to capture and pass the original PWD - Updated amplifier-anywhere.sh to use ORIGINAL_PWD when available - Fixes issue where 'amplifier' from any directory would default to amplifier repo instead of current dir
Introduces an automated code quality improvement system that analyzes Python modules for complexity, type errors, and code health, then uses Claude to refactor and simplify unhealthy code. Core Features: - Health monitoring and scoring (0-100 scale) based on cyclomatic complexity, LOC, and type errors - Claude-powered code refactoring via direct SDK integration - Git branch creation for safe, trackable improvements - Atomic file writes to prevent corruption - Validation of improvements before committing - Configurable health threshold and batch size CLI Interface: - `amplifier heal` - Check and heal unhealthy modules - `amplifier heal --check-only` - Report health without healing - `amplifier heal --max N` - Heal up to N modules - `amplifier heal --threshold N` - Custom health threshold - `amplifier heal --yes` - Skip confirmation prompt Claude Code Integration: - `/heal` slash command with all CLI options - Graceful cancellation handling (Ctrl+C) - Clear progress and results reporting Safety Features: - Timestamped git branches for each healing session - Clean working tree checks - File size limit (400 lines) to prevent timeouts - Critical file patterns skipped (__init__, setup, config, test_) - Syntax and import validation before committing Files Added: - amplifier/cli/ - Click-based CLI framework - amplifier/healing/ - Healing prompts - amplifier/tools/ - Health monitoring, git utils, Claude integration - .claude/commands/heal.md - Command documentation - .claude/slash_commands/heal.py - Slash command wrapper - test_claude_healer.py - Integration tests Files Modified: - pyproject.toml - Added [project.scripts] entry point - Makefile - Added install-global target - README.md - Added comprehensive auto-healing documentation - .gitignore - Added .amplifier/ runtime directory - CLAUDE.md - Added REPOSITORY_GUIDELINES.md import - REPOSITORY_GUIDELINES.md - Preserved custom guidelines Upstream Compatibility: - Restored AGENTS.md from microsoft/amplifier - Maintained package name as "workspace" - All changes are additive, no breaking changes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
michaeljabbour
added a commit
to michaeljabbour/amplifier
that referenced
this pull request
Sep 30, 2025
Complete comprehensive technical specification library with all 44 principles: **People (6 specs)** - #1 Small AI-first working groups - #2 Strategic human touchpoints only - #3 Prompt engineering as core skill - microsoft#4 Test-based verification over code review - microsoft#5 Conversation-driven development - microsoft#6 Human escape hatches always available **Process (13 specs)** - microsoft#7 Regenerate, don't edit - microsoft#8 Contract-first everything - microsoft#9 Tests as the quality gate - microsoft#10 Git as safety net - microsoft#11 Continuous validation with fast feedback - microsoft#12 Incremental processing as default - microsoft#13 Parallel exploration by default - microsoft#14 Context management as discipline - microsoft#15 Git-based everything - microsoft#16 Docs define, not describe - microsoft#17 Prompt versioning and testing - microsoft#18 Contract evolution with migration paths - microsoft#19 Cost and token budgeting **Technology (18 specs)** - microsoft#20 Self-modifying AI-first codebase - microsoft#21 Limited and domain-specific by design - microsoft#22 Layered virtualization - microsoft#23 Protected self-healing kernel - microsoft#24 Long-running agent processes - microsoft#25 Simple interfaces by design - microsoft#26 Stateless by default - microsoft#27 Disposable components everywhere - microsoft#28 CLI-first design - microsoft#29 Tool ecosystems as extensions - microsoft#30 Observability baked in - microsoft#31 Idempotency by design (reference) - microsoft#32 Error recovery patterns built in - microsoft#33 Graceful degradation by design - microsoft#34 Feature flags as deployment strategy - microsoft#35 Least-privilege automation - microsoft#36 Dependency pinning and security scanning - microsoft#37 Declarative over imperative **Governance (7 specs)** - microsoft#38 Access control and compliance - microsoft#39 Metrics and evaluation everywhere - microsoft#40 Knowledge stewardship and institutional memory - microsoft#41 Adaptive sandboxing with explicit approvals - microsoft#42 Data governance and privacy controls - microsoft#43 Model lifecycle management - microsoft#44 Self-serve recovery with known-good snapshots Each specification includes: - Plain-language definition - AI-first development rationale - 4-6 implementation approaches - 5 good/bad example pairs with working code - 6 related principles with relationships - 7 common pitfalls with examples - Tools organized by category - 12 actionable checklist items Statistics: - 44 specifications totaling ~10,000+ lines - 220+ good/bad code example pairs - 240+ implementation approaches - 300+ documented anti-patterns - 500+ tools and frameworks - 250+ cross-principle relationships Created through parallel AI agent execution demonstrating Principle microsoft#13 (Parallel Exploration by Default). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The [project.scripts] entry point was creating a Python CLI that conflicted with the shell script wrapper. Removing it ensures the global amplifier command launches Claude Code as intended. Users should call the Python CLI directly when needed: python -m amplifier.cli heal
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Auto-Healing System for Python Code Quality
Summary
Adds an automated code quality improvement system that analyzes Python modules for complexity, type errors, and code health, then uses Claude to refactor and simplify unhealthy code. The system creates safe, trackable improvements through git branches and atomic file operations.
Features
1. Health Monitoring & Scoring
2. Claude-Powered Code Refactoring
3. Safety Features
4. CLI Interface
5. Claude Code Integration
/healfor use within Claude Code sessions6. Global Command Access
make install-globalinstalls system-wideamplifiercommandImplementation Details
New Files
amplifier/cli/- Click-based CLI frameworkcore.py- Main CLI entry pointcommands/heal.py- Healing command implementationamplifier/healing/- Core healing logicprompts/simplify.md- Healing prompt templateamplifier/tools/- Utility modulesclaude_healer.py- Claude SDK integrationhealth_monitor.py- Health scoring enginegit_utils.py- Git operations with safety checksauto_healer.py- Batch healing orchestration.claude/commands/heal.md- Command documentation.claude/slash_commands/heal.py- Slash command wrappertest_claude_healer.py- Integration testModified Files
pyproject.toml- Added[project.scripts]entry point for global commandMakefile- Addedinstall-globaltargetREADME.md- Added comprehensive auto-healing documentation (70+ lines).gitignore- Added.amplifier/runtime directoryCLAUDE.md- Added REPOSITORY_GUIDELINES.md importREPOSITORY_GUIDELINES.md- Preserved custom guidelines while restoring upstream AGENTS.mdPreserved Upstream Compatibility
AGENTS.md(707 lines) from microsoft/amplifierHealth Score Calculation
Example: A 250-line module with 15 control flow statements and 2 type errors:
Usage Example
Limitations
__init__,setup,config,settings, ortest_are skipped for safety⏭️ filename.py: File too large (692 lines, limit: 400)Testing
make test)make check)test_claude_healer.py)Documentation
Breaking Changes
None - This is a pure addition with no modifications to existing functionality.
Test Plan
make check- All checks passmake test- All tests pass/heal --check-only- Shows health analysis/healwith cancellation - Exits gracefullyamplifier heal --yes --max 2- Would heal small modules (not run on repo to avoid changes)make install-globalworksFollow-up Work
Future enhancements could include:
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com