30 open-source projects similar to tng/archunit, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best ArchUnit alternative.
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
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
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
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
This project is a type-safe dependency injection framework for Go that manages application lifecycles and injects dependencies into structures using reflection and metadata tags. It functions as a service lifecycle manager and an interface binding library to decouple service consumption from concrete implementations. The framework utilizes a hierarchical service container, organizing services into a tree of nested scopes where child containers inherit dependencies from their ancestors. It includes a dependency graph visualizer for inspecting relationships and invocation chains, as well as a s
Smali is a two-way binary translation toolset designed to convert Dalvik bytecode to human-readable assembly and back again. It provides a mechanism for the disassembly and assembly of executable files used in virtual machine environments. The project enables the modification of compiled Android application logic by transforming binary files into editable assembly and rebuilding them. It is used for reverse engineering, malware analysis, and the study of low-level instructions to identify program behavior or security flaws. The toolkit covers binary construction through smali code assembly a
gstack is an AI agent framework and development workflow system designed to automate the software development lifecycle. It coordinates specialized AI personas to manage tasks across product design, engineering management, and quality assurance, transforming product intent into technical specifications and final releases. The project is distinguished by its deep integration of headless browser automation and semantic code memory. It utilizes a persistent Chromium daemon for web scraping and visual auditing, and implements a searchable knowledge base that logs architectural decisions and repos
Fernflower is a Java bytecode decompiler designed to convert compiled Java class files back into human-readable source code. It functions as a bytecode analysis tool that recovers original program logic and structure from compiled binaries. The project includes capabilities for obfuscated identifier resolution to rename ambiguous member elements, ensuring clear identifiers in the resulting source. These features support the analysis of obfuscated code, legacy code recovery, and Java malware analysis for security auditing. The system utilizes a structural analysis pipeline that includes contr
Android Classyshark is a binary analysis toolset designed to extract structural data from Android executable files. It functions as a bytecode viewer and binary XML parser to analyze compiled Java and Android binaries. The project converts binary XML files into readable formats for the inspection of application manifests, layouts, and resource files. It also provides the ability to analyze class interfaces, members, and dependency counts without requiring access to the original source code. The toolset supports static analysis and the export of binary information into plain text formats for
This project is a toolkit for reverse engineering, modifying, and re-signing Android application packages. It provides a suite of utilities designed to decompile compiled binary files into readable source code and translate low-level bytecode into formats suitable for human analysis. The tool facilitates security auditing and research by allowing users to extract and interpret manifest metadata, decode Unicode sequences, and inspect internal application logic. Beyond analysis, it supports the modification of application packages, enabling users to rebuild and re-align files to optimize perfor
SpotBugs is a static analysis tool and bytecode analyzer for Java applications. It scans compiled class files to identify bugs, security vulnerabilities, and performance issues without executing the code. The system functions as both a bug detector and a static application security testing tool to locate logical errors and API misuse. The project distinguishes itself through a plugin-based detector architecture that allows the integration of external libraries to add custom detection rules. It provides specialized security auditing for vulnerabilities such as SQL injection, cross-site scripti
Javassist is a bytecode engineering toolkit for analyzing, modifying, and generating Java bytecode and class files. It functions as a bytecode manipulation library that allows for the editing of class files through either direct bytecode access or high-level source code syntax. The project provides specialized tools for the programmatic creation of new Java classes and interfaces during runtime. It includes a dynamic proxy generator for intercepting method calls and a class loader interceptor that automatically modifies class definitions as they are loaded into the Java Virtual Machine. Addi
This project is a collection of malware analysis reports and decompiled code focused on a backdoor embedded within an Android application. It serves as a study of Android APK malware, documenting the specific code patterns used for unauthorized data access and system security bypasses. The research focuses on dynamic bytecode loading and the execution of remote files to implement persistence. It specifically analyzes mechanisms for downloading and running remote Dalvik Executable files to change application behavior without updating the installed package. The analysis covers several security
JPEX Software is a comprehensive reverse engineering suite for SWF binary files, serving as an ActionScript decompiler and editor. It provides a toolkit for decompiling, analyzing, and modifying the internal structure of compiled Flash content, including the extraction of scripts and media assets. The project is distinguished by its ability to perform direct binary modification, allowing users to edit bytecode and replace embedded resources without reverting to high-level source code. It includes a runtime ActionScript bytecode debugger for variable inspection and call stack analysis, as well
This project is a collection of specialized toolkits designed for container interaction, Java library auditing, Linux system diagnostics, and shell task automation. It provides a suite of utilities to streamline developer workflows and system troubleshooting. The toolkit includes a Docker container helper for executing local binaries within running containers and a Java dependency analyzer to detect duplicate classes and resolve library conflicts. It also features Linux system diagnostic tools for analyzing network connection states and identifying CPU-intensive threads. The project covers b
de4dot is a .NET deobfuscator and unpacker designed to reverse obfuscation and restore readable code and metadata within .NET assemblies. It functions as a bytecode analyzer that simplifies control flow, strips anti-debugging protections, and extracts original payloads from packed executable wrappers. The project distinguishes itself through a modular deobfuscation pipeline and a sandbox environment used for dynamic string decryption, which executes decryption methods to replace encrypted strings with plain-text values. It can identify specific obfuscation tools through pattern-based binary a
This project is a cloud API governance framework and enterprise style guide. It provides a centralized set of naming and structural rules and design guidelines for RESTful interfaces to maintain architectural consistency across large-scale distributed services. The framework establishes standards for OpenAPI specifications to ensure a uniform developer experience. It also defines a versioning policy to manage service updates and prevent breaking changes for existing client integrations. The guidelines cover resource-oriented design patterns, schema-based constraint validation, and standardiz
This project is a build orchestration engine and development toolkit designed for managing large-scale monorepos. It provides a unified workspace environment that maps project relationships and dependencies, enabling the system to perform intelligent impact analysis and execute only the tasks affected by specific code changes. The system distinguishes itself through a persistent daemon that monitors file changes for near-instant feedback and a content-addressable caching mechanism that stores task outputs to prevent redundant computation across local and remote environments. It further suppor
This project is a collection of reference implementations demonstrating recommended patterns for organizing code and managing data flow in Android applications. It provides structural examples of layered architecture, separating code into presentation, domain, and data layers to decouple business logic from data sources. The repository includes specific samples for implementing declarative user interfaces that automatically update their visual state based on underlying data changes. It further demonstrates how to manage object lifetimes and component dependencies to reduce boilerplate and sim
Sourcetrail is an interactive source code explorer and visualizer designed for indexing and navigating relationships between symbols and structures across large, multi-language codebases. It functions as a static analysis indexer and code dependency visualizer that maps calls and dependencies between source files to help reveal project architecture. The tool enables multi-language project analysis by using a language-agnostic indexing system to track symbols across different programming languages within a single interface. It allows for the discovery of software architecture and the explorati
This project is a Swift iOS architecture template that implements the Clean Architecture pattern. It organizes software into distinct layers to decouple business rules from external frameworks, user interfaces, and infrastructure to improve testability and maintenance. The template incorporates Domain Driven Design to isolate core business logic and utilizes a modular application structure to divide features into independent modules. It employs the Coordinator pattern to remove routing logic from view controllers and a dependency injection framework to ensure components remain independent and
This project is a TypeScript-based architectural framework designed to implement domain-driven design and hexagonal architecture in enterprise applications. It provides a structured boilerplate that isolates core business logic from infrastructure concerns, ensuring that domain entities, use cases, and external technology adapters remain decoupled and maintainable. The framework distinguishes itself by enforcing strict architectural boundaries and dependency inversion, preventing unauthorized access to core logic from external layers. It utilizes a command-query responsibility segregation pat
This project provides a structured framework and toolkit for managing AI-assisted software development. It functions as an orchestration system that guides large language models through complex, multi-step coding tasks by establishing standardized methodologies for project documentation, architectural constraints, and coding conventions. The framework distinguishes itself by implementing a centralized approach to constraint enforcement and knowledge structuring. By defining global rules and curating authoritative code templates, it ensures that automated agents maintain consistency across rep
koa2-note is a project focused on Koa2 web server development and Node.js asynchronous programming. It provides a framework for building web servers and APIs using an asynchronous middleware pipeline to handle request and response cycles. The project emphasizes a layered backend architecture that decouples routing, business services, and data models. It distinguishes itself through the integration of relational databases for persisting user sessions and application data, alongside a build process that includes JSX-to-JavaScript compilation for frontend assets. The capability surface covers b
This repository is a curated guide and implementation library of coding patterns used to solve data structures and algorithms problems. It serves as a technical interview study resource, providing a comprehensive set of strategies and computational logic examples for optimizing time and space complexity. The project focuses on standardized algorithmic patterns, including sliding windows, two pointers, and dynamic programming. It features specific implementations for a wide range of challenges, such as LeetCode problem solutions and specialized techniques like cyclic sort and bitwise XOR opera
This project is a comprehensive library of reference implementations and patterns for building web applications using the Go Fiber framework. It provides curated templates and implementation guides for creating REST APIs, web servers, and structured backend services. The repository serves as a practical resource for applying architectural patterns, including Clean and Hexagonal architectures, as well as port-and-adapter decoupling. It offers detailed examples for integrating common web features such as OAuth2 authentication, JWT verification, WebSockets for real-time communication, and server
NorthwindTraders is an ASP.NET Core sample application that serves as a reference implementation for developing RESTful web APIs. It demonstrates the use of the .NET ecosystem to expose business functionality over HTTP. The project provides an example of a layered application architecture, separating business logic from infrastructure and external dependencies. It implements an Entity Framework Core data layer using a code-first approach to map application objects to a relational database. The implementation covers core backend capabilities including relational database integration, server-s
This project is a reference implementation of the Model-View-Presenter architecture for Android applications. It serves as a structural example of how to separate business logic from the user interface through a presenter-based framework. The implementation focuses on a clean architecture approach, using presenters to mediate all communication between the data model and the view. It employs a passive view pattern and interface-based decoupling to isolate the user interface from domain rules. The architecture incorporates interactor-based domain logic and layered separation to reduce systemic
Util is a comprehensive development framework for .NET designed to implement layered architectures and domain driven design. It provides a toolkit of base classes and tools for building full stack applications, specifically focusing on the creation of backend admin frameworks and management interfaces. The project distinguishes itself through a boilerplate generator that produces the necessary types and classes to standardize repetitive architectural patterns. It also includes a micro-frontend orchestrator that enables the splitting of large frontend modules into independent projects for sepa
COLA is a core architectural toolkit for Java applications designed around domain-driven design and a clean, object-oriented layered architecture. It provides a framework for managing project structures, implementing domain-driven entity modeling, and organizing enterprise application architecture to decouple business logic from technical dependencies. The project features a pluggable logic extension system that allows for the addition of new functionality through defined extension points without modifying the core codebase. It also includes a project bootstrapping toolkit and an integration