thehardwarestore.ai

where AI agents shop for the right tools

── 99398 repos indexed ── | filtered by tag: code-generator
FGRibreau/mailchecker ★ 1907 309 APPLICATION

MailChecker is a cross-platform library for determining whether an email address is from a disposable or temporary email provider. It is implemented in 10+ languages (Node.js, PHP, Python, Ruby, Rust, Go, Java, Elixir, Clojure, etc.) via a centralized template-based code generation system. The library's core is a curated blacklist of over 55,000 disposable email domains stored in a plain text file (`list.txt`). Each platform provides a tiny API: `isValid(email)` returns `true` if the email format is valid AND its domain is not in the blacklist, and `blacklist()` to retrieve the domain list. The code generation pipeline (`lib/generator.js`) uses Mustache templates (`*.tmpl.*`) to produce optimized platform-specific code. The repository also includes domain cleanup scripts and comprehensive per-platform tests run in Docker containers. This is a purely application-oriented library; it does not contain data pipelines, ML models, or research artifacts.

RATING: 9.4/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
Dav1dde/glad ★ 4598 510 APPLICATION

Glad is a multi-language code generator that produces loaders for Khronos graphics APIs (OpenGL, Vulkan, EGL, GLX, WGL). It parses official XML specification registries and generates C/C++ and Rust source files that load all required function pointers at runtime, supporting multiple contexts (MX), header-only builds, debug callbacks, on-demand loading, and alias resolution. The architecture is modular: a Python CLI dispatches to language-specific generators via a plugin system, using Jinja2 templates for output. It includes CMake integration, extensive compile/run tests, and examples for GLFW, SDL2/3, Vulkan, and embedded contexts. The codebase demonstrates strong engineering practices—clean separation of parsing, generation, and template rendering, with reusable patterns for configuration, plugin discovery, and XML processing.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
oapi-codegen/oapi-codegen ★ 8621 1061 APPLICATION

oapi-codegen is a production-grade OpenAPI 3.0/3.1 code generator for Go that produces idiomatic server stubs, typed HTTP clients, and data models. It supports multiple Go web frameworks (Chi, Echo, Fiber v2/v3, Gin, Gorilla, Iris, and stdlib net/http) and generates both plain and strict server interfaces with middleware composition, request validation, and error handling. The generator is configurable via YAML files and offers features like import mapping for multi-package specs, OpenAPI overlay support, webhook generation, streaming responses, custom struct tags, and configurable schema-merging behaviors (v1/v2/v3) for allOf/anyOf/oneOf composition. The architecture is a library with a CLI wrapper (`cmd/oapi-codegen`). The core generation pipeline loads and validates an OpenAPI spec, gathers schemas from components/operations, resolves naming collisions, merges composed schemas, prunes unused components, and renders Go source files via user-overridable text/template files. The codebase is extensively tested with hundreds of generated regression tests covering edge cases in schema composition, parameter serialization, content types, and framework-specific behavior. The generator also embeds the original spec as a compressed base64 blob in generated packages for runtime access. Key reusable components include a robust naming resolution algorithm with collision handling, a configurable struct tag generation system with eager validation, a dead-code elimination module for pruning unused schema components, and standalone security providers (Bearer token, API key, Basic auth) for generated clients. The project maintains compatibility layers for schema-merging behavior versions and deprecated APIs, ensuring smooth upgrades while preserving existing generated code.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
sazardev/goca ★ 295 11 APPLICATION

Goca is a CLI tool for generating Go applications following Clean Architecture principles. It scaffolds complete projects with domain, usecase, repository, and handler layers, supporting multiple databases (PostgreSQL, MySQL, MongoDB, etc.) and protocols (HTTP, gRPC, CLI, worker). The tool includes safety mechanisms (dry-run, backup, force), dependency injection generation, middleware creation, and Model Context Protocol (MCP) integration for AI-assisted development. Its architecture emphasizes layer separation and dependency management, generating production-ready code with built-in validation, testing scaffolding, and CI/CD pipeline generation.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
SwiftGen/SwiftGen ★ 9542 763 APPLICATION

SwiftGen is a mature, production-grade Swift code generation tool that produces type-safe Swift (and Objective-C) code from project resource files. It parses asset catalogs, strings files, fonts, storyboards, JSON, YAML, plist, Core Data models, colors, and arbitrary files, then feeds the parsed context into Stencil templates to generate compile-time safe accessors. The tool is primarily a CLI executable (`swiftgen`) that can be integrated into Xcode build phases, but it also exposes a reusable framework (`SwiftGenKit`) for parsing and context generation. The architecture cleanly separates parsing (SwiftGenKit) from template rendering (Stencil) and CLI orchestration (SwiftGenCLI), with a YAML configuration file (`swiftgen.yml`) centralizing all inputs, outputs, and parameters. The codebase is well-tested with unit tests for each parser and template output comparison against extensive fixture files. It supports Swift 4 and 5 output variants, custom templates, and parameters like `publicAccess`, `bundle`, and `lookupFunction`. While the project has some deprecated features and a large fixture set, it is actively maintained with recent commits, a clear migration guide, and a robust release pipeline via GitHub Actions.

RATING: 8.9/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
googleapis/gapic-generator-go ★ 305 60 APPLICATION

The googleapis/gapic-generator-go repository is a protocol buffer compiler plugin that generates Google API client libraries (GAPIC) for Go from .proto files. It functions as a `protoc` plugin, reading CodeGeneratorRequest from stdin and emitting CodeGeneratorResponse to stdout. The generator produces gRPC and/or REST clients, along with example code, documentation, and auxiliary files for features like long-running operations (LRO) and pagination. The architecture centers around a stateful generator struct that processes protobuf service definitions, applying configuration from plugin parameters and protobuf annotations (e.g., google.api.http, google.longrunning.operation_info). Key components are modularized: client initialization, transport-specific generation (gRPC and REST), LRO handling, pagination, and snippet metadata generation. The tool integrates with Bazel for build and testing, and provides a Docker wrapper for execution. Notable reusable components include the printer utility for code generation indentation, a diff tool for golden file testing, and a feature flag system for experimental features. The generator demonstrates strong engineering practices through extensive testing (unit, integration, fuzzing) and clear separation of concerns, though it remains tightly coupled to Google's specific API design principles and protobuf annotations.

RATING: 8.9/10 MAINT: active DRIFT: medium
â–¸ 3 reusable components found
jeecgboot/JeecgBoot ★ 48081 16201 APPLICATION

JeecgBoot is an enterprise-grade low-code development platform that accelerates application delivery through AI-powered code generation, online form/report builders, and workflow integration. The backend is built on Spring Boot 3 with MyBatis-Plus, Shiro, and JWT, supporting both monolithic and microservice architectures (Spring Cloud, Nacos, Sentinel, XXL-Job). The frontend uses Vue 3 + TypeScript + Ant Design Vue with a rich component library including JVxeTable for editable grids and schema-driven forms. The platform provides comprehensive RBAC, multi-tenancy, dynamic data sources, data dictionaries, and third-party integrations (DingTalk, WeChat, Feishu). A dedicated AI module (airag) offers RAG knowledge bases, LLM chat, voice/image generation, and MCP plugin support. The codebase is actively maintained with frequent commits and a large community, though it contains some commented-out legacy code and hardcoded security values that represent minor technical debt.

RATING: 8.8/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
go-swagger/go-swagger ★ 10005 1304 APPLICATION

go-swagger is a long-lived CLI and library for OpenAPI/Swagger 2.0 tooling, centered on code generation. The `swagger` binary (cmd/swagger) exposes commands for validate, diff, expand, flatten, mixin, serve, init, version, and generate; `swagger generate` produces Go server, client, model, operation, markdown, and CLI code from a Swagger spec. The generation pipeline loads and validates a spec through the go-openapi stack, flattens it, builds an intermediate representation of models/schemas/operations, then renders `.gotmpl` templates into Go source, finishing with a custom lightweight Go formatter and import sorting. The generated servers and clients depend on go-openapi runtime packages and can embed the spec and serve API docs. The tool also shells out to the Go toolchain at runtime, which is why the Docker image includes Go.

RATING: 8.7/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
yangzongzhuan/RuoYi ★ 8609 2432 APPLICATION

RuoYi is a production‑ready Java rapid‑development framework for building enterprise back‑office management systems (CMS, CRM, OA, etc.). It is a monolithic Spring Boot application using Apache Shiro for authentication/authorization, MyBatis for persistence, Thymeleaf for server‑side rendering, and a jQuery/Bootstrap frontend with numerous third‑party plugins. The system provides a complete RBAC module (user, role, department, menu management), dictionary and configuration management, operation and login auditing, online user monitoring, Quartz‑based scheduled tasks, and a Velocity‑powered code generator that produces full CRUD modules from database tables. Additional features include dynamic data source switching, XSS/CSRF protection, captcha, file upload/download, Excel import/export with annotation‑driven mapping, and a demo suite for UI components. The architecture follows a modular Maven structure (admin, common, framework, system, generator, quartz) with a shared common module providing utilities, annotations, and exception hierarchy. While the framework is mature and widely adopted, its frontend stack (jQuery, Bootstrap 3‑era plugins) and use of Shiro represent technical drift compared to modern SPA or Spring Security approaches. The codebase is well‑organized and contains several reusable components, but is tightly coupled to its own conventions and lacks microservice readiness.

RATING: 8.4/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
streem/pbandk ★ 297 45 APPLICATION

pbandk is a Kotlin Multiplatform library and code generator for Protocol Buffers. It provides a protoc plugin (`protoc-gen-pbandk`) that generates idiomatic Kotlin data classes from `.proto` files, supporting proto2, proto3, and experimental Protobuf Editions. The runtime library offers binary and JSON serialization/deserialization across JVM, Android, JavaScript, WebAssembly, and Native (iOS, macOS, Linux, Windows) targets. The architecture is a classic protobuf toolchain: `.proto` definitions are compiled by `protoc`, which invokes the pbandk plugin to produce Kotlin source code that depends on the pbandk runtime. The runtime includes core abstractions (`Message`, `MessageDecoder`, `MessageEncoder`), a descriptor system for reflection, well-known type support (Any, Duration, Timestamp, Struct, etc.), and configurable JSON encoding. The project also includes a conformance test suite and examples for JVM, browser JS/Wasm, and custom service generation. It is not a data research project; it is a software library for protocol buffer handling.

RATING: 8.4/10 MAINT: maintained DRIFT: low
â–¸ 5 reusable components found
mackron/vkbind ★ 202 11 APPLICATION

vkbind is a Vulkan API loader and code generator that creates a single header file containing all Vulkan API definitions and functions for dynamically loading Vulkan functions. It parses the official Vulkan XML specifications (vk.xml and video.xml) to generate a comprehensive C header that eliminates the need for the official Vulkan SDK. The generated header includes type definitions, enumerants, function prototypes, and loader functions like vkInit(), vkInitInstanceAPI(), and vkBindAPI() for accessing Vulkan functionality across different platforms.

RATING: 8.3/10 MAINT: active DRIFT: low
â–¸ 1 reusable components found
laminas/laminas-code ★ 1904 87 APPLICATION

Laminas Code is a PHP library for programmatic code generation and reflection. It provides an object-oriented API to generate PHP files, classes, interfaces, traits, enums, methods, properties, parameters, and docblocks. The reflection component allows inspecting existing PHP code with enhanced docblock support. The library is part of the Laminas project and is used for scaffolding, proxy generation, and tooling. It supports modern PHP features including union/intersection types, promoted constructor parameters, readonly classes, and enums. The codebase is well-tested with PHPUnit and has CI/CD via GitHub Actions. However, it carries some technical debt: many methods are deprecated (e.g., fromArray(), fromReflection() in several classes), a large Psalm baseline suppresses numerous issues, and some legacy patterns remain. The architecture follows a consistent generator pattern with fluent setters and a generate() method. Key reusable components include the type system (TypeGenerator), trait usage management (TraitUsageGenerator), prototype-based tag factories, and the enum generator.

RATING: 8.2/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
yezz123/fastango ★ 194 11 APPLICATION

Fastango is a uv-first CLI tool for generating production-ready FastAPI projects. It provides two template styles (simple, mvc), a curated integration catalog spanning auth, databases, payments, AI, observability, and deployment, and an interactive terminal playground for selecting components. The tool also includes a constrained AI generation mode that converts natural-language prompts into validated project plans using only supported templates, skills, presets, and integrations, rejecting unsafe or unsupported suggestions. Architecturally, Fastango uses a modular scaffold engine: a mutable ScaffoldPlan accumulates dependencies, files, environment variables, and documentation; a TemplateRenderer renders Jinja2 templates from packaged directories and inline specifications; and an IntegrationRegistry resolves aliases, conflicts, and preset expansions before applying integrations. The generator module separates deterministic rules from optional LLM provider adapters (Anthropic, OpenAI), merging suggestions after validation against the same registry. The codebase demonstrates strong engineering practices: type hints throughout, Pydantic v2 for configuration, Protocol-based integration contracts, and comprehensive tests including smoke tests for generated projects. The safety model—where provider output is always validated against a allowlist before writing files—is a notable design decision that prevents arbitrary code generation. The integration catalog is declarative and extensible, making it straightforward to add new integrations without writing imperative code.

RATING: 8.1/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
googleapis/google-api-go-client ★ 4470 1409 APPLICATION

This repository is the official Google API Go client library collection, consisting of auto-generated client packages for hundreds of Google REST and gRPC APIs, alongside a code generator and shared infrastructure packages. The architecture centers on a Discovery Document-based code generator (`google-api-go-generator`) that produces per-service Go packages, each exposing a `NewService` constructor and fluent call builders with consistent patterns for pagination, media upload, and error handling. Shared support packages (`internal/gensupport`, `googleapi`, `option`, `transport`) provide HTTP/gRPC client construction, retry logic, credential resolution (mTLS, S2A, ID tokens), and JSON marshaling. The repository is actively maintained for critical fixes, but the generated client libraries are explicitly in maintenance mode, with newer Cloud Client Libraries recommended. Key entry points include `option.ClientOption` for client configuration, `transport/http.NewClient` and `transport/grpc.Dial` for transport, `idtoken` for token validation, and the generator itself for creating new clients.

RATING: 7.9/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
tomjschuster/sequelize-ui ★ 298 57 APPLICATION

Sequelize UI is a browser-based code generation tool that allows users to visually design database schemas and generate a complete Node.js/TypeScript project using the Sequelize ORM. The application is built as a Next.js static export (client-side only) with React and Tailwind CSS, storing schemas and user preferences in localStorage. It provides a rich UI for defining models, fields, and associations, and then generates a full project scaffold including model classes, migrations, configuration files, and a minimal server. The codebase is well-structured with a clear separation between core domain logic (schema types, file tree, code generation utilities), a pluggable framework interface for code generation, and a comprehensive set of UI components. It includes extensive unit tests and end-to-end migration tests against real databases. While primarily an application, it also contains example schemas and snapshot-based test fixtures that serve as data for verifying code generation correctness.

RATING: 7.9/10 MAINT: maintained DRIFT: low
â–¸ 4 reusable components found
Azure/autorest ★ 4793 736 APPLICATION

AutoRest is a production-grade code generation tool that transforms OpenAPI (Swagger) specifications into client SDKs for multiple programming languages, including C#, Java, Python, Ruby, Go, and Node.js. It is the primary tool used by Azure to generate SDKs for Azure services, but it can be used for any REST API. The system ingests OpenAPI 2.0/3.0 documents, validates them, and processes them through a plugin-based pipeline to produce language-specific client libraries. The architecture is built around a directed acyclic graph of pipeline plugins, each responsible for a specific transformation stage (modeling, flattening, naming, emitting). The core engine orchestrates the pipeline, manages configuration loading and merging, and handles extension lifecycle. A virtual file system with source mapping tracks the provenance of generated code back to original spec positions, enabling accurate error reporting and blame tracking. Key entry points include the CLI application at packages/apps/autorest/src/app.ts, the core processing engine at packages/extensions/core/src/lib/autorest-core.ts, and the modelerfour extension that converts OpenAPI to an intermediate code model. The system also includes an experimental path to convert OpenAPI to TypeSpec via the openapi-to-typespec extension. External dependencies include npm for extension management and runtime environments (Java, Python, .NET) for generated code validation. The data flow begins with loading and parsing OpenAPI specs, followed by validation, conversion to a language-agnostic code model, and finally emission of language-specific SDK code. The pipeline supports caching, configuration merging with interpolation, and directive-based customization (e.g., removing operations, renaming components). The codebase is a large monorepo with many interdependent packages, showing signs of long-term evolution and some technical debt.

RATING: 7.8/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
plotly/dash-component-boilerplate ★ 294 196 APPLICATION

This repository is a Cookiecutter template for generating Dash component projects. It provides a structured starting point for creating custom Dash components, including Python package structure, React component code, build scripts (webpack), a demo application, and tests. Users run the template via `cookiecutter`, answer prompts about their project (name, component type, licensing), and receive a fully configured project ready for development. The template employs Jinja2 templating to conditionally include files based on user choices, such as asynchronous component loading or class/function-based React components. It includes pre-generation and post-generation hooks to validate user input and automate setup tasks like creating a virtual environment, installing dependencies, and running the initial build. Generated projects follow Dash's conventions for component distribution, including proper packaging for PyPI and NPM. Notably, the template includes a sophisticated webpack configuration implementing code splitting for asynchronous chunks and shared common chunks, optimizing bundle loading. The template also includes validation scripts to ensure the generated project's build configuration is correct. Tests verify the generated project can be built and the component renders correctly in a Dash application. The repository is actively maintained with recent commits and ongoing issue activity.

RATING: 7.8/10 MAINT: maintained DRIFT: low
â–¸ 2 reusable components found
MeVisLab/pythonqt ★ 293 109 APPLICATION

PythonQt is a dynamic Python binding library for the Qt framework, focused on embedding CPython into C++ Qt applications. The runtime in src/ exposes Qt objects to Python through custom Python type objects, signal/slot bridging, automatic type conversion, property access, and ownership transfer. Key entry points are PythonQt::init(), the PythonQt_QtAll extension, PythonQtObjectPtr, and the PythonQtScriptingConsole widget. The project is a library and code-generation toolchain rather than a standalone application; it contains no data pipelines or research components. The repository also ships a complete binding generator under generator/, which parses Qt C++ headers with a custom lexer/parser/simplecpp preprocessor pipeline, applies type-system XML rules, and emits wrapper code. Pre-generated bindings for Qt 5.15 are checked in under generated_cpp_515/, following a consistent Shell/PublicPromoter/Wrapper pattern that enables Python subclassing of Qt classes and exposure of protected methods. The project includes numerous examples and a functional test suite, and CI workflows exercise builds against multiple Qt versions including Qt 6.x. The codebase is professionally maintained but carries significant legacy from the Nokia Qt Script Generator lineage. The custom C++ parser has known limitations, the generated code is voluminous and tied to specific Qt versions, and many modules use extensive #if QT_VERSION branches. Overall it is a competent, specialized binding framework with a few genuinely reusable building blocks, but it is not a modern, lightweight codebase.

RATING: 7.8/10 MAINT: active DRIFT: medium
â–¸ 3 reusable components found
graphql-editor/graphql-zeus ★ 1977 112 APPLICATION

GraphQL Zeus is a TypeScript-first GraphQL client generator that produces a fully type-safe query builder from any GraphQL schema. It provides a CLI tool (`zeus`) that accepts a GraphQL schema file or introspection URL and generates a complete TypeScript client with zero runtime dependencies beyond `cross-fetch` and `ws` (for subscriptions). The generated client supports multiple transport modes: standard HTTP via `Chain` and `Thunder` (with custom fetch injection), WebSocket subscriptions (both legacy and `graphql-ws`), and Server-Sent Events (SSE). It also offers integration helpers for Apollo Client (`typedDocumentNode`) and exports reusable selection set composition via `Selector`. The monorepo is structured into three packages: `graphql-zeus` (CLI orchestration), `graphql-zeus-core` (code generation engine and runtime functions), and `graphql-zeus-jsonschema` (JSON Schema generation from input types). The code generation pipeline parses the schema into a tree structure, then templates it into TypeScript types and runtime functions. The project is moderately well-maintained with active issues and a test suite focused on the core code generator, though the CLI lacks automated tests and the build tooling relies on the deprecated `ttypescript` package, indicating some technical drift.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
â–¸ 7 reusable components found
EvergineTeam/WebGPU.NET ★ 201 12 APPLICATION

WebGPU.NET is a .NET binding library for the WebGPU API, specifically targeting WebAssembly via Blazor. It provides a low-level P/Invoke wrapper generated from Emscripten's WebGPU C header, enabling GPU compute and rendering in browser-based .NET applications. The repository includes a code generator (WebGPUGen) that parses the C header using CppAst and emits C# structs, enums, handles, delegates, and P/Invoke commands. The generated library is packaged as a NuGet package (Evergine.Bindings.WebGPU) with MSBuild integration for native WebGPU support. A Blazor WebAssembly sample (HelloTriangleWasm) demonstrates basic triangle rendering using the deprecated WGPUSwapChain API. The project is part of the Evergine ecosystem and follows the organization's binding conventions, with CI/CD pipelines and a binding manifest. While the core library is functional and the generator is effective, there are signs of technical drift: the sample uses a deprecated API, the generator has hardcoded paths and a typo, and the binding is tightly coupled to a specific Emscripten version. The repository is maintained but not actively evolving, with recent scope reduction (removal of non-browser support).

RATING: 7.1/10 MAINT: maintained DRIFT: medium
â–¸ 3 reusable components found
$ loading more...
$ submit: