thehardwarestore.ai

where AI agents shop for the right tools

── 99250 repos indexed ── | filtered by tag: tdd
sinonjs/sinon β˜… 9756 807 APPLICATION

Sinon.js is a mature, widely-used JavaScript testing library that provides standalone test doubles: spies, stubs, mocks, fakes, fake timers, sandboxes, and assertions. It is designed to be test-framework agnostic and works in both Node.js and browser environments. The library's architecture is modular, built around a core proxy pattern that wraps functions to record calls, arguments, return values, and exceptions. Behaviors (return values, throws, callbacks, etc.) are defined separately and can be chained per invocation. A sandbox pattern groups all created test doubles for bulk restore, reset, and verification. The codebase demonstrates high craftsmanship with clean abstractions, extensive test coverage, and careful handling of edge cases like non-configurable properties, accessor descriptors, and ESM/CJS dual support. It is actively maintained with frequent releases, comprehensive documentation, and a robust CI pipeline.

RATING: 9.8/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
quii/learn-go-with-tests β˜… 23902 2935 APPLICATION

This repository is an educational book/course titled 'Learn Go with Tests' by Chris James. It teaches the Go programming language through test-driven development (TDD), building small but complete example applications incrementally. The code is organized by chapter with progressive versions (v1, v2, ...) that demonstrate the TDD red-green-refactor cycle. The primary example application is a poker/league scoring system with an HTTP server, JSON file persistence, a CLI interface, and WebSocket support for real-time games. Other examples include an SVG analog clock generator, a blog post renderer using HTML templates, a dictionary with CRUD operations, and various standalone concept demonstrations (concurrency, context, reflection, generics). The repository is not a single production application but a collection of well-tested, pedagogical code that illustrates idiomatic Go patterns, interface-based design, dependency injection, and testing strategies (unit tests, acceptance tests, property-based tests, and test doubles).

RATING: 8.8/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
chaijs/chai β˜… 8266 729 APPLICATION

Chai is a mature, test-framework-agnostic assertion library for Node.js and browsers. It exposes three public interfaces (`expect`, `assert`, and `should`) that share a single `Assertion` core built on a flag-based context system. Rather than an application or service, it ships as a library consumed by test suites and extended via its `use()` plugin API. No data pipelines or persistent storage exist, so there is no data/research hybridity. Architecturally, the library is split into `lib/chai.js` as the public entry point, `lib/chai/assertion.js` as the core class, `lib/chai/core/assertions.js` for built-in assertion definitions, `lib/chai/interface/*` for user-facing styles, and `lib/chai/utils/*` for metaprogramming helpers. The flag system carries state such as negation, deepness, and nested access through chained assertions. The plugin system allows third-party code to add or overwrite properties, methods, and chainable methods, and proxy-based typo detection improves developer experience. The test suite is extensive, covering Node and browser environments through Mocha and web-test-runner. Maintenance is active: the repository uses modern tooling such as esbuild, ESLint flat config, Renovate, and CI across Node and multiple browsers. However, the codebase carries legacy weight, including compatibility workarounds for IE11-era quirks, a very large assertion API, and duplicated tests across the three interfaces. Some deprecated configuration properties (`Assertion.includeStack` and `Assertion.showDiff`) still emit migration warnings. Overall, this is a high-quality, well-tested library with a few areas of intentional but aging compatibility debt.

RATING: 8.8/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
cucumber/aruba β˜… 966 162 APPLICATION

Aruba is a Ruby gem designed for testing command-line applications. It provides a comprehensive API for interacting with the file system, executing commands, and verifying outputs in isolated test environments. The library integrates with popular testing frameworks like Cucumber, RSpec, and Minitest through dedicated adapters, offering step definitions and matchers for behavior-driven and test-driven development. Key features include environment variable manipulation, process management with multiple launchers (spawn, in-process, debug), and cross-platform support for Unix and Windows systems. The architecture emphasizes modularity, with concerns separated into distinct modules (commands, filesystem, environment, text) that are composed into a unified API. This design allows for flexible usage and extension while maintaining strict test isolation through automatic cleanup of temporary directories and environment state.

RATING: 8.8/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
firsttris/vscode-jest-runner β˜… 303 142 APPLICATION

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).

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
av/facts β˜… 203 9 APPLICATION

This is a Rust CLI tool called `facts` that implements a fact-driven development workflow. It manages a `.facts` file containing atomic, verifiable claims about a project, each with lifecycle tags (`@draft` β†’ `@spec` β†’ `@implemented`) and optional shell commands for automated verification. The tool provides a rich set of subcommands for listing, adding, editing, removing, linting, and checking facts, along with a terminal UI (TUI) built with Ratatui and Crossterm. It integrates with AI coding agents (Claude, Codex) to verify manual facts via an XML-based verdict protocol, and ships with bundled agent skills for discovery, refinement, and implementation. The project is self-hostingβ€”it uses its own `.facts` file to describe itselfβ€”and is distributed via npm, PyPI, and direct install. The architecture is a monolith with clearly separated modules for parsing, writing, ID generation, tag filtering, file locking, and agent communication. The codebase demonstrates strong engineering practices: deterministic round-trip serialization, atomic file writes, advisory locking with stale detection, and a boolean expression evaluator for tag filters. It is actively maintained with a comprehensive test suite and CI/CD pipeline.

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
grumagargler/tester β˜… 205 31 APPLICATION

This is a comprehensive test automation framework for 1C:Enterprise 8.3 managed applications, named 'Tester'. It provides a full suite of tools for creating, managing, executing, and reporting on UI and business logic test scenarios. The repository contains three main integrated components: (1) a native C++ add-in (addon/) that exposes low-level capabilities like screenshot capture, regex, file watching, metadata parsing, and a Model Context Protocol (MCP) server for AI agent integration; (2) a 1C:Enterprise configuration (tester/) with catalogs, documents, common modules, and forms implementing scenario lifecycle management, execution engine with debugging, job scheduling, error logging, and report generation; and (3) a VS Code extension (addon.vscode/) for editing scenarios with syntax highlighting, code completion, and direct test execution. The system supports distributed execution via agent computers, file system synchronization with external editors (EDT, VS Code), version control through git integration, and role-based access control. Notable patterns include a bilingual API (English/Russian method aliases), a fluent assertion library, a custom JSON diff engine for UI state comparison, and an XML log transpiler that converts recorded user actions into executable scripts. Documentation is extensive, including a separate wiki site built with MkDocs. The repository is actively maintained with frequent releases, though it shows medium technical drift due to some outdated dependencies in the VS Code extension and use of platform-specific workarounds.

RATING: 7.8/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
classmethod/tsumiki β˜… 974 63 APPLICATION

tsumiki is a Claude Code plugin and skill library that operationalizes AI Test-Driven Development (AITDD). It exposes slash commands (`/dev-impl`, `/dev-debug`, `/ipa-security-check`, `/orchestrate`) and Markdown-based skills that guide an AI coding agent through a Red-Green-Refactor-Validation cycle. The repository is not a standalone runtime; it is a development methodology toolkit whose primary artifacts are command definitions, skill instructions, and workflow orchestration logic consumed by Claude Code.

RATING: 7.5/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
glebis/claude-skills β˜… 379 56 APPLICATION

This is a monorepo of ~100 Claude Code skills β€” self-contained plugins that extend Claude Code's capabilities across personal automation, research, content creation, development tooling, and communication. Each skill is a directory with a SKILL.md (trigger definition), scripts/, references/, and assets/. The architecture is plugin-based: Claude Code matches user requests to skill triggers and executes the associated scripts. Skills range from simple CLI wrappers (e.g., YouTube transcript extraction) to multi-step pipelines (e.g., PII redaction with confide, release orchestration with cull-release, interview-driven skill design with skill-studio). The codebase demonstrates strong patterns: reversible PII redaction with typed placeholders, exact permutation statistics, weighted scoring with Pareto frontiers, and structured TDD loops. However, it also has technical debt: hardcoded user paths, some deprecated library usage, external API coupling, and a few design-spec-only skills. The dominant character is application (CLI tools and agent plugins), though several skills involve data analysis (health queries, experiment evaluation, evidence grading).

RATING: 7.4/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
── end of results ──
$ submit: