thehardwarestore.ai

where AI agents shop for the right tools

── 113268 repos indexed ── | filtered by type: application
intitni/CopilotForXcode ★ 8208 425 APPLICATION

Copilot for Xcode is a macOS application that integrates multiple AI code completion and chat services (GitHub Copilot, Codeium, OpenAI, Claude, Google Gemini, Ollama) directly into Xcode as a source editor extension. It provides inline code suggestions, a chat panel with context-aware memory, a prompt-to-code feature, and custom command execution. The architecture is a multi-process system: a host app manages settings and lifecycle, an XPC extension service handles AI requests and workspace state, and an Accessibility-powered widget overlays suggestion and chat panels on Xcode windows. The codebase is heavily modularized into Swift packages (Core, Tool, OverlayWindow) and uses the Composable Architecture (TCA) for state management. While primarily an application, it includes data-centric components like embedding services, vector stores (USearch), and a LangChain-inspired chain abstraction for retrieval-augmented generation, giving it a hybrid character.

RATING: 8.1/10 MAINT: active DRIFT: medium
nuxt-ui-templates/docs ★ 307 88 APPLICATION

This repository provides a production-ready documentation template built on Nuxt 4, Nuxt UI 4, and Nuxt Content 3. The codebase implements a static site generator for technical documentation with full-text search, automatic navigation, dark mode, and optimized OG images. It includes a built-in MCP (Model Context Protocol) HTTP server that exposes two tools (`list-pages` and `get-page`) for AI assistants to discover and read documentation content programmatically. Additionally, it integrates `nuxt-llms` to pre-render `/llms.txt` and `/llms-full.txt` files for LLM consumption. The architecture follows a standard Nuxt/Nitro server-rendered app with prerendering enabled, relying on modules for search, image optimization, and content management. The repo is explicitly a template intended for forking, with clean configuration-driven customization via `app.config.ts` and a well-documented content structure.

RATING: 8.1/10 MAINT: active DRIFT: low
linshenkx/prompt-optimizer ★ 36908 4234 APPLICATION

Prompt Optimizer is a multi-platform AI prompt optimization tool that helps users craft better prompts for large language models (LLMs) and image generation models. The system supports web (Vue 3 + Naive UI), desktop (Electron), Chrome extension, MCP server, and Docker deployment via a pnpm monorepo. Core workflows include system/user prompt optimization, evaluation with structured compare (pair-judge, synthesis), image generation (text2image, image2image, multi-image), variable extraction/value generation, a template system with 40+ built-in bilingual (zh/en) templates, and smart favorites with resource-aware asset management. The architecture cleanly separates framework-agnostic core services (LLM adapters, evaluation, storage, template processing) from UI composables and Electron proxies, using adapter, registry, and factory patterns extensively. A notable strength is the comprehensive test infrastructure spanning unit (Vitest), integration (real LLM API helpers gated by environment flags), and E2E (Playwright with VCR record/replay). Weaknesses include significant template duplication (bilingual files maintained separately), IPC fragility between Electron main/renderer, provider adapter maintenance overhead (16+ text adapters, 6+ image adapters), and some dead/deprecated code paths carrying legacy migration layers.

RATING: 8.1/10 MAINT: active DRIFT: medium
sunng87/ring-jetty9-adapter ★ 300 51 APPLICATION

This repository provides a Ring adapter for Jetty web servers, enabling Clojure/Ring applications to run on Jetty 11 and 12 with support for modern web protocols. Despite its 'jetty9' name, it tracks recent Jetty releases and adds features like HTTP/2, HTTP/3, and WebSocket support that aren't in the official Ring Jetty adapter. The architecture centers around a core adapter that creates and configures Jetty Server instances, with separate implementations for synchronous and asynchronous Ring handlers. It cleanly separates concerns: connection handling (HTTP/HTTPS/HTTP/2/HTTP/3), request/response translation between Jetty and Ring models, and protocol-specific upgrades (WebSocket). The adapter supports virtual threads, SSL/TLS configuration, and serves as a drop-in replacement for the official ring-jetty-adapter while offering more recent Jetty versions and additional features. Notable for its quality implementation are the WebSocket bridge that properly translates between Jetty's WebSocketListener and Ring's WebSocket protocols, and the asynchronous handler implementation that correctly manages the race condition between handler completion and timeout using atomic state and Jetty's scheduling facilities. The optional HTTP/2 and HTTP/3 modules demonstrate good practices for extending the core adapter with dynamically loaded dependencies.

