mitmproxy is a production-grade, interactive HTTPS proxy that intercepts, inspects, modifies, and replays HTTP/1, HTTP/2, HTTP/3, WebSocket, TCP, UDP, DNS, and QUIC traffic. It supports multiple proxy modes (regular, transparent, reverse, upstream, SOCKS5, DNS, WireGuard, TUN, local) and provides three frontends: a console TUI (mitmproxy), a command-line dump tool (mitmdump), and a web UI (mitmweb). The architecture is event-driven with a sans-IO proxy layer design: protocol layers yield commands and events processed by an asyncio event loop. An extensive addon system allows users to extend functionality via lifecycle hooks, custom commands, and content views. The codebase is well-structured, heavily typed, and includes a comprehensive test suite with fuzzing and benchmarks. It is actively maintained with frequent releases and security patches.
Hardhat is a professional Ethereum smart-contract development environment, implemented as a large TypeScript monorepo. In production it operates as a CLI and programmatic framework that compiles Solidity, runs tests against local or remote networks, deploys contracts, verifies source code on block explorers, and manages project secrets and hardware-wallet signing. The core `hardhat` package provides a task runner, plugin system (`definePlugin`), hook handlers, config loading, and a Hardhat Runtime Environment, while companion packages add viem/ethers client integration, chai matchers, the Ignition declarative deployment engine, verification against Etherscan/Blockscout/Sourcify, Mocha and node:test runners, Foundry remapping support, coverage, gas analytics, and alternative Slang/Solx compiler backends. The architecture is a modular, hook-driven monorepo of 30+ packages. The core exposes lifecycle hooks for config, network, HRE, Solidity, and testing; plugins register tasks, global options, and hook handlers that compose through `next()` chains. Ignition-core implements a journal-based deployment state machine with reconciliation, execution strategies, and nonce management, making deployments resumable and auditable. The network layer abstracts JSON-RPC providers over HTTP and EDR-backed simulated networks, with request handlers for gas estimation, account management, and chain validation. Entry points include `packages/hardhat/src/cli.ts`, `packages/hardhat/src/hre.ts`, `packages/hardhat/src/config.ts`, and `packages/ignition-core/src/deploy.ts`. The codebase is well-engineered and heavily tested, with fixture projects, CI workflows, changesets, e2e scenarios against real-world projects, and benchmark infrastructure. It is current with Node 24 and modern TypeScript/ESM patterns. Notable minor issues include duplicated helper code across packages, hand-maintained chain/explorer mappings and hardfork lists, and some fragile workarounds around third-party CJS/ESM interop. Overall, it is a strong, actively maintained developer-tooling codebase with several genuinely reusable internal components.
GEF (GDB Enhanced Features) is a production-grade GDB plugin for exploit development, reverse engineering, and binary analysis. It is a single Python script (gef.py) that loads into GDB (>=10.0) and provides over 90 commands covering memory inspection, heap analysis, security mitigation checks (checksec), pattern generation, format string detection, and remote debugging. The architecture is monolithic but well-organized, with a clear separation of concerns via class hierarchies for architectures, memory regions, heap structures, and command registration. The test suite is extensive, using a Docker-based CI matrix that runs on multiple architectures (x86, ARM, AARCH64, etc.) and validates behaviour through RPyC-driven remote GDB sessions. While primarily an application, it also serves as a research tool for heap allocator internals and glibc version-specific behaviour, blending practical utility with deep system understanding.
django-silk is a live profiling and inspection tool for Django web applications. In production, it integrates as middleware to intercept every HTTP request/response, capturing request/response bodies, headers, database queries (via monkey-patching SQLCompiler.execute_sql), and code profiling data (via a decorator, context manager, or dynamic injection). It stores this data in Django ORM models (Request, Response, SQLQuery, Profile) with optional file-based storage for binary profiler results, and provides a comprehensive web UI with filtering, sorting, SQL analysis (including EXPLAIN), code generation (curl/Django test client), and graph visualization (using gprof2dot). The architecture centers on a singleton DataCollector that accumulates data during request processing and persists it upon response completion, with configurable retention policies via management commands and model-level garbage collection.
Boost.Stacktrace is a production-grade C++ library for capturing, storing, and printing backtraces (call stacks). It provides a header-only core with optional compiled backends that leverage platform-specific mechanisms: `_Unwind_Backtrace` (POSIX), `backtrace()` (glibc), `libbacktrace`, `addr2line`, or Windows Debug Engine (`dbgeng`). The library offers signal-safe raw dump functions, human-readable frame decoding (function names, source file, line number), and the ability to capture stacktraces at the point an exception is thrown via `from_current_exception()`. The design is modular, with separate compiled libraries for each backend and a no-op backend to disable tracing. The codebase is well-structured, heavily tested across compilers and platforms, and actively maintained. It demonstrates deep knowledge of C++ runtime internals, particularly in the exception interception implementation that hooks into `__cxa_allocate_exception` or uses vectored exception handlers on Windows. While the library itself is the reusable asset, several internal utilities (e.g., address base computation from `/proc/self/maps`, `dladdr` abstraction) embody patterns useful in other debugging and profiling tools.
The Tokio Console is a debugging and profiling tool for asynchronous Rust programs using the Tokio runtime. It consists of three main crates: `console-api` defines protobuf gRPC schemas for instrumentation data (tasks, resources, async operations, trace spans), `console-subscriber` is a `tracing-subscriber` layer that collects runtime telemetry and serves it over gRPC, and `tokio-console` is a terminal user interface (TUI) that connects to instrumented applications and displays real-time task lists, resource details, histograms, and warnings. The architecture follows a producer-consumer pattern: the instrumented application runs a gRPC server (via `console-subscriber`), and the CLI client subscribes to streaming updates. The system supports TCP, Unix domain sockets, vsock, and gRPC-Web transports. It provides interactive filtering, sorting, and detailed views of async task states (running, scheduled, idle, completed), resource utilization, and async operation performance. The codebase is well-structured, with clear separation between API definitions, instrumentation library, and client application. It demonstrates high craftsmanship in areas like string interning, dirty-tracking for incremental updates, and reusable TUI table components.
x64dbg is an open-source binary debugger for Windows targeting malware analysis and reverse engineering. The architecture is a three-layer system: a GUI layer (Qt-based Windows application), a bridge layer (C API for communication), and a debugger core layer (TitanEngine/GleeBug/StaticEngine backends). The debugger supports x86 and x64 processes with comprehensive features including conditional breakpoints, memory analysis, symbol handling, and an extensive plugin SDK. The codebase demonstrates strong engineering in several areas. The analysis engine implements multiple analysis passes (linear, recursive, control flow, xrefs) with a clean pass-based architecture. The command system uses a flexible registration pattern with consistent error handling. The bridge layer provides a well-defined C API surface for plugins with careful attention to thread safety and marshaling between GUI and debugger threads. Recent development shows active work on Linux support (ElfBug debugger), cross-platform tools (hex viewer, minidump analyzer, remote table), and a comprehensive test framework with headless testing infrastructure. The test system uses convention-based test discovery with script-driven scenarios and plugin-based assertions. Technical debt includes some outdated documentation (docs reference Python 2.7 for CHM generation), mixed use of Qt versions (5.12+ required but some paths reference older configurations), and the inherent complexity of maintaining both Windows debugger and cross-platform analysis tools in one repository. The dependency on precompiled libraries (TitanEngine, Zydis, XEDParse) creates build complexity but is managed through CMake.
Stern is a Go CLI tool that tails multiple pods and containers on Kubernetes, with color-coded output, regex-based filtering, and customizable Go templates. It relies on the Kubernetes client-go library to watch pod events and stream logs from matching containers. The architecture is a single binary with a Cobra command tree, where the core logic in the `stern/` package handles target filtering (by pod name, container name, container state, condition), log line parsing (timestamp extraction, include/exclude/highlight regex), and template rendering. The code is well-structured, thoroughly tested, and follows modern Go patterns. It supports advanced features like interactive prompts, shell completion (bash/zsh/fish), config files, and various output formats. While most components are tightly integrated for this specific use case, several sub-packages (color management, condition matching, container state matching, log filtering utilities) are cleanly isolated and could be reused in other Kubernetes or CLI projects.
This repository implements an MCP (Model Context Protocol) server that exposes Chrome DevTools capabilities as tools for AI coding assistants. In production, it launches a headless or headed Chrome browser via Puppeteer, connects to the DevTools frontend SDK, and provides over 50 tools covering navigation, input automation, network inspection, performance tracing, heap snapshot analysis, CSS inspection, accessibility auditing (via Lighthouse), PWA management, and extension debugging. The architecture is a Node.js server that runs either as a long-lived daemon (Unix socket IPC) or as a CLI tool, with a configuration pipeline supporting CLI flags, config files, and environment variables. Key entry points are `src/bin/chrome-devtools-mcp.ts` (MCP server) and `src/bin/chrome-devtools.ts` (standalone CLI). Data flows involve collecting console messages, network requests, and DevTools issues per page via `PageCollector`, processing performance traces via `ChunkedTraceParser` and `PerformanceTrace`, and formatting results through specialized formatters (`ConsoleFormatter`, `CssFormatter`, `HeapSnapshotFormatter`, etc.) that support both text and structured JSON output. External dependencies include Puppeteer for browser control, the DevTools frontend SDK for advanced features (heap snapshots, stack traces), Lighthouse for audits, and a telemetry system (Clearcut) for usage statistics.
PlatformIO Core is a cross-platform embedded development toolchain that provides a unified CLI for building, uploading, debugging, testing, and managing packages for microcontroller platforms (Arduino, ESP32, ARM, etc.). The system is architected as a modular CLI application built on Click, with a SCons-based build engine, a package manager supporting libraries, platforms, and tools, and integrated debugging, unit testing, static code analysis, and device monitoring. Key entry points include `pio run` (build/upload), `pio test` (unit testing), `pio debug` (debugging), `pio pkg` (package management), `pio check` (static analysis), and `pio device monitor` (serial monitor). The architecture employs factory patterns for platform, debug config, test runner, and manifest creation, mixin-based package manager operations, and a JSON-RPC web server for the PlatformIO Home GUI. External dependencies include SCons, pyserial, Twisted (for remote agent), requests, marshmallow, and semantic_version. The codebase is actively maintained with frequent releases, extensive test coverage, and support for multiple IDEs via project generation templates.
gimli is a Rust library for reading and writing the DWARF debugging format, used by debuggers, profilers, and binary analysis tools. It provides zero-copy, lazy parsing of all standard DWARF sections (e.g., .debug_info, .debug_line, .debug_frame, .debug_names) across versions 2–5, including split DWARF (DWO/DWP) and supplementary object files. The library is split into `read` and `write` modules, with a conversion pipeline to transform parsed debug data back into DWARF. It is designed to be `no_std` compatible (with alloc) and uses trait-based abstractions for readers/writers, allowing custom backing stores. Example CLI tools (dwarfdump, simple, convert) demonstrate real-world usage. The codebase is highly modular, with extensive unit tests, fuzzing, and benchmarks, and emphasizes correctness, performance, and cross-platform support (32/64-bit, little/big endian).
This repository is a robust Android library designed for debugging applications by providing a user-friendly interface to view system logs (logcat). It functions as a standalone framework that integrates into an Android app via Gradle dependency. The core functionality involves capturing logs from the system logcat process, parsing them using regex patterns, filtering them based on user-defined rules (TAG, level, search keywords), and displaying them in a RecyclerView with features like auto-merging, highlighting, and saving to file. The architecture relies on a ContentProvider for automatic initialization, a Foreground Service to maintain the log capture process (handling Android 8+ and 14+ restrictions), and a Floating Window/Notification for user interaction. The code demonstrates strong engineering practices, particularly in handling Android version fragmentation (e.g., specific handling for Android 12's Foreground Service restrictions and Android 14's targetSdk 34 requirements). It includes OOM protection mechanisms by limiting the number of displayed logs and uses MD5 hashing to prevent duplicate log entries when restarting the capture stream.
agent-browser-cli is a CLI tool that enables AI agents to perceive and control a real Chrome browser session. It consists of a Rust CLI that communicates with a local daemon via HTTP API, which in turn communicates with a Chrome extension via WebSocket. The system preserves the user's login state and cookies while providing capabilities like tab management, page inspection, JavaScript execution, screenshots, and CDP access. The architecture cleanly separates concerns: the CLI handles user input, the daemon manages persistent connections, and the extension executes commands in the browser context.
Infiltrator.jl is a Julia package that provides an interactive debugging macro, @infiltrate, which acts as a breakpoint with negligible runtime overhead. When triggered, it opens a custom REPL (infil>) allowing developers to inspect local variables, stack frames, module bindings, and evaluate arbitrary expressions. It supports conditional breakpoints, toggling infiltration points on/off, exfiltration of variable values to a store, and integration with Revise.jl for live code updates. The package is designed for development-time debugging and enforces that @infiltrate fails at compile time in package code to prevent accidental commits. It relies heavily on Julia internals (REPL, Core.Compiler, Base.@locals) and maintains compatibility across Julia versions 1.6 through 1.13 via version-adaptive code paths and extensive golden-file test outputs. This is a pure developer tool with no data analysis or research orientation.
This repository is a VS Code extension that provides test running and debugging capabilities for multiple testing frameworks (Jest, Vitet, Node.js test runner, Bun, Deno, Playwright, and Rstest) directly within the editor. It integrates with the VS Code Testing API to display tests in the Test Explorer and offers CodeLens for inline test actions. The extension handles test discovery by reading framework configuration files, executes tests in a terminal, and processes the output to update test states and display coverage. The architecture is modular, separating concerns into test discovery, execution, result processing, and framework adaptation. The extension supports monorepo setups through flexible configuration resolution and provides features like watch mode, coverage reporting, and snapshot updating. It uses AST parsing to extract test hierarchies from test files for enhanced UI integration. The codebase demonstrates strong engineering practices with clear separation of concerns, extensive test coverage, and utilization of design patterns like strategy (for framework-specific adapters) and factory (for test runner creation).
chromatic is a runtime instrumentation framework for Chromium/V8 processes that provides Frida-compatible APIs for memory inspection, function interception, breakpoint debugging, and code modification. The architecture consists of a core C++ implementation with TypeScript bindings that expose a JavaScript API. Key capabilities include process/module enumeration, memory read/write/allocation, native function calls, native callbacks, inline hooking via trampolines, software/hardware breakpoints, memory access monitoring, exception handling, and instruction disassembly. The project uses breeze-js (QuickJS) as its JavaScript engine, Capstone for disassembly, asmjit for runtime code generation, libffi for FFI, and TCC for runtime C compilation. Entry points include the chromatic-core library, chromatic-test binary, and chromatic-injectee shared library designed for fripack patching.
Cerebral is a declarative state management library for JavaScript applications that provides a centralized state tree and manages application logic through composable sequences. The architecture features a core engine (function-tree) that handles function execution, with framework-specific bindings for React, Vue, Angular, and other popular libraries. State mutations are tracked through a store API, and side effects are handled via providers that integrate with external systems. The library emphasizes debugging capabilities through its Devtools integration, allowing developers to visualize state changes, trace sequence executions, and perform time-travel debugging. Applications are organized into modules that can be nested, with each module encapsulating its own state, sequences, and providers. Cerebral's design prioritizes explicit data flow and side effect management, making complex application logic more predictable and easier to reason about.
Ember Inspector is a browser extension (Chrome, Firefox, Opera, bookmarklet) that provides a rich debugging interface for Ember.js applications. It injects the `ember-debug` library into the target page, which collects runtime information about components, routes, data (Ember Data), promises, render performance, deprecations, and object internals. The inspector UI is an Ember.js application that communicates with the injected debug library via a message-passing port abstraction, using adapters specific to each browser environment. The codebase is a monorepo with four packages: `ember-debug` (injected debug library), `ember-inspector` (UI), and two test apps (classic and vite). It is actively maintained by the Ember core team, with CI/CD pipelines, extensive tests, and automated release planning. Architecture: The system is split into two halves. The `ember-debug` package uses a `Port` class for event-driven messaging and adapters (Chrome, Firefox, WebSocket, bookmarklet) to bridge the injected script to the extension's background page or devtools panel. The `ember-inspector` package is a full Ember app that renders tabs (Component Tree, Route Tree, Data, Promises, Deprecations, Render Performance, Info) and features an Object Inspector for drilling into property values and editing them. The UI uses a schema-based list rendering pattern, debounced search, and resizable/draggable columns. The object inspector handles both classic Ember objects and modern Glimmer components, including computed properties, tracked properties, getters, and services. Despite reliance on private Ember APIs and version-specific code paths, the codebase demonstrates strong engineering practices, with modular components that are potentially reusable (e.g., port messaging, adapter pattern, resizable columns, property display component).
better-exceptions is a Python library that enhances exception tracebacks by displaying the source code line and the values of local variables at each frame, with optional colorization and truncation. It hooks into Python's sys.excepthook and logging system to provide more informative error messages. The library supports automatic activation via a .pth file placed in site-packages, and includes a custom REPL, Django middleware integration, and configurable output length. The core formatting logic uses AST parsing to identify variables and colorize syntax elements. The codebase is well-structured and demonstrates strong Python craftsmanship, though it relies on some deprecated modules (distutils, imp) and has workarounds for AST changes across Python versions.
This repository is a monorepo for `react-router-devtools`, a Vite plugin that provides a comprehensive debugging and inspection UI for React Router v7+ applications. It integrates with TanStack DevTools to offer tabs for active page, routes, network waterfall, timeline, settings, errors, and custom plugins. The core mechanism uses Babel-based AST transformations to instrument server and client data functions (loaders, actions) with timing, tracing, and context wrappers without requiring user code changes. The package exports multiple entry points for client, server, and context integration, and supports both framework mode (Vite plugin) and declarative mode (EmbeddedDevTools component). The repository also includes a full documentation site built with React Router, example plugins (icon-library, tailwind-palette), and several test applications. It is a well-crafted developer tool with a modular architecture, but has some technical drift due to tight coupling to React Router internals and reliance on Babel AST transforms that may break with ecosystem changes.