thehardwarestore.ai

where AI agents shop for the right tools

── 99382 repos indexed ── | filtered by tag: diff
google/go-cmp ★ 4677 241 APPLICATION

go-cmp is a Go library for comparing values semantically, designed as a safer and more powerful alternative to reflect.DeepEqual. It provides the `cmp.Equal` and `cmp.Diff` functions that recursively compare values using a rule-based system: custom `Comparer` functions, `Transformer` functions, equal method detection, and built-in type recursion. Options are composable via `FilterPath` and `FilterValues` to scope application. The `cmp/cmpopts` sub-package bundles common equality policies like approximate float comparison, NaN equality, error equality, slice sorting, map flattening, and field ignoring. The library is production-tested and widely adopted in Go testing ecosystems. Despite being a library, it has no entry points beyond its API functions; it is consumed programmatically from test code. The codebase demonstrates exceptional Go reflection expertise, algorithmic depth in its diff engine (meet-in-the-middle Levenshtein), and meticulous formatting for human-readable diffs.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 1 reusable components found
airblade/vim-gitgutter ★ 8515 300 APPLICATION

vim-gitgutter is a Vim plugin that displays git diff information in the sign column, showing which lines have been added, modified, or removed. It features asynchronous diff processing, hunk staging/undoing/previewing, a hunk text object, and extensive customization options. The plugin maintains signs up to date without saving buffers and integrates with Vim's autocmd system for seamless operation.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
Wilfred/difftastic ★ 25998 525 APPLICATION

Difftastic is a structural diff tool that compares files based on syntax rather than lines. It uses tree-sitter to parse over 60 programming languages and structured text formats into abstract syntax trees, then computes a minimal edit sequence using a custom graph-based diff algorithm (Dijkstra's shortest path on a DAG of syntax nodes). The tool supports side-by-side, inline, and JSON output, integrates with Git, Mercurial, Fossil, and Jujutsu as an external diff tool, and handles merge conflict markers. It falls back to line-oriented diff with word highlighting when parsing fails or limits are exceeded. The architecture is a Rust CLI binary with modular components: parsing (language detection, tree-sitter wrappers), diffing (graph construction, LCS pre-diff, slider post-processing), display (context, hunks, inline, side-by-side, JSON), and utilities (hash maps, word splitting, line handling). Memory management uses arena allocation for AST nodes and bump allocation for graph vertices to optimize performance. The codebase is well-tested with a large suite of sample file pairs and unit tests. Key design decisions include a cost model that penalizes novel nodes and rewards unchanged delimiters, language-specific heuristics for trailing commas and slider behavior, and a persistent stack data structure for graph traversal. The project is actively maintained with frequent releases, extensive documentation, and a Chinese translation of the manual.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
shinnytech/tqsdk-python ★ 5082 788 APPLICATION

TqSdk (天勤量化) is a comprehensive Python SDK for quantitative trading in Chinese futures, options, and stock markets. It provides real-time market data via WebSocket, multi-broker account management (CTP, simulation, backtest), order execution, position management, and a full backtesting engine with replay capabilities. The architecture follows a client-server diff protocol: the SDK maintains an in-memory snapshot of business data (quotes, orders, positions) and processes incremental updates delivered via an async event loop. Users write strategies as Python scripts using `TqApi`, `wait_update()`, and helper classes like `TargetPosTask`. The SDK includes a rich set of demo strategies, technical indicators (60+), options pricing (Black-Scholes Greeks), risk management rules, scenario trials, and a web GUI for visualization. It also provides AI skill packs for integration with coding assistants. While primarily an application library, it contains strong data engineering components for time-series handling and backtesting.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
dandavison/delta ★ 32454 591 APPLICATION

This is a mature, actively maintained Rust CLI application named `delta` (also known as `git-delta`). It serves as a syntax-highlighting pager for git diff, git show, git blame, and grep output, providing enhanced readability through features like within-line edit highlighting, side-by-side view, line numbers, navigation, and custom color themes. The codebase is well-architected with a state-machine-driven diff processing pipeline, a composable feature system (e.g., `diff-highlight`, `side-by-side`, `navigate`), and a robust configuration resolution layer that merges CLI flags, git config, environment variables, and built-in feature defaults. The project demonstrates high craftsmanship in its ANSI parsing, Levenshtein-based line alignment for fine-grained diff highlighting, and generic formatting utilities. It is not a data research project; it is a pure application focused on improving developer experience with git diffs.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
rogpeppe/go-internal ★ 991 89 APPLICATION

This repository is a curated collection of Go packages extracted from the Go standard library's internal packages, plus a few CLI tools built on top of them. The primary package is `testscript`, a robust script-based testing framework that uses txtar archives as test scripts. It provides a declarative way to write integration tests with built-in commands (exec, cmp, stdout, stderr, etc.) and supports external plugins via JSON-RPC. Other notable packages include `diff` (an O(n log n) anchored diff algorithm), `txtar` (a simple human-readable archive format), `lockedfile` (cross-platform atomic file operations with locking), `robustio` (transparent retry for ephemeral I/O errors), `cache` (build artifact cache with SHA256 indexing), and `par` (parallel work executor with memoization). The repo also includes CLI commands: `cmd/testscript` (standalone runner), `cmd/txtar-c` (archive creation), `cmd/txtar-x` (extraction), `cmd/txtar-addmod` (add module to archive), and `cmd/txtar-goproxy` (serve modules from archives). The architecture is modular; each package is independent and can be reused separately. There are thin forwarding layers to `golang.org/x/mod` and `github.com/google/renameio` for compatibility. The codebase demonstrates high craftsmanship in package design, platform-specific abstractions (build tags), and testing utilities. The primary domain is Go tooling and testing infrastructure.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Kong/deck ★ 505 137 APPLICATION

decK is a CLI tool for declarative configuration management of Kong API Gateway and Konnect SaaS. It enables users to manage Kong entities (services, routes, plugins, consumers, certificates, etc.) via YAML/JSON state files, supporting sync, diff, dump, apply, reset, and validate operations. The architecture is a single binary with multiple subcommands organized under `gateway`, `file`, `ai`, and `konnect` namespaces, built on top of Kong's go-database-reconciler library for state reconciliation. Key entry points include `main.go` (signal handling), `cmd/root.go` (Cobra CLI), and command handlers in `cmd/gateway_*.go`, `cmd/file_*.go`, and `cmd/ai_*.go`. Data flows involve reading declarative state files, fetching current state from Kong Admin API or Konnect, computing diffs, and applying CRUD operations. External dependencies include Kong Gateway (>=1.x), Kong Enterprise, Konnect, and various Go libraries for Kubernetes, Terraform, and AI Gateway integrations. The repository also includes converters for generating Kubernetes Ingress Controller manifests (`kong2kic`), Terraform resources (`kong2tf`), and version migration rulesets (`convert/`).

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
bloomberg/xcdiff ★ 962 46 APPLICATION

This repository contains a tool named `xcdiff` for comparing two Xcode project files (.xcodeproj) and outputting their differences in multiple formats. It is designed as both a command-line utility and a reusable Swift library (XCDiffCore). The tool analyzes structural and configuration differences between projects, including targets, sources, headers, resources, build settings, and dependencies. The architecture follows a modular, plugin-like design where each aspect of the project comparison is handled by a separate comparator implementing a common protocol. This allows for easy extension with new comparison types. Results are rendered through a similarly abstracted renderer system, supporting output formats such as plain text, JSON, markdown, and HTML. The tool is actively maintained and keeps pace with evolving Xcode project formats, as evidenced by fixtures for recent Xcode features like synchronized groups.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
WinMerge/winmerge ★ 9273 1019 APPLICATION

WinMerge is an open-source differencing and merging tool for Windows, written in C++ with MFC and ATL. It provides file and folder comparison (2- and 3-way), syntax highlighting, inline editing, patch generation, and archive support. The application is structured as a monolith with a plugin system (COM-based DLLs) for pre-diff filtering, unpacking, and transformation. It integrates tightly with Windows Explorer via a shell extension and supports internationalization, dark mode, and extensive customization through property pages. The architecture follows the MFC document/view pattern, with core diff engines (vendored xdiff and GNU diffutils), a filter engine with regex-based line/folder filtering, and an options manager using registry or INI file backends. Third-party dependencies are heavily vendored, including Boost (MPL, Fusion, Preprocessor), Poco (Foundation, XML, Encodings), tree-sitter, CrystalEdit, and libxdiff. The project is actively maintained with regular releases, a comprehensive manual, and automated CI/CD pipelines. While primarily a Windows desktop application, it showcases reusable patterns such as an extensible options management system, a self-contained byte comparison engine, a lightweight async task wrapper, and a property page host. However, the codebase carries significant legacy MFC idioms and platform-specific code, limiting cross-platform portability. The vendored dependency tree is large, and some preprocessor-heavy Boost headers are fragile with compiler updates.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: