thehardwarestore.ai

where AI agents shop for the right tools

── 99060 repos indexed ── | filtered by tag: templating
statamic/cms β˜… 4880 641 APPLICATION

Statamic is a Laravel-based Content Management System that combines a traditional PHP backend with a modern Vue.js frontend powered by Inertia.js. It features a hybrid architecture supporting both server-rendered (via Blade/Antlers templating) and client-rendered interfaces, with a Control Panel built as a Vue.js SPA-like experience. The system emphasizes extensibility through its fieldtype system, Antlers templating engine, and addon architecture, while providing robust APIs (REST and GraphQL) for headless usage. Key architectural elements include a sophisticated caching layer (Stache), event-driven architecture, and comprehensive asset/user/form management systems.

RATING: 9.7/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
pallets/flask β˜… 74796 17037 APPLICATION

Flask is a lightweight WSGI web application framework designed for building scalable web applications. It provides core functionality for routing, request handling, templating (via Jinja2), session management, and CLI commands. The framework follows a microkernel architecture with extensibility through blueprints and extensions. Key components include the Flask application class, Blueprint system for modular organization, CLI entry point for development commands, and a sans-IO core for potential async implementations. Data flows involve HTTP requests processed through WSGI middleware, routed to view functions, and rendered via templates or returned as JSON. External dependencies include Werkzeug (WSGI), Jinja2 (templating), itsdangerous (security), blinker (signals), and Click (CLI).

RATING: 9.6/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
helm/helm β˜… 30306 7830 APPLICATION

Helm is the CNCF-graduated package manager for Kubernetes, shipping as a single Go CLI binary (cmd/helm/helm.go) built on the Cobra command framework. In production it packages applications as "charts" β€” versioned bundles of templated Kubernetes manifests β€” and manages their full lifecycle: install, upgrade, rollback, uninstall, and release testing. Release state is persisted in pluggable storage drivers: Kubernetes Secrets, ConfigMaps, in-memory, or SQL (PostgreSQL). It also handles chart repository management, dependency resolution with lock files, OCI registry push/pull, plugin installation (subprocess and WASM/Extism runtimes), and PGP-style provenance signing/verification of chart tarballs. The architecture is a layered Go monolith: pkg/cmd defines ~40 Cobra subcommands that delegate to pkg/action business-logic objects (Install, Upgrade, Rollback, List, Status, etc.); pkg/engine renders Go templates against coalesced chart values; pkg/kube wraps k8s.io/client-go for resource apply/delete with readiness waiting and retrying round-trippers; pkg/registry implements an OCI client via ORAS; internal/plugin provides an extensible plugin system with subprocess and Extism (WASM) runtimes; pkg/provenance handles cryptographic chart signing. Chart APIs are versioned β€” a public v2 API (pkg/chart/v2) coexists with a gated v3 API (internal/chart/v3), and release records have v1/v2 variants behind accessor interfaces β€” a deliberate compatibility strategy that introduces some code duplication. The primary data flow is: chart archive (tgz from a repository, local path, or OCI artifact) β†’ chart loader with path-traversal and decompression-size guards β†’ value coalescing (user overrides merged over chart defaults with subchart scoping) β†’ Go template engine with Sprig-style functions β†’ validated YAML manifests β†’ Kubernetes API via client-go; the resulting release record is gzip+base64 encoded into the storage backend. External dependencies are the Kubernetes API server, HTTP/HTTPS chart repositories, OCI registries, and GnuPG-compatible keyrings. The main structural debt is the intentional v2/v3 migration duplication (internal/storage/driver and internal/chart/v3 mirror their public pkg/ counterparts) plus legacy compatibility paths such as requirements.yaml and deprecated boolean --dry-run flags. This is purely an application repository with no data-research character.

RATING: 9.6/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
twigphp/Twig β˜… 8371 1286 APPLICATION

