archguard  by archguard

Analyze and govern system architecture

Created 4 years ago
668 stars

Top 50.0% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

ArchGuard is an architecture workbench and governance tool for microservice/distributed systems. It automates analysis across code, components, containers, and databases, enabling the creation and enforcement of architecture fitness functions and rules. It provides actionable insights for self-service architecture improvement and governance.

How It Works

It employs multi-layered analysis, supporting design-time governance via a DSL (Feakin) and development-time scanning via CLI, Gradle plugins, or library integration. A pluggable rule engine detects various "smells" (code, test, SQL, API, documentation), and it offers C4 model-based architecture visualization. Advanced analysis covers system instability, inter-container dependencies, and metrics for volume, coupling, cohesion, and quality.

Quick Start & Requirements

Integration is via ArchGuard Library (Maven Central), Scanner CLI, or Gradle Plugin for CI/CD. The backend (ArchGuard Web) provides a RESTful API. The Chapi parser supports Java, Python, Go, Kotlin, TypeScript, C, C#, Scala, C++. Database analysis covers MyBatis, JDBI, JPA. API producers: Java, Kotlin, C#; consumers: TypeScript/JavaScript, Kotlin, Java. Docs: https://archguard.org/.

Highlighted Details

  • Comprehensive analysis includes code complexity (CLOCO), SCA, OpenAPI, and database schemas.
  • Features rule-based governance for code, test, SQL, API, and documentation smells.
  • Visualizes architecture using the C4 model, generating API service maps and database maps.
  • Proposes a lightweight MCP server for AI integration (<100MB memory, <2s startup).
  • Analyzes system instability, inter-container dependencies, and key metrics.

Maintenance & Community

Supported by JetBrains, the project maintains a community via WeChat. Key sub-projects include ArchGuard Frontend, Chapi source code analysis, and ArchGuard Co-mate, an AI architecture copilot.

Licensing & Compatibility

Distributed under the permissive MIT license, allowing broad compatibility with commercial use and integration into closed-source projects without copyleft restrictions.

Limitations & Caveats

Distributed system architecture metrics are marked "DOING," indicating ongoing development. The "Running state APM" is "TODO." Some language support for specific parsing features is marked "new" or not yet implemented.

Health Check
Last Commit

3 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
4 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.