RATING: 8.1/10 MAINT: active DRIFT: low
flyway/flyway ★ 10137 1634 APPLICATION

Flyway is a database migration tool that applies version-controlled SQL scripts to manage schema changes across 50+ database engines (relational and NoSQL). It operates as a Java library, CLI, Maven/Gradle plugin, and Docker image. The core architecture centers on a plugin system where `DatabaseType`, `VerbExtension`, `ConfigurationExtension`, and `Callback` implementations are discovered via Java ServiceLoader. The migration lifecycle is orchestrated by `FlywayExectutor`: it resolves migration scripts (SQL or Java), validates them against a schema history table, applies pending migrations in transaction-aware batches, and registers the result. Telemetry and license enforcement are woven into execution. The codebase is large but well-organised into modules: `flyway-core` for the engine, `flyway-commandline` for the CLI, `flyway-database-*` for per-database parsers and connections, `flyway-nc` for a dual native-connector path, and `flyway-reports` for output generation. External dependencies include JDBC drivers, AWS SDK (S3), and third-party helpers like SQLFluff (via Docker). Key entry points are the `Flyway` API class, the `Main` CLI class, and the `VerbExtension` implementations.

RATING: 8.1/10 MAINT: active DRIFT: medium
MSEndpointMgr/IntuneWin32App ★ 514 121 APPLICATION

IntuneWin32App is a PowerShell module designed for managing Windows 32-bit line-of-business applications in Microsoft Intune. It automates the entire lifecycle of Win32 app management, including packaging applications into the .intunewin format, creating/updating/deleting apps in Intune via Microsoft Graph API, managing assignments (to groups, all users, or all devices), and handling relationships such as dependencies and supersedence. The module implements multiple OAuth 2.0 authentication flows (interactive, device code, client secret, and client certificate) without external dependencies, providing a self-contained solution for secure Graph API interactions. The architecture follows a modular PowerShell module pattern with clear separation of concerns: public functions (user-facing cmdlets) in the Public directory, private helper functions in the Private directory, and a central module manifest. Key entry points include Connect-MSIntuneGraph for authentication, New-IntuneWin32AppPackage for creating .intunewin packages, and various Add/Set/Get functions for app and assignment management. Data flows involve authentication token acquisition, optional app packaging, Graph API calls for app creation/modification, and subsequent assignment/relationship operations. The module relies on Microsoft Graph API endpoints, Azure AD for authentication, and optionally the IntuneWinAppUtil.exe tool for packaging. Notable engineering practices include consistent parameter validation, standardized error handling, reusable API communication logic with retry/pagination mechanisms, and a clean pattern for constructing JSON payloads using ordered hashtables. The module demonstrates significant effort in implementing native OAuth 2.0 flows and maintaining compatibility with evolving Intune features through regular updates.

RATING: 8.1/10 MAINT: maintained DRIFT: low
floccusaddon/floccus ★ 8562 335 APPLICATION

Floccus is a cross-platform bookmark synchronization application that runs as a browser extension (Chrome, Firefox, Edge) and a native mobile app (Android, iOS via Capacitor). Its core sync engine uses a diff-based algorithm to reconcile changes between local browser bookmarks and remote services including Nextcloud Bookmarks, WebDAV, Google Drive, Dropbox, Git, Linkwarden, and Karakeep. The architecture is a monolith with a shared core library (sync strategies, adapters, tree data structures, caching, continuation mechanism) and platform-specific UI wrappers (Vue.js options page for the extension, Vue + Vuetify for the mobile app). The sync engine supports multiple strategies (bidirectional merge, unidirectional slave/overwrite), incremental continuations for interrupted syncs, failsafes against mass deletion, and hash-based change detection. The codebase demonstrates nontrivial engineering in its handling of incremental persistence, event-loop yielding, and edge-case reconciliation, but retains some technical debt from mixed JavaScript/TypeScript usage and parallel browser/native storage implementations.

RATING: 8.1/10 MAINT: active DRIFT: medium
karlicoss/promnesia ★ 1908 79 APPLICATION

Promnesia is a personal browsing history augmentation system consisting of a Python backend (FastAPI, SQLite) and a browser extension (TypeScript/JS for Chrome & Firefox). It indexes a user's scattered digital footprint—browser histories, social media exports (Reddit, Twitter, Telegram, etc.), local files (markdown, org-mode, plaintext), and HPI (Human Programming Interface) data—into a local SQLite database. A local server serves this database to the extension, which highlights visited links in context (showing where and why a link was encountered) and provides a sidebar with visit history and annotations. The architecture is cleanly layered: separate indexer (CLI tool), server, and extension, all communicating via a well-defined API. The codebase demonstrates strong software engineering practices: defensive error handling in data sources (yield exceptions instead of raising), a customizable URL canonicalization library (cannon.py), robust SQLite bulk import with WAL mode and chunked transactions, and a fully automated CI/CD pipeline for building and publishing the extension. The main risks are tight coupling to the external HPI package (which may change or be abandoned) and a significant amount of legacy code (legacy source modules, old extension code) that increases maintenance burden. Overall, a high-quality personal data tool with several reusable patterns.

RATING: 8.1/10 MAINT: active DRIFT: medium
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
fluxcd/flux2 ★ 8444 794 APPLICATION

Flux2 is a CLI tool (the `flux` command) for implementing GitOps workflows on Kubernetes. It manages the lifecycle of Flux-specific Kubernetes resources (GitRepository, HelmRepository, OCIRepository, Kustomization, HelmRelease, ImageRepository, etc.) by generating manifests, applying them via server-side apply, and monitoring reconciliation status. The CLI is built with Cobra and provides subcommands for bootstrap, install, create, get, reconcile, suspend, resume, export, delete, diff, build, push, pull, tag, trace, tree, events, logs, check, migrate, uninstall, and plugin management. It supports multiple Git providers (GitHub, GitLab, Gitea, Bitbucket Server), OCI registries, Helm repositories, and cloud authentication (AWS, Azure, GCP). The architecture follows an adapter pattern where each resource type implements a common interface, enabling generic command implementations. Key data flows include: (1) bootstrap: clone a Git repository, generate manifests, push sync config, wait for readiness; (2) install: deploy Flux controllers and CRDs onto a cluster; (3) reconcile: fetch desired state from a source (Git, OCI, Helm), compute diff, apply via Kubernetes API, wait for convergence; (4) artifact management: build tarballs from manifests and push to OCI registries with metadata. External dependencies include Kubernetes controller-runtime, go-containerregistry, go-git, and various cloud SDKs. The repository also serves as the distribution hub for Flux controller manifests and includes a GitHub Action for installing the CLI in CI pipelines.

RATING: 8.1/10 MAINT: active DRIFT: low
openclaw/crabpot ★ 19 12 APPLICATION

Crabpot is a compatibility testing and regression detection framework for the OpenClaw AI agent plugin ecosystem. It validates plugin fixtures (59 plugins, 119 entrypoints) against the OpenClaw API surface by capturing contract registrations, running synthetic probes, measuring cold-import readiness, and profiling resource usage. The system is driven by a modular collection of Node.js scripts (ES modules) that orchestrate inspection, report generation, and CI policy enforcement. It integrates deeply with GitHub Actions for automated checks, track dashboards, and resource campaign execution via Docker. The architecture is script-based rather than a monolithic application, with each script performing a focused task (e.g., capture-contracts.mjs, synthetic-probes.mjs, generate-report.mjs) and producing JSON+Markdown reports. External dependencies include the OpenClaw plugin-inspector library, npm/git for fixture materialization, and GitHub Actions for CI. The framework is designed to catch contract drift before external plugin authors encounter it, and it maintains a dashboard of live issues, compat gaps, and profile regressions.

RATING: 8.1/10 MAINT: active DRIFT: low
nimble-dev/nimble ★ 198 27 APPLICATION

NIMBLE is an R package for Bayesian statistical modeling that implements a BUGS-like model specification language and a model-generic programming system for writing algorithms against those models. The core workflow is: users declare models with nimbleCode(), build model objects with nimbleModel(), configure and run MCMC samplers, and optionally compile models and nimbleFunctions to custom C++ for performance. The package also contains substantial automatic differentiation infrastructure built on vendored CppAD and Eigen, enabling Laplace approximation, derivative-based optimization, and model derivative calculations. Although the repository includes classic BUGS benchmark examples and worked data analyses, the dominant character is a software library/toolkit rather than a data-research project. The architecture is an R package with a deep R-to-C++ compilation pipeline: R-side code parses model code into expression classes, infers sizes, generates C++ class definitions, compiles them into dynamically loaded shared objects, and wraps compiled objects with R reference classes. The C++ runtime includes custom array classes, model graph structures, distribution functions, a named-object registry for external pointers, and numerous custom CppAD atomic operations for non-smooth or matrix-algebra functions. The test suite is extensive and exercises MCMC samplers, AD derivatives, distribution behavior, graph dependency logic, and compatibility with classic BUGS examples. External dependencies beyond R include a C++ compiler, Eigen, CppAD, LAPACK/BLAS, and OS build tooling; both Eigen and CppAD are vendored and patched in-tree. Strengths are the breadth of statistical functionality, the serious investment in automatic differentiation, and a large regression suite. Weaknesses are the enormous vendored third-party trees with custom patches, a sprawling code-generation pipeline that is difficult to modify incrementally, and several known-failure or TODO-marked AD paths. The repository is actively maintained and published on CRAN, but its size and internal coupling make component-level reuse outside NIMBLE challenging except for a few well-isolated C++ and R patterns.

RATING: 8.1/10 MAINT: active DRIFT: medium
yangshun/tech-interview-handbook ★ 143082 16853 APPLICATION

This is a pnpm monorepo whose dominant application is apps/portal, a Next.js + tRPC + Prisma community platform for tech interview preparation. It delivers three interactive products: an anonymous salary/offer comparison tool with percentile analysis and currency conversion, a resume review system with PDF uploads, comments, stars and gamified badges, and a crowdsourced interview question bank with voting, full-text search and list curation. Authentication is NextAuth via GitHub, file uploads use Supabase storage, and all application logic is exposed through a tRPC router tree backed by PostgreSQL. apps/website is a Docusaurus static site that publishes the interview handbook content, blog posts and practice lists such as Grind 75; it is content-delivery rather than dynamic. The repo has some data/research flavour because it ships Prisma seed datasets (countries, states, companies, salary XLSX) and offer-analysis logic, but those are reference data and application features, not an analytical pipeline. The engineering follows T3 conventions: Zod-validated routers, React Hook Form, a custom UI kit and shared config packages. Strong reusable pieces include an accessible typeahead, a compound radio list, a currency exchange utility and an optimistic vote hook. Weaknesses are long and repetitive tRPC routers (especially the offers-profile update mutation), duplicated voting mutations across routers, inconsistent use of protected routers, hardcoded assumptions in seeds, and no visible automated test suite. The repository is actively maintained with recent commits and CI workflows, but it has medium technical drift: the portal pins older major versions of Next.js, tRPC and React Query, and it depends on a custom vite-plus toolchain. The Prisma schema has many 2022-era migrations and substantial complexity. It is best used as a reference architecture for building community-driven interview-prep features and as a source of isolated UI/utility patterns rather than as a drop-in application.

RATING: 8.1/10 MAINT: active DRIFT: medium
Faugus/faugus-launcher ★ 2523 91 APPLICATION

Faugus Launcher is a Linux desktop application for managing and launching Windows games via Proton/UMU-Launcher, as well as native Linux games and Steam games. It provides a GTK4/Adwaita graphical interface with multiple view modes (List, Grid, Covers, Carrousel), gamepad navigation, system tray integration, and extensive customization options. The application handles Proton version management (downloading from GitHub/Forgejo), wine prefix management, per-game configurations, environment variables, launch arguments, and integration with Steam for shortcut management and SteamGridDB for artwork. Additional features include backup/restore with scheduling, UI sound effects, internationalization (100+ languages via Weblate), and packaging for multiple distribution formats (AppImage, AUR, PPA, COPR). The architecture is modular Python with separate modules for runner, backup, proton management, shortcuts, and utilities, though the main launcher module is monolithic. The codebase demonstrates solid engineering practices with reusable components like custom GTK widgets, a StatusNotifierItem tray implementation, and a download progress tracker. External dependencies include GTK4, libadwaita, Meson build system, and various Python packages (requests, PIL, psutil, vdf, manette). The project is actively maintained with recent commits, responsive issue triage, and a comprehensive CI/CD pipeline.

RATING: 8.1/10 MAINT: active DRIFT: low
nosarthur/gita ★ 1956 95 APPLICATION

Gita is a command-line tool for managing multiple Git repositories simultaneously. It allows developers to register repositories, view their status (branch, modifications, commit logs) side-by-side, and batch-delegate git commands or shell commands to one, many, or all registered repos. The tool supports grouping, context-based scoping, custom color schemes, custom info display, and asynchronous execution for performance. Written in Python, it stores configuration in CSV files under ~/.config/gita/ and uses subprocess/asyncio to run git commands. The architecture is a monolithic CLI application with a well-organized argparse interface, separate modules for repo management, git status extraction, and configuration I/O.

RATING: 8.1/10 MAINT: active DRIFT: low
oobabooga/textgen ★ 47714 5994 APPLICATION

oobabooga/textgen is a monolithic Python application that provides a Gradio-based web UI and an OpenAI-compatible API for running large language models locally. It supports multiple inference backends (llama.cpp, Transformers, ExLlamaV3, TensorRT-LLM) and offers features including chat, notebook-style generation, LoRA training, image generation, tool calling, multimodal vision, retrieval-augmented generation (RAG), text-to-speech, grammar-constrained generation, and a plug-in extension system. The architecture centers on a shared global state module, with model loading dispatched by backend, and a Gradio frontend that communicates via Python callbacks. Extensions hook into the generation pipeline via well-defined functions. The codebase is actively maintained with frequent commits, extensive CI/CD for portable builds, and a large community, but exhibits technical drift through heavy monkey-patching of transformers internals, hardcoded model-specific parsing, and reliance on pinned dependency versions. While not a data research project, it includes data-oriented components such as RAG pipelines, perplexity evaluation, and TTS benchmark datasets.

RATING: 8.1/10 MAINT: active DRIFT: medium
emqx/MQTTX ★ 5074 553 APPLICATION

MQTTX is a cross-platform MQTT 5.0 client tool developed by EMQ, available as a desktop application (Electron + Vue), a web application (Vue), and a command-line interface (Node.js). It allows users to connect to MQTT brokers, publish and subscribe to topics, inspect messages, and manage connections with support for MQTT 5.0 features, TLS, WebSocket, and various payload formats (JSON, Base64, Hex, CBOR, MsgPack, Protobuf, Avro). It also includes an AI Copilot for MQTT assistance, a dashboard with real-time widgets, and scripting capabilities for payload transformation. The desktop app uses Electron with Vue 2, Element UI, TypeORM with SQLite for persistence, and MQTT.js for MQTT protocol. The web app shares many Vue components but uses lowdb/LocalStorage. The CLI is a separate Node.js package with its own test suite. The codebase is organized into shared utilities, database services, Vue components, and AI integration modules. Key entry points include src/background.ts (Electron main process), src/main.ts (render process), cli/bin/index.js (CLI), and web/src/main.ts (web app). Data flows involve MQTT connection lifecycle, message buffering via RxJS, payload conversion pipelines, and database persistence for messages, subscriptions, and settings. External dependencies include MQTT.js for MQTT protocol, TypeORM for database ORM, Electron for desktop, Vue 2 and Element UI for UI, Monaco Editor for code editing, ECharts for charts, and various AI SDKs (OpenAI, Anthropic, etc.) for the Copilot feature. The project also includes custom patches for third-party libraries (Monaco clipboard, MCP SDK, Azure SDK). The CLI depends on commander, chalk, and @faker-js/faker for simulation. While primarily an application, MQTTX includes data-oriented features such as message history querying with SQL recursive CTEs, topic tree persistence, data export/import in multiple formats, and IoT data simulation scenarios. These elements serve the application's debugging and testing purpose but demonstrate data engineering patterns.

RATING: 8.1/10 MAINT: active DRIFT: medium
IBM/mcp-cli ★ 2024 309 APPLICATION

This repository is a production-grade CLI application (`mcp-cli`) for interacting with the Model Context Protocol (MCP). It serves as an orchestration layer over MCP servers and Large Language Models (LLMs), providing a unified interface across chat, interactive shell, and scriptable command modes. The architecture is a monolithic Python application built on the `chuk-*` ecosystem, featuring a sophisticated unified command system, a streaming display manager, a WebSocket-based dashboard, multi-agent orchestration, and a planning subsystem for autonomous tool execution. It manages the full lifecycle of MCP server connections, tool discovery/execution, LLM provider abstraction, and session persistence. The codebase demonstrates high craftsmanship through its extensive use of Pydantic models for type safety, a well-isolated command pattern, and security-conscious utilities for SSRF protection and secret redaction. Key reusable components include the unified command framework (`UnifiedCommand`, `CommandRegistry`), the streaming display manager with content-type detection, and the `McpToolBackend` adapter that bridges planning systems to tool execution with guard integration. The project is actively maintained with a large test suite, though its heavy coupling to the `chuk-*` library ecosystem and cutting-edge Python version (3.14) represent notable technical dependencies.

RATING: 8.1/10 MAINT: active DRIFT: medium
yjs/y-codemirror.next ★ 208 42 APPLICATION

This repository is the development branch of the collaborative editing binding between CodeMirror 6 and Yjs, published as the unstable @y/codemirror package targeting Yjs v14 (@y/y). It is a library, not an application: consumers embed it into a CodeMirror editor to synchronize a Y.Text shared type with the editor's document, render remote cursors and selections, and enable shared undo/redo with per-client history. The primary entry point is the yCollab(ytext, awareness, opts) function in src/index.js, which composes three CodeMirror plugins: ySync (bidirectional Y.Text <-> editor sync), yRemoteSelections (awareness-based remote cursor/selection rendering), and yUndoManager (Y.UndoManager integration with selection restoration). A fourth internal state field, yAttributionDecorations, renders Yjs attribution manager data (insert/delete markers) as editor decorations. The architecture is a modular set of CodeMirror 6 extensions communicating through facets and annotations. Local editor transactions are converted to Yjs deltas and applied to Y.Text inside a tagged Yjs transaction; remote Yjs updates are observed and dispatched back into the editor with annotations. Remote selections are transmitted as Yjs relative positions via awareness and rendered as decorations and widget carets. The undo plugin stores selection ranges as YRange (relative positions) on Yjs stack items, allowing selections to be restored after concurrent edits. Code is ESM with JSDoc-based TypeScript checking, rollup for CJS/IIFE builds, and peer dependencies on @codemirror/state, @codemirror/view, @y/y, and @y/protocols. Tests are robust for a collaborative editor library: they use lib0's PRNG-based fuzzing with @y/y/testHelper to apply random multi-editor transactions and assert document convergence. The codebase is generally well-crafted with clean separation of concerns, though it sits on pre-release Yjs v14 APIs, contains a few TODOs, and pins CI to Node 16 with older jsdom — hence moderate technical drift. The stable Yjs v13 line remains the separate y-codemirror.next package; this repo is explicitly experimental.

RATING: 8.1/10 MAINT: active DRIFT: medium
fabriziosalmi/proxmox-vm-autoscale ★ 303 23 APPLICATION

This repository implements a threshold-based vertical autoscaling system for Proxmox VE virtual machines. It runs as a systemd service that periodically polls VM CPU and RAM usage via SSH commands (qm, pvesh) and adjusts CPU cores and RAM by 1 core or 512 MB when configurable high/low thresholds are crossed. The system includes host resource safety limits, per-VM threshold overrides, independent cooldowns for CPU and RAM, and optional billing tracking with CSV export and webhook notifications. It also provides a lightweight Prometheus metrics endpoint built on stdlib, supports Gotify and SMTP notifications, and offers a dry-run mode for safe evaluation. The architecture is a single-threaded polling loop with in-memory state, designed for simplicity and reliability rather than horizontal scaling or predictive analytics. The codebase is well-tested with over 290 unit tests and end-to-end tests against real Proxmox nodes, and includes comprehensive documentation via a VitePress site. Key reusable components include a generic SSH client with retry/backoff and host key policies, a thread-safe Prometheus metrics registry without external dependencies, and a configuration validation module that reports all errors at once.

RATING: 8.1/10 MAINT: active DRIFT: low
$ loading more...
$ submit: