HotGo is a full-stack rapid application development framework built on GoFrame (Go) and Vue 3 (Naive UI). It provides an admin panel with RBAC, multi-tenancy, code generation, plugin/addon system, and integrations for payments (Alipay/WeChat/QQ), SMS, email, file storage (local/S3/MinIO/COS/OSS), message queues (Redis/Kafka/RocketMQ/disk), WebSocket real-time messaging, TCP server with RPC, and cron scheduling. The backend follows a modular service layer with generated DAO/entity patterns and custom ORM handlers for data filtering, tenant isolation, and sorting. The frontend is a dynamic SPA with built-in components for tables, forms, modals, uploads, and charts, plus i18n support. The codebase is production-ready but heavily relies on code generation and custom forks of GoFrame CLI tools, introducing some maintenance risk. Designed primarily for Chinese developers building enterprise admin systems.
This repository provides a toolkit for developing JavaScript for Automation (JXA) scripts on macOS using TypeScript. It includes packages for running JXA code from Node.js (@jxa/run), an interactive REPL (@jxa/repl), type definitions for macOS applications (@jxa/types and @jxa/global-type), and a tool to generate TypeScript definitions from Apple's SDEF files (@jxa/sdef-to-dts). The monorepo structure (managed by Lerna) separates concerns into focused packages, enabling type-safe and efficient automation of macOS applications.
Enunciate is a build-time Java framework that generates API documentation, Swagger/OpenAPI specs, WSDL/XSD, and multi-language client libraries from annotated web service source code (JAX-RS, JAX-WS, JAXB, Jackson, Spring MVC). It operates as a Maven plugin or Ant task, using a plugin architecture where each technology (JAXB, JAX-RS, etc.) and output format (HTML docs, C# client, etc.) is a separate module discovered via Java SPI. The core engine scans source files, builds an internal API model using javac annotation processing, then renders templates (FreeMarker) to produce artifacts. The codebase demonstrates solid engineering with clear separation of concerns, but shows age: it targets Java 8, uses older library versions, and has significant duplication across client generation modules. It remains functional for legacy projects but may require updates for modern Java frameworks.
This repository provides a Haskell library for generating singleton types and promoted versions of data types and functions using Template Haskell. It enables dependently typed programming in Haskell by lifting term-level code to the type level and providing singleton types that mirror term-level values. The library is split into three packages: `singletons` (core functionality with broad GHC compatibility), `singletons-base` (promoted/singled versions of the base library), and `singletons-th` (Template Haskell machinery for code generation). Key features include automatic generation of defunctionalization symbols for higher-order type-level programming, derivation of type class instances for singleton types, and support for kind polymorphism.
ModelTyper is a Laravel package that generates TypeScript interfaces and types from Eloquent models. It provides artisan commands (`model:typer` and `model:typer-mappings`) to inspect model columns, accessors, relationships, counts, exists, sums, enums, and custom interfaces, producing accurate TypeScript definitions. The architecture follows Laravel package conventions with a service provider, invokable action classes, and a custom override of Laravel's ModelInspector to support custom relationships and nullable return types. The codebase is well-structured, with comprehensive test coverage and support for multiple output formats (CLI, JSON, file). It is actively maintained and supports Laravel 11.33+ and PHP 8.2+.
ts2ocaml is a CLI tool that generates OCaml and ReScript bindings from TypeScript type definitions. It parses TypeScript AST using the TypeScript compiler API (via Fable), transforms the AST into a language-agnostic internal representation, resolves types (including generics, subtyping, unions, intersections), and emits target-specific code for js_of_ocaml (.mli) or ReScript (.res/.resi). The tool is implemented in F#, compiled to JavaScript via Fable, and distributed as an npm package. It supports multiple backends via a pluggable ITarget interface, includes a comprehensive type resolver (Typer), and provides utilities for naming, text manipulation (rope), trie-based data structures, and dependency graph analysis (topological sort, SCC). The repository also ships a minimal standard library for each target to support emitted bindings. It is actively maintained with CI, frequent releases, and documentation for modeling subtyping and development setup.
Kaitai Struct is an umbrella project that provides a declarative language for describing binary data structures and a compiler to generate parser code in multiple target languages. The repository coordinates submodules for the compiler, runtimes for various languages (Java, Python, Ruby, etc.), format definitions, visualizer, tests, benchmarks, and documentation. Users describe a format in a .ksy file, compile it with the kaitai-struct-compiler to generate language-specific parser code, and use the corresponding runtime to parse binary data. The project includes CI workflows for building the compiler and publishing artifacts, and maintains a collection of ready-to-use format descriptions.
This repository implements a Terraform provider for managing Incus, a container and virtual machine orchestration platform. It provides full CRUD operations for Incus resources such as instances, networks, storage pools, profiles, projects, certificates, cluster groups, and server configuration, along with corresponding data sources for reading existing state. The provider is built using the Terraform Plugin Framework (v1.19.0) with some fallback to Plugin SDK v2, and communicates with Incus via its client library (github.com/lxc/incus/v7). Key entry points include the main.go provider server, internal/provider/provider.go for resource registration, and individual resource files under internal/{certificate,cluster,image,instance,network,profile,project,server,storage}. The provider supports multiple remotes, OIDC authentication, clustering, and PKI, and includes a code generation tool (cmd/generate-datasources) that produces consistent data source implementations and documentation from a YAML configuration and Go templates. Acceptance tests require a live Incus environment and cover complex scenarios like instance lifecycle, exec triggers, file uploads, and import. The codebase is well-structured with shared utilities in internal/common for config/device/file/import handling, and demonstrates a consistent pattern for state synchronization and error handling. However, it carries some technical debt from its fork of the LXD provider, including dual SDK usage and heavy boilerplate that could benefit from further abstraction.
O! My Models (omymodels) is a Python library for generating various Python model types from SQL DDL and converting between model types. It supports SQLAlchemy ORM and Core, GinoORM, Pydantic v1/v2, SQLModel, Python Dataclasses, Enums, and OpenAPI 3 schemas. The architecture follows a pipeline: SQL DDL parsing → normalization → type conversion → model generation → Jinja2 template rendering. Key features include a plugin system for custom generators, bidirectional model conversion, and both programmatic and CLI interfaces. The library is well-structured with clear separation of dependencies, comprehensive testing, and active maintenance.
Roo Code is an AI coding assistant extension for Visual Studio Code that provides AI-powered code generation, explanation, refactoring, and debugging capabilities. It integrates with multiple LLM providers (OpenAI, Anthropic, Google Gemini, etc.) through a well-designed abstraction layer. The application features different modes (Code, Architect, Ask, Debug, Custom) for various tasks, file operations through AI, terminal integration, MCP (Model Context Protocol) support for extensible tooling, task persistence, and a chat interface for interacting with AI models. Built as a monorepo with pnpm workspaces, it consists of a core extension, webview-based UI, CLI application, and documentation site. While the original team has moved on to another project (Roomote), the README indicates a community team has stepped up to maintain and improve Roo Code.
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.
cimgui is a C language binding generator and wrapper library for Dear ImGui, a popular C++ immediate-mode GUI library. It provides a programmatically generated C API (cimgui.h/cpp) that exposes both public and internal ImGui functions, structs, and enums, along with backend-specific wrappers for GLFW, SDL2/3, Vulkan, OpenGL, and DirectX11. The core of the project is a Lua-based code generator (generator.lua, cpp2ffi.lua) that parses ImGui C++ headers and emits C bindings, metadata files (JSON/Lua), and backend implementations. The repository includes example applications demonstrating usage with various graphics backends and a CMake-based build system for easy integration. While not a standalone application, it serves as a foundational library for embedding Dear ImGui in C projects or for generating FFI bindings to other languages (e.g., Python, Rust, C#). The generator is designed to be extensible, supporting custom configurations and inherited types, making it suitable for binding other ImGui-based libraries like cimplot or cimnodes.
Queryx is a schema-first, type-safe ORM for Go and TypeScript. It provides a CLI tool that parses HCL schema files, manages database migrations using Atlas, and generates type-safe ORM client code for both Go and TypeScript. The codebase is well-structured with clear separation of concerns: schema parsing (schema/), database adapters (adapter/), code generation (generator/), and string inflection utilities (inflect/). It supports PostgreSQL, MySQL, and SQLite. The project includes comprehensive integration tests and CI/CD pipelines. While still in beta (v0), it demonstrates solid engineering practices with template-based code generation, fluent query builders, and support for associations, transactions, and custom primary keys. The generated code is type-safe and includes its own type wrappers for nullable fields and JSON serialization.
This repository provides a Python library for creating, reading, and writing AUTOSAR XML (ARXML) files, targeting Classic AUTOSAR platforms from R19-11 to R22-11. It covers a broad range of AUTOSAR elements—software components, port interfaces, data types, constants, compu methods, service needs, and more—through an object-oriented model with full XML serialization. The library is not an end-user application but a tool for automotive engineers and tool integrators to programmatically generate ARXML artifacts for import into commercial AUTOSAR toolchains. It also includes an early-stage code generator that produces C type definitions (Rte_Type.h) from the XML model. The architecture follows a layered design: an XML model layer (autosar.xml) with element classes, enums, and references; a workspace abstraction that manages packages, documents, and template application; and a generator layer that transforms the XML model into an intermediate representation for code generation. A notable design pattern is the template system (ElementTemplate/GenericTemplate) that decouples high-level element recipes from their serialization, enabling config-driven generation of entire projects from TOML configuration files. The library is supported by a comprehensive test suite that exercises round-trip XML serialization for hundreds of element types. The codebase shows good craftsmanship—clean separation of concerns, consistent use of base classes (Identifiable, Describable), version-aware enum handling, and typed reference system. However, it is still in development (v0.5.7) with many planned releases and a roadmap that implies future breaking changes. Several AUTOSAR elements remain unimplemented, and the test suite relies on exact XML string comparisons, making it brittle. The project is maintained by a single contributor with no PyPI release, posing adoption and continuity risks. Overall, it is a solid, functional library for its domain but not yet production-ready for all use cases.
This is the swagger-codegen-generators repository, a Java library that provides code generation for client and server stubs from OpenAPI (formerly Swagger) specifications. It is not a standalone application but a library consumed by the swagger-codegen v3 tool (or used programmatically). The codebase implements a template-driven architecture where language-specific generators extend abstract base classes (e.g., AbstractJavaCodegen, AbstractTypeScriptClientCodegen) and use Handlebars/Mustache templates to produce output. It supports a wide range of languages including Java, C#, Go, Python, Ruby, Swift, TypeScript, Kotlin, Dart, PHP, Scala, R, and Node.js, with frameworks like Spring, JAX-RS, Micronaut, Vert.x, ASP.NET Core, and more. Key file patterns include feature interfaces for composable generator capabilities (e.g., BeanValidationFeatures, GzipFeatures), Handlebars helper lambdas for template logic, and schema handlers for composed schemas (allOf/oneOf/anyOf). The project has extensive test coverage with unit and integration tests for model and API generation. While the core architecture is solid, the base class DefaultCodegenConfig is monolithic and the hundreds of template files pose maintenance drift risks. The project is actively maintained with CI workflows, issue templates, and recent commits.
IBM fp-go is a comprehensive functional programming library for Go, heavily inspired by fp-ts (TypeScript). It provides a wide range of algebraic abstractions including Option, Either, Result, IO, Reader, State, Writer, and their monad transformer stacks (IOEither, ReaderIOEither, ReaderIOResult, StateReaderIOEither, etc.). The library employs Go generics to simulate higher-kinded types and includes optics (lenses, prisms, isomorphisms, traversals), lazy iterators, retry policies, resource management via Bracket, dependency injection with Reader, and code generation tools. It also offers idiomatic Go wrappers that return (A, error) tuples while preserving functional composition. The codebase is split into two parallel module paths (root and v2/), with v2 representing a newer generation requiring Go 1.24+ and adding result types, effect packages, and context-aware variants. While highly engineered and feature-rich, the dual tree structure, some incomplete components, and non-standard pragmas introduce maintenance complexity.
This repository provides a Claude Code skill for literate programming, along with supporting CLI tools. The skill (SKILL.md) defines a slash command that transforms a codebase into a `.lit.md` file – a single Markdown document that weaves prose, diagrams, and named code chunks together. The actual tools are three TypeScript scripts: `tangle.ts` extracts source files from a `.lit.md`, `untangle.ts` reverse-syncs edits back into the `.lit.md`, and `hook-reverse-sync.ts` is a Claude Code PostToolUse hook for automatic reverse-sync. The architecture is simple: standalone scripts with no external dependencies beyond Bun's runtime. The tangler parses fenced code blocks with `{chunk="name" file="path"}` attributes, builds a dictionary of chunks (supporting additive chunks), and recursively expands `<<reference>>` with cycle detection and indent preservation. The untangler uses a `.lit.map.json` source map to splice edited lines back into the original `.lit.md`, then re-tangles. The code is clean, well-documented, and demonstrates good engineering practices for a small tool. It is not a data research project nor a typical application – it is a developer tool for literate programming workflows.
This repository provides 40+ icon pack libraries for WPF (and UWP) applications under the MahApps.Metro ecosystem. The core architecture defines base classes (PackIconControlBase, PackIconDataFactory, converters) that each icon pack extends with auto-generated code: an enum of icon identifiers (e.g., PackIconFontAwesome6Kind), a PackIcon control, markup extensions, and converters. Icon path data is embedded as JSON resources and loaded via a singleton factory. The code is predominantly auto-generated from upstream icon sets (Font Awesome, Material Design, Bootstrap, etc.), leading to a highly repetitive structure across packs. The library is actively maintained with recent commits, CI/CD pipelines, and semantic versioning. While the code is well-organized and functional, the heavy reliance on code generation reduces craftsmanship in the per-pack files; the genuinely reusable components are the base classes in the Core project, which implement icon scaling, flip, rotation, spin animation, and data loading patterns.
This is a curated collection repository of Cursor AI editor rules (.mdc files), not a traditional software application. It functions as an awesome-list style repository that aggregates project-specific configuration files for the Cursor AI code editor. The repository contains over 200 rule files covering various programming languages, frameworks, testing methodologies, and development workflows. The architecture is straightforward: a flat collection of .mdc files in the rules/ directory, with a README.md serving as the index and discovery mechanism. The repository includes Node tooling for maintaining quality and consistency: scripts for checking repository hygiene, validating awesome-list format, converting README links between relative and absolute forms, checking PR author age policies, and cleaning up legacy artifacts. The CI/CD pipeline uses GitHub Actions with a main workflow file. The key value proposition is providing reusable Cursor AI configuration files that developers can drop into their .cursor/rules/ directories. Each rule file contains frontmatter metadata (description, globs pattern, alwaysApply flag) followed by instructions that guide Cursor AI's behavior for specific technology stacks or development patterns. The rules range from framework-specific guidance (React, Vue, Next.js, Svelte) to language best practices (TypeScript, Python, Go, Rust) to specialized domains (embedded systems, blockchain, machine learning workflows). The repository demonstrates moderate engineering quality in its maintenance tooling, with centralized configuration, test coverage for scripts, and automated quality checks. However, the rule files themselves vary significantly in quality and depth - some are comprehensive and well-structured while others are minimal or boilerplate.
Paper2Code is a research system that automatically generates runnable code repositories from machine learning research papers. The core pipeline, PaperCoder, uses a multi-agent LLM architecture (planning→analysis→coding) implemented as a sequence of Python scripts orchestrated via shell commands. It accepts papers in PDF (converted to JSON via s2orc-doc2json), JSON, or LaTeX format, and produces a complete Python project with config, model definitions, training loops, and evaluation scripts. The codebase supports both OpenAI API (o3-mini by default) and open-source models via vLLM (e.g., DeepSeek-Coder-V2-Lite-Instruct). It includes a debug stage that iteratively fixes runtime errors using LLM-generated SEARCH/REPLACE patches, and an evaluation module that scores generated repositories (reference-free or reference-based) using LLM judgment. The repository also bundles the Paper2Code benchmark dataset (90 papers from top ML conferences with gold repositories) and prompts for evaluation. Although primarily an application, it has research artifacts (evaluation scripts, prompt templates, benchmark data) that give it a hybrid character.