Aetheris - Multi-agent AI code analysis system with PR review, multi-provider consensus (Gemini/Claude/OpenAI), security analysis, and automatic bug fixing via Claude Code
Project description
Aetheris by Adryan - Multi-Agent Code Analysis System
Automated code analysis system using multiple cooperating AI agents to provide comprehensive quality, security, and architecture analysis of your codebase.
We Want Your Input! Help shape the future of Aetheris - vote on whether it should become fully open source.
📊 Download Stats
| Total Downloads | Monthly | Weekly | Daily |
|---|---|---|---|
🗳️ Community Poll
Should Aetheris become Open Source? Vote here!
Quick Start
# Install
pip install adryserage-aetheris
# Configure
echo "GEMINI_API_KEY=your_key_here" > .env
# Analyze
aetheris analysis
Commands
aetheris analysis — Full docs
Full codebase analysis with multi-agent AI.
aetheris analysis # Full analysis
aetheris analysis --changed-files-only --files "src/a.py,src/b.py"
aetheris analysis --changed-files-only --pr-number 123
| Option | Description |
|---|---|
--changed-files-only |
Analyze only modified files |
--files |
Files to analyze (JSON array or comma-separated) |
--pr-number |
PR number for context |
aetheris fix — Full docs
Fix bugs automatically with Claude Code.
aetheris fix --test # Test Claude Code connection
aetheris fix --auto --batch-size 10 # Parallel mode (recommended)
aetheris fix --analyze-first # Analyze then fix
aetheris fix --severity high # Only critical/high bugs
aetheris fix --retry-failed # Retry failed fixes
| Option | Description |
|---|---|
--test |
Test Claude Code connection |
--analyze-first |
Run analysis before fixing |
--auto |
Automatic mode (no confirmations) |
--batch-size, -b |
Parallel fixes count (default: 1, max: 10) |
--timeout |
Timeout per bug in seconds (default: 300) |
--severity |
Minimum severity: critical, high, medium, low |
--terminal |
Open Claude Code in terminal window |
--retry-failed |
Retry only previously failed bugs |
aetheris pr — Full docs
Review GitHub Pull Requests with AI.
aetheris pr --url https://github.com/owner/repo/pull/123
aetheris pr --repo owner/repo --pr 123
aetheris pr --url ... --providers gemini,claude # Multi-provider
aetheris pr --url ... --dry-run --output review.md
| Option | Description |
|---|---|
--url |
PR URL |
--repo |
Repository (owner/repo format) |
--pr |
PR number (required with --repo) |
--providers |
AI providers, comma-separated (default: gemini) |
--consensus |
Report only issues found by ALL providers (default) |
--no-consensus |
Report all issues from all providers |
--dry-run |
Analyze without posting comments |
--severity |
Minimum severity to report |
--no-inline |
Don't post inline comments |
--output |
Save report to file |
--auto-fix |
Propose to fix with Claude Code (own PRs) |
aetheris user-story — Full docs
Analyze user flows and detect frontend↔backend inconsistencies.
aetheris user-story --auto # Auto-detect flows
aetheris user-story --text "When user clicks..." # From description
aetheris user-story --file user-stories.md # From file
aetheris user-story --entry src/LoginButton.tsx # From code entry
| Option | Description |
|---|---|
--text |
User story as text description |
--file |
Path to markdown file with stories |
--entry |
Code file as entry point |
--auto |
Auto-detect all user flows |
--output-format |
markdown, json, or both (default) |
--diagram |
mermaid, plantuml, both, or none |
--output-file |
Output file path |
--severity |
Minimum severity for issues |
aetheris issues — Full docs
Create GitHub issues from analysis reports.
aetheris issues # Create all issues
aetheris issues --dry-run # Preview only
aetheris issues --labels security,sprint-42
aetheris issues --assignee username --repo owner/repo
| Option | Description |
|---|---|
--dry-run |
Preview issues without creating |
--labels |
Additional labels (comma-separated) |
--assignee |
GitHub username to assign |
--repo |
Target repository (owner/repo) |
--from-report |
Process specific report file only |
aetheris pr-gen — Full docs
Generate PRs with AI-generated fixes for bugs.
aetheris pr-gen --dry-run # Preview PRs
aetheris pr-gen --link-issues # Link to GitHub issues
aetheris pr-gen --base-branch develop
aetheris pr-gen --bug-index 0 # Single bug
| Option | Description |
|---|---|
--dry-run |
Preview PRs without creating |
--base-branch |
Target base branch for PRs |
--from-report |
Process specific report file only |
--bug-index |
Process only bug at this index (0-based) |
--link-issues |
Link PRs to matching GitHub issues |
--issue-number |
Link all PRs to this issue number |
Features
Multi-Provider AI
- Providers: Gemini, Claude (Anthropic), OpenAI
- Consensus Mode: Only report issues found by ALL providers
- Structured Outputs: JSON responses validated via Pydantic
Analysis Capabilities
- Security vulnerabilities (injections, secrets, weak crypto)
- Code quality and metrics
- Architecture review
- Dependency CVE scanning via OSV API
- CWE/OWASP classifications
Performance
- Smart Cache: 60-80% API cost reduction (git SHA based)
- Parallelization: Dependency graph-based
- Context Caching: 50% cost reduction (Gemini)
- Batch API: 50% price reduction (Gemini)
Automation
- GitHub Actions integration
- Auto-fix with Claude Code
- GitHub issue creation
- PR generation with fixes
Documentation
| Topic | Link |
|---|---|
| Installation | docs/installation.md |
| Configuration | docs/configuration.md |
| AI Providers | docs/ai-providers.md |
| Commands Reference | docs/commands/README.md |
| Analysis Agents | docs/agents.md |
| Features | docs/features.md |
| GitHub Actions | docs/github-actions.md |
| Extensibility | docs/PLUGINS.md |
| Troubleshooting | docs/troubleshooting.md |
Analysis Agents
Aetheris uses 6 specialized agents:
- Code Analysis Expert - Individual file analysis
- Architect Analysis Agent - Architecture overview
- Security Analysis Agent - Vulnerability detection
- Code Metrics Agent - Complexity and duplication
- Dependency Vulnerability Agent - CVE scanning
- Quality Assurance Agent - Final synthesis
Basic Configuration
Create .env file:
# AI Provider (gemini, openai, claude)
AI_PROVIDER=gemini
GEMINI_API_KEY=your_key_here
# Optional
AI_MODEL=gemini-2.5-pro
BATCH_SIZE=10
ENABLE_CACHE=true
See Configuration Guide for all options.
Example Workflows
Full Analysis
aetheris analysis
Analyze and Fix Bugs
aetheris fix --analyze-first --auto --batch-size 10
PR Review with Multiple Providers
aetheris pr --url https://github.com/owner/repo/pull/123 --providers gemini,claude
Create Issues and Generate Fix PRs
aetheris issues
aetheris pr-gen --link-issues
Project Structure
aetheris/
├── src/
│ ├── core/ # Main modules (analyzer, orchestrator, cache)
│ ├── models/ # Data models
│ ├── agents/ # AI agents
│ └── services/ # Utilities
├── docs/ # Documentation
├── scripts/ # Utility scripts
└── main.py # Entry point
Supported Languages
Python, TypeScript, JavaScript, Dart/Flutter, Java, Kotlin, Swift, Go, Rust, C/C++, C#, PHP, Ruby, and more.
Output
Reports generated in docs/analyses/:
- Individual file reports
- Architecture overview
- Quality assurance report
- Vulnerabilities report
- Performance metrics (JSON)
License
MIT License
Contributing
Contributions welcome! Please open an issue or pull request.
Resources
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adryserage_aetheris-2.5.4.tar.gz.
File metadata
- Download URL: adryserage_aetheris-2.5.4.tar.gz
- Upload date:
- Size: 165.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da0b6dd12010c8ba6a924b308ec929abf3921c4c533a81c655b173a728f5e7f6
|
|
| MD5 |
906fc9ddb5bad20211418ddcc19fc632
|
|
| BLAKE2b-256 |
27f92f7b64fffd33f89a8a8aa84bb34540a8292defed30f2dc3b328e32ff12c5
|
Provenance
The following attestation bundles were made for adryserage_aetheris-2.5.4.tar.gz:
Publisher:
publish.yml on adryserage/aetheris
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adryserage_aetheris-2.5.4.tar.gz -
Subject digest:
da0b6dd12010c8ba6a924b308ec929abf3921c4c533a81c655b173a728f5e7f6 - Sigstore transparency entry: 799114238
- Sigstore integration time:
-
Permalink:
adryserage/aetheris@8089a62e15da2a8220705e519438c2db0ac69cc6 -
Branch / Tag:
refs/tags/v2.5.4 - Owner: https://github.com/adryserage
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8089a62e15da2a8220705e519438c2db0ac69cc6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file adryserage_aetheris-2.5.4-py3-none-any.whl.
File metadata
- Download URL: adryserage_aetheris-2.5.4-py3-none-any.whl
- Upload date:
- Size: 156.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bc98b385b9a10d8d63885735bec444319a7209bc8974156b99c16b78fdcad70
|
|
| MD5 |
4869700824930890de187dfc8d75ba79
|
|
| BLAKE2b-256 |
aa881e6c7cbe21c858aa1583bc963b0d62acdaa0afdd76969ff442dad8f50fda
|
Provenance
The following attestation bundles were made for adryserage_aetheris-2.5.4-py3-none-any.whl:
Publisher:
publish.yml on adryserage/aetheris
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
adryserage_aetheris-2.5.4-py3-none-any.whl -
Subject digest:
3bc98b385b9a10d8d63885735bec444319a7209bc8974156b99c16b78fdcad70 - Sigstore transparency entry: 799114239
- Sigstore integration time:
-
Permalink:
adryserage/aetheris@8089a62e15da2a8220705e519438c2db0ac69cc6 -
Branch / Tag:
refs/tags/v2.5.4 - Owner: https://github.com/adryserage
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8089a62e15da2a8220705e519438c2db0ac69cc6 -
Trigger Event:
push
-
Statement type: