Skip to main content

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

PyPI version Python 3.8+ License: MIT GitHub Actions

📊 Download Stats

Total Downloads Monthly Weekly Daily
Downloads Downloads/Month Downloads/Week Downloads/Day

🗳️ Community Poll

Should Aetheris become Open Source? Vote here!

Yes, open source it! No, keep it private I don't mind either way

Automated code analysis system using multiple cooperating AI agents to provide comprehensive quality, security, and architecture analysis of your codebase.

Quick Start

# Install
pip install adryserage-aetheris

# Configure
echo "GEMINI_API_KEY=your_key_here" > .env

# Analyze
aetheris analysis

Commands

aetheris analysisFull 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 fixFull 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 prFull 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-storyFull 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 issuesFull 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-genFull 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:

  1. Code Analysis Expert - Individual file analysis
  2. Architect Analysis Agent - Architecture overview
  3. Security Analysis Agent - Vulnerability detection
  4. Code Metrics Agent - Complexity and duplication
  5. Dependency Vulnerability Agent - CVE scanning
  6. 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


Download files

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

Source Distribution

adryserage_aetheris-2.5.3.tar.gz (164.9 kB view details)

Uploaded Source

Built Distribution

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

adryserage_aetheris-2.5.3-py3-none-any.whl (156.7 kB view details)

Uploaded Python 3

File details

Details for the file adryserage_aetheris-2.5.3.tar.gz.

File metadata

  • Download URL: adryserage_aetheris-2.5.3.tar.gz
  • Upload date:
  • Size: 164.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for adryserage_aetheris-2.5.3.tar.gz
Algorithm Hash digest
SHA256 af2f412f623e6f8378c8ec6362d1ff0ed3ae058d0bb0983d4c7343646340a5fe
MD5 fab1f04fcdf39843d0287c96fcf0786a
BLAKE2b-256 2d80dda6e54c93959e901dafb76c6877b1e722f4cf0e02da622d226ea620e056

See more details on using hashes here.

Provenance

The following attestation bundles were made for adryserage_aetheris-2.5.3.tar.gz:

Publisher: publish.yml on adryserage/aetheris

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

File details

Details for the file adryserage_aetheris-2.5.3-py3-none-any.whl.

File metadata

File hashes

Hashes for adryserage_aetheris-2.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 11c31134877c8be4fbe3b9ed13ae008f4a9f61022497be57d8b1e1c04a382e32
MD5 c710bf89e5a602c7fe8cb17c5e3e69e6
BLAKE2b-256 08079b554dba0b75d94c43b1bca9a9ecef85bbcdedbb7080963590d01f578f20

See more details on using hashes here.

Provenance

The following attestation bundles were made for adryserage_aetheris-2.5.3-py3-none-any.whl:

Publisher: publish.yml on adryserage/aetheris

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