awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
TNG avatar

TNG/ArchUnit

0
View on GitHub↗
archunit.org↗

ArchUnit

ArchUnit is a Java architecture testing library and automated validator that analyzes compiled bytecode to verify that source code adheres to predefined design rules. It functions as a testing framework that fails builds when the actual code structure violates architectural constraints.

The library uses a fluent rule specification to define constraints and employs bytecode analysis to inspect class relationships and package dependencies. This allows for the automated detection of circular dependencies and the enforcement of dependency rules between packages.

The tool covers a range of structural verifications, including layered architecture verification to prevent logic leaks between software layers and the mapping of class relationships to identify forbidden calls.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Architectural Boundary Testing - Automates the verification of architectural boundaries and dependency rules between layers using unit tests.
  • Bytecode Analysis - Analyzes compiled Java class files to verify architectural structure and dependencies without executing the application code.
  • Bytecode Analysis Tools - Inspects compiled Java classes to enforce rules regarding package dependencies and class relationships.
  • Architectural Constraints - Enforces structural requirements and predefined design rules to identify architectural violations during test execution.
  • Java Bytecode Analysis - Examining compiled Java classes to enforce constraints on dependencies and package structures without manual code reviews.
  • Dependency Boundary Enforcers - Restricts package and class-level calls to ensure a clean separation of concerns and maintain architectural integrity.
  • Architectural Validations - Provides an automated framework that validates system architecture against predefined design rules.
  • Architecture Testing Frameworks - Provides a Java library for verifying architectural constraints and code structure through bytecode analysis during test execution.
  • Fluent Rule Specifications - Provides a fluent API that allows developers to specify architectural constraints using a natural language style.
  • Dependency Cycle Detection - Identifies and prevents circular references between packages to maintain a modular system.
  • Dependency Graph Visualizations - Maps class relationships into directed graphs to identify forbidden calls and circular dependencies.
  • Layered Architectures - Verifies that software layers, such as controllers and services, do not leak logic into restricted layers.
  • Architecture Design - Test library for specifying and asserting architecture rules.
  • Architecture Verification - Java library for enforcing architecture constraints via unit tests.
3,603 stars·331 forks·Java·apache-2.0·41 views

Star history

Star history chart for tng/archunitStar history chart for tng/archunit

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does tng/archunit do?

ArchUnit is a Java architecture testing library and automated validator that analyzes compiled bytecode to verify that source code adheres to predefined design rules. It functions as a testing framework that fails builds when the actual code structure violates architectural constraints.

What are the main features of tng/archunit?

The main features of tng/archunit are: Architectural Boundary Testing, Bytecode Analysis, Bytecode Analysis Tools, Architectural Constraints, Java Bytecode Analysis, Dependency Boundary Enforcers, Architectural Validations, Architecture Testing Frameworks.

Which projects share features with tng/archunit?

Projects with overlapping indexed features include: sverweij/dependency-cruiser — Dependency-cruiser is a JavaScript and TypeScript dependency analyzer and architectural linter. It serves as a static… eduardopires/equinoxproject — EquinoxProject is an ASP.NET 9 web application template and reference implementation for building enterprise software.… 0xd4d/dnspy — dnSpy is a specialized toolset for the reverse engineering, analysis, and modification of compiled .NET binaries. It… autonomousapps/dependency-analysis-gradle-plugin — The dependency analysis Gradle plugin is a diagnostic and management tool designed to optimize build configurations… samber/do — This project is a type-safe dependency injection framework for Go that manages application lifecycles and injects… davinci1010/pinduoduo_backdoor — This project is a collection of malware analysis reports and decompiled code focused on a backdoor embedded within an…

Projects sharing features with ArchUnit

These projects share indexed features with ArchUnit. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • sverweij/dependency-cruisersverweij avatar

    sverweij/dependency-cruiser

    6,804View on GitHub↗

    Dependency-cruiser is a JavaScript and TypeScript dependency analyzer and architectural linter. It serves as a static analysis tool for mapping, visualizing, and validating module relationships within a codebase without requiring code execution. The project is distinguished by its ability to enforce architectural boundaries through a rule-based system. It detects circular dependencies, identifies orphan modules and dead code, and validates dependency constraints using allowed and forbidden relationship rules. It also provides quantitative stability analysis by calculating afferent and efferen

    JavaScript
    View on GitHub↗6,804
  • eduardopires/equinoxprojectEduardoPires avatar

    EduardoPires/EquinoxProject

    6,774View on GitHub↗

    EquinoxProject is an ASP.NET 9 web application template and reference implementation for building enterprise software. It provides a structural boilerplate centered on clean architecture, domain-driven design, and the separation of read and write operations through a command query responsibility segregation framework. The project incorporates event sourcing to track the history of business entities as a sequence of events for auditing and state reconstruction. It utilizes a layered approach to decouple business logic from external dependencies and frameworks. The system includes capabilities

    C#architectureasp-net-coreasp-net-core-mvc
    View on GitHub↗6,774
  • 0xd4d/dnspy0xd4d avatar

    0xd4d/dnSpy

    29,539View on GitHub↗

    dnSpy is a specialized toolset for the reverse engineering, analysis, and modification of compiled .NET binaries. It functions as a decompiler that converts assemblies back into readable high-level source code, an assembly editor for modifying bytecode and metadata, and a debugger for inspecting compiled binaries. The project integrates a hex editor specifically for inspecting and modifying raw bytes and Common Intermediate Language structures. It allows for the direct modification of binary contents to change application behavior without requiring the original project source files. The tool

    C#
    View on GitHub↗29,539
  • autonomousapps/dependency-analysis-gradle-pluginautonomousapps avatar

    autonomousapps/dependency-analysis-gradle-plugin

    2,149View on GitHub↗

    The dependency analysis Gradle plugin is a diagnostic and management tool designed to optimize build configurations for JVM and Android projects. It identifies unused dependencies and plugins by inspecting source code and compiled bytecode, ensuring that project configurations remain lean and efficient. By integrating directly into the build lifecycle, the plugin provides actionable insights that help maintain clean dependency declarations and reduce unnecessary build overhead. The project distinguishes itself through a heuristic-based advice engine that explains the rationale behind every re

    Kotlinandroidgradle-plugingroovy
    View on GitHub↗2,149
  • Compare all 30 related projects→