# archguard **Repository Path**: amtech/archguard ## Basic Information - **Project Name**: archguard - **Description**: ArchGuard 是一个架构治理工具,用于管理和分析组织级别的软件架构。 结合 C4 模型,进行依赖分析,含容器级别(服务级别)、组件级别(/模块级别)、代码级别、数据库级别等。 同时,可以创建系统的架构适应度函数,度量系统的各项指标。 - **Primary Language**: Kotlin - **License**: MIT - **Default Branch**: master - **Homepage**: https://archguard.org/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 25 - **Created**: 2024-04-25 - **Last Updated**: 2024-04-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ArchGuard backend [](https://github.com/archguard/archguard/actions/workflows/ci.yaml) [](https://codecov.io/gh/archguard/archguard) [](https://github.com/archguard/archguard/releases) [](https://www.kotlincn.net/) [](https://openjdk.java.net/) [](https://opensource.org/licenses/MIT) [](https://gitpod.io/#https://github.com/archguard/archguard)  > ArchGuard is an architecture governance tool that can analysis architecture in container, component, code level, database, create architecture fitness functions, and test for architecture rules. Chinese: ArchGuard 是一个针对于微服务(分布式场景)下的架构工作台/治理工具。它可以帮助架构师、开发人员进行架构自助,自定义架构的洞察、 分析系统间的远程服务依赖情况、数据库依赖、API 依赖等。并根据一些架构治理模型,对现有系统提出改进建议。 - Document: [https://archguard.org/](https://archguard.org/) - Roadmap: [Roadmap](https://github.com/archguard/archguard/discussions/5) - Contribute: [Contribute to Archguard](https://archguard.org/contribution) - SubProjects: - [ArchGuard Frontend](https://github.com/archguard/archguard-frontend) - [Chapi](https://github.com/modernizing/chapi) source code analysis - [ArchGuard Co-mate](https://github.com/unit-mesh/co-mate) an AI-powered architecture copilot, design and governance tools. - Architecture:  特性(Features): - **设计态** - 架构设计、分析与治理 DSL - Feakin: [https://github.com/feakin/fklang](https://github.com/feakin/fklang) - **开发态** - 架构扫描 - 扫描配置 - 插件化规则定制 - 规则化治理:Code Smell, Test Code Smell, SQL Smell, API Smell, Documentation Smell, etc. - 架构可视化 - 基于 C4 模型的可视化分析 - 上下文:API 服务地图(API 生产者支持语言:Java、Kotlin、C#,API 消费者支持语言:TypeScript/JavaScript、Kotlin、Java 等) - 容器分析。数据库地图(支持 MyBatis、JDBI、JPA) - 组件分析 - 代码分析:支持级别模块、包、类、方法四个级别。 - 高级分析 + 可视化 - 系统不稳定性模块分析。 - 容器间:精准测试/变化分析 - 架构指标(单体DONE,分布式DOING) - 体量维度:过大的组件 - 耦合维度:枢纽组件,过深调用,循环依赖 - 内聚维度:霰弹式修改 - 冗余维度:冗余元素,过度泛化 - 质量维度:测试保护 - 代码分析 - CLOCO:代码复杂度 [#79](https://github.com/archguard/archguard/issues/79) - SCA 分析 - OpenAPI 分析 - Architecture analysis - **运行态** - APM(TODO) - **架构工作台** Features: - **Design State** - Architecture Design, Analysis and Governance DSL - Feakin: [https://github.com/feakin/fklang](https://github.com/feakin/fklang) - **Development state** - Schema scan - Scan configuration - Plug-in rule customization - Rule-based governance: Code Smell, Test Code Smell, SQL Smell, API Smell, Documentation Smell, etc. - Architecture visualization - Visual analysis based on C4 model - Context: API service map (API producer supported languages: Java, Kotlin, C#, API consumer supported languages: TypeScript/JavaScript, Kotlin, Java, etc.) - Container analysis. Database map (support MyBatis, JDBI, JPA) - Component analysis - Code analysis: supports four levels of modules, packages, classes, and methods. - Advanced Analysis + Visualization - System instability module analysis. - Between containers: precise testing/variation analysis - Architecture metrics (single DONE, distributed DOING) - Volume dimension: oversize components - Coupling dimension: hub components, too deep calls, circular dependencies - Cohesive Dimension: Shotgun Modification - Redundant dimensions: redundant elements, overgeneralization - Quality dimension: test protection - Continuous Integration - External analysis - CLOCO: Code Complexity [#79](https://github.com/archguard/archguard/issues/79) - SCA analysis - OpenAPI analysis - Architecture analysis - **Running state** - APM (TODO) - **Architecture Workbench** Screenshots:
![]() |
![]() |
![]() |
![]() |