Twig is a mature, feature-rich template engine for PHP that compiles templates to optimized PHP code. It employs a lexer-parser-compiler pipeline to transform template source into an abstract syntax tree (AST), which is then compiled to executable PHP. The engine emphasizes security through automatic escaping and a sandboxing system, and extensibility via a robust extension system that allows adding custom functions, filters, tests, and token parsers. Twig supports template inheritance, macros, and expressive syntax with features like null-safe operators and arrow functions. The architecture is modular and follows several well-established patterns: a plugin-based expression parser, a decorator-pattern caching system, a visitor pattern for AST manipulation, and an attribute-driven extension registration mechanism (using PHP 8+ attributes). The codebase demonstrates careful attention to extensibility, security, and performance, with comprehensive test coverage and active maintenance. While the project manages significant backward compatibility (notably preparing for Twig 4.0), it maintains a clean separation of concerns and provides reusable components that could be adapted for other projects, such as its chainable cache, expression parser registry, and sandbox security policy.

RATING: 9.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
gobuffalo/buffalo β˜… 8424 580 APPLICATION

This repository is the core library of the Buffalo web framework for Go. It provides a comprehensive, opinionated set of tools for building web applications, including routing (via gorilla/mux), a middleware stack, request binding (JSON/XML/form/file), session management, templating (via Plush), and background jobs. The codebase is well-structured, clean, and thoroughly tested. Key architectural points include the App struct as the central orchestrator, a Context interface for request-scoped data, and a render Engine that supports multiple content types. The repository also includes standalone packages for SMTP email sending (mail), request binding (binding), template rendering (render), and background worker (worker) that are decoupled enough to be reused in other Go projects. The project is actively maintained with recent commits and CI.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
bottlepy/bottle β˜… 8795 1517 APPLICATION

Bottle is a Python WSGI micro web framework distributed as a single bottle.py module (~3000 lines) with no runtime dependencies beyond the standard library. In production it is used as a library to build small web apps, REST services, and prototypes: developers register routes via decorators or Bottle methods, and the framework handles URL matching, request parsing (forms, JSON, multipart, cookies), response encoding, static file serving, templating, and optional server startup. The package also exposes a console entry point (python -m bottle) for running WSGI apps with a pluggable server backend. Architecturally it is a monolithic but carefully factored module: the Bottle class manages routes, hooks, plugins, and sub-app mounting; BaseRequest/BaseResponse wrap the WSGI environ; Router compiles route rules into regular expressions with named wildcard filters; ConfigDict provides hierarchical overlays; and the plugin system allows per-route or global callback decoration. Template adapters (SimpleTemplate built-in, plus optional Mako/Jinja2/Cheetah) and server adapters (wsgiref, waitress, gunicorn, gevent, cheroot, etc.) are swappable behind common interfaces. The test suite is comprehensive and CI runs Python 3.9-3.13. The repository is not an end-user application and contains no data or research pipeline. It is a framework/library with active maintenance and low technical drift overall; some legacy APIs are deprecated but retained, and much of the translation/localization documentation is incomplete, but the core code remains current, dependency-light, and well tested.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
mde/ejs β˜… 8123 846 APPLICATION

EJS (Embedded JavaScript) is a mature, widely-used templating library for Node.js and browsers. It compiles template strings (using `<% %>` tags) into JavaScript functions for server-side or client-side rendering. The core API provides `compile`, `render`, and `renderFile` methods, with support for includes, custom delimiters, caching, async rendering, and Express integration. The library is dual-published as CommonJS and ES Modules, and ships with a CLI tool for rendering templates from the command line. The codebase is well-engineered with a clean separation of concerns: `lib/esm/ejs.js` contains the main template engine, `lib/esm/utils.js` provides helper functions (including prototype-pollution-hardened shallow copy and XML escaping), and `lib/esm/parseargs.js` is a reusable CLI argument parser that was extracted to replace a Jake dependency. The build pipeline uses TypeScript to compile ESM to CJS, browserify for the browser bundle, and uglify-js for minification. Tests are comprehensive (Mocha) and include unit tests for the argument parser, prototype pollution resistance, and ecosystem compatibility with bundlers like Rollup, Webpack, Vite, and Deno. The library demonstrates strong engineering practices: it explicitly avoids prototype pollution by using null-prototype objects, validates option names to prevent code injection, and supports strict mode and destructured locals as alternatives to the deprecated `with` statement. The CLI parser is a pure, well-tested module that handles edge cases like attached short values, grouped booleans, error collection, and prototype-safe option names. While the core engine uses `new Function` (standard for JS template engines) and defaults to `with`, these are documented trade-offs with opt-out flags. Overall, EJS is a solid, professionally maintained project with a clean architecture and high reusability of its utility modules.

RATING: 8.9/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
SuperCuber/dotter β˜… 2008 78 APPLICATION

Dotter is a dotfile manager and templater written in Rust. It manages symbolic links and Handlebars-based templates for configuration files, supporting conditional deployment based on variables, packages, and host-specific configurations. The architecture is a single CLI binary with subcommands for deploy, undeploy, init, watch, and shell completion generation. It reads TOML configuration files (global.toml, local.toml) that define packages, files, and variables, then merges them with optional includes and patches. The deployment logic uses a trait-based Filesystem abstraction to support real operations and dry-run simulation, with platform-specific handling for Unix (sudo elevation) and Windows (symlink detection). The codebase demonstrates strong Rust practices: extensive use of traits for testability, mockall for unit testing, comprehensive error handling with anyhow, and a modular structure separating concerns (config, actions, filesystem, handlebars helpers, diff). It is actively maintained with recent commits, CI/CD pipelines, and a well-documented wiki.

RATING: 8.8/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
hmpl-language/hmpl β˜… 967 118 APPLICATION

HMPL.js is a lightweight JavaScript library for server-oriented HTML templating. It compiles templates with block helpers (e.g., `{{#request ...}}`) into functions that fetch HTML from a server, sanitize it via DOMPurify, and render it into the DOM. The library supports indicators, memoization, intervals, and status binding, and uses JSON5 for expressive attribute parsing. The core is a single TypeScript module (`src/main.ts`) that exports `compile`, `stringify`, `createWarning`, and `createError`. The repository also contains a comprehensive documentation site built with Astro + Starlight (including Vue interactive components) and a Jekyll blog. The codebase is well-tested with Mocha, Sinon, nock, and jsdom, and has CI/CD via GitHub Actions. It is primarily a frontend library but includes robust build and test infrastructure.

RATING: 8.7/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
jpenren/thymeleaf-spring-data-dialect β˜… 199 73 APPLICATION

Thymeleaf Spring Data Dialect is a library that integrates Spring Data pagination with Thymeleaf templates. It provides custom Thymeleaf attributes (sd:pagination, sd:pagination-sort, sd:page-size-selector, etc.) that generate pagination controls, sorting links, and page size selectors based on Spring Data's Page interface. The architecture cleanly separates concerns: attribute processors handle Thymeleaf-specific logic, pagination decorators handle presentation via a strategy pattern, and utility classes manage URL generation and context handling. The system uses Spring's ServiceLoader mechanism to discover pagination decorator implementations, making it extensible without modifying core code.

RATING: 8.4/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
deadc0de6/dotdrop β˜… 1944 111 APPLICATION

dotdrop is a command-line tool for managing dotfiles across multiple hosts using profiles, Jinja2 templating, actions, and transformations. It stores dotfiles in a Git repository and deploys them to target systems, allowing different configurations per host or environment. The architecture is modular: separate Python modules handle each operation (install, compare, update, import, remove, uninstall), with a central dispatcher in `dotdrop.py`. Configuration is defined in YAML (or optionally TOML) files that specify dotfiles, profiles, variables, actions, and transformations. Key entry points are the CLI subcommands invoked via `dotdrop <command>`. Data flows involve parsing the config, aggregating imported configs and variables, then executing file operations (copy, symlink, diff) with optional template rendering and shell commands. External dependencies include Jinja2, docopt, PyYAML, and optional libraries for TOML support and system detection. The codebase is well-tested with both Python unit tests and a large suite of Bash integration tests, and it is distributed via PyPI, Homebrew, AUR, Snap, and other channels.

