No description
- Python 100%
Community-tier code visualization toolkit (AGPL-3.0). Pro/Enterprise modules license-stubbed; internal intelligence platform, deployment, and status docs stripped per export_public.sh leak gates. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| docs | ||
| src | ||
| tests | ||
| .gitignore | ||
| LICENSE | ||
| LICENSE-COMMERCIAL.txt | ||
| LICENSE.txt | ||
| LICENSING.md | ||
| pyproject.toml | ||
| README.md | ||
ShandorCode
AI code analysis and optimization toolkit — Part of the GozerAI ecosystem.
Overview
ShandorCode is a production-ready tool for visualizing code structure, dependencies, and complexity metrics across multiple programming languages. It provides real-time updates during development sessions, helping you maintain clean architecture.
Features (Community Tier)
- Multi-language parsing — Python, TypeScript, JavaScript (extensible)
- Complexity metrics — Cyclomatic complexity, maintainability index, lines of code
- Dependency graphs — Module relationships, import hierarchies, call graphs
- Real-time updates — File watcher with live WebSocket updates
- Architecture validation — Detect violations of modular boundaries
- FastAPI server — WebSocket support for live analysis
Pro Features (requires license)
- Advanced AI-powered code analysis and insights
- Pattern detection and recommendations
Enterprise Features (requires license)
- Interactive D3.js visualization with multiple view modes
- Enhanced UI dashboards
Visit gozerai.com/pricing for Pro and Enterprise tier details.
Installation
pip install -e '.[dev]'
Quick Start
# Start ShandorCode server
python -m src.api.server --path /path/to/your/repo
# Open browser to http://localhost:8765
Usage
from src.visualization.core.analyzer import CodeAnalyzer
from src.visualization.core.models import ModuleBoundary
analyzer = CodeAnalyzer("/path/to/repo")
graph = analyzer.analyze()
# Get dependency metrics
metrics = analyzer.get_metrics()
# Check for architecture violations
violations = analyzer.check_boundaries([
ModuleBoundary(name="core", path="src/visualization/core", allowed_dependencies=[]),
ModuleBoundary(name="api", path="src/api", allowed_dependencies=["core"]),
])
Running Tests
pytest tests/ -v
Requirements
- Python >= 3.12
- See pyproject.toml for dependencies
License
This project is dual-licensed:
- AGPL-3.0 — For open-source use (see LICENSE)
- Commercial — For proprietary integration
Contact chris@gozerai.com for commercial licensing.
Security
For security issues, please email security@gozerai.com rather than using the issue tracker.