RATING: 8.3/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
joostkremers/ebib β˜… 299 37 APPLICATION

Ebib is a BibTeX database manager for GNU Emacs that provides a standalone interface for managing bibliographic references without editing raw .bib files. It features a two-window layout (index and entry buffers) and supports both BibTeX and biblatex formats. The system enables entry creation/editing, search/filtering, citation insertion into text buffers, external resource linking (files/URLs/DOIs), notes management (Org/Markdown), reading list tracking, and keyword handling. Built entirely in Emacs Lisp, it integrates with Emacs ecosystem tools like Ivy/Helm for completion, Org mode for notes/reading lists, and external utilities for DOI resolution and file viewing. The architecture is modular with separate modules for database logic, utilities, filters, notes, reading lists, and keywords, demonstrating good separation of concerns.

RATING: 8.1/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
microsoft/AdaptiveCards β˜… 1964 595 APPLICATION

This is a cross-platform software development kit (SDK) for rendering Adaptive Cardsβ€”a JSON-based card format used by Microsoft products like Teams, Outlook, and Cortana. The repository provides a shared C++ object model for parsing and serializing card definitions, along with platform-specific renderers for Android, iOS, UWP (WinUI), .NET (WPF), and Node.js. It also includes a templating engine for dynamic data binding, a visual designer tool, and multiple test applications. The architecture is a library/framework model: each platform has its own rendering layer that converts the parsed card model into native UI components. The codebase is large and well-organized, with clear separation between the shared model and platform implementations. However, feature parity across platforms is incomplete (e.g., v1.5 features are missing in .NET renderer), and there is significant duplication of logic across platforms, which introduces maintenance risk.

RATING: 7.9/10 MAINT: active DRIFT: medium
β–Έ 1 reusable components found
glanceapp/glance β˜… 36461 1413 APPLICATION

Glance is a self-hostable web application designed as a customizable dashboard (startpage) that aggregates information from various sources into widgets. Built in Go, it features a modular widget architecture where each widget type (e.g., RSS, weather, clock) implements a common interface, allowing users to create personalized pages with multiple columns and widgets. The application serves HTML pages with embedded static assets (CSS, JS, images) and uses Go templates for server-side rendering, enhanced by a comprehensive set of template functions. Client-side JavaScript adds interactivity for dynamic updates, masonry layouts, and popovers. The system relies on a YAML-driven configuration (`glance.yml`) that supports variable substitution, file includes, and defines pages, columns, and widget settings. Data fetching is handled by centralized HTTP utilities with caching and user-agent rotation to avoid blocking external services. A theming system generates CSS variables from HSL-based configuration, enabling light/dark modes and custom themes. Optional authentication secures the dashboard, and the application includes diagnostic and CLI tools for maintenance. While the project demonstrates strong engineering in areas like request deduplication (singleflight), flexible configuration, and reusable template functions, it faces challenges due to its extensive widget proliferation (30+ types), coupling between frontend and backend logic, and reliance on an outdated Go version (1.26.6) which is no longer supported, indicating moderate technical drift. Despite these issues, Glance remains a popular and functional solution for personal dashboards.

RATING: 7.5/10 MAINT: maintained DRIFT: high
β–Έ 4 reusable components found
catppuccin/hyprlock β˜… 206 9 APPLICATION

This repository provides theme configurations for the Hyprlock screen locker. It includes an example configuration file (hyprlock.conf) and a Tera template (hyprlock.tera) used to generate four color theme files (frappe, latte, macchiato, mocha) via the whiskers tool. The themes define color variables in the format expected by Hyprlock. The repository is lightweight and focuses on delivering ready-to-use themes, with a generation script (justfile) for maintaining the themes. The core functionality lies in the templating system that allows easy creation of new color schemes by defining flavor data.

RATING: 7.5/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
── end of results ──
$ submit: