| Server IP : 35.80.110.71 / Your IP : 216.73.216.221 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/philiprehberger-nextjs/.next/static/chunks/ |
Upload File : |
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[632],{9632:(e,r,i)=>{i.d(r,{packages:()=>t});let t=[{name:"@philiprehberger/abort-kit",description:"AbortController utilities — timeout, race, linked signals",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/abort-kit",github:"https://github.com/philiprehberger/ts-abort-kit",technologies:["TypeScript"],version:"0.1.3"},{name:"@philiprehberger/api-error-kit",description:"Standardized typed HTTP error classes for APIs",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/api-error-kit",github:"https://github.com/philiprehberger/ts-api-error-kit",technologies:["TypeScript","Node.js"],version:"0.1.7"},{name:"@philiprehberger/async-batcher",description:"Automatic batching and deduplication for async operations",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/async-batcher",github:"https://github.com/philiprehberger/ts-async-batcher",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/async-queue",description:"Priority queue for async tasks with concurrency control",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/async-queue",github:"https://github.com/philiprehberger/ts-async-queue",technologies:["TypeScript","Node.js"],version:"0.1.6"},{name:"@philiprehberger/bit-flags",description:"Type-safe bitwise flag operations for permissions, features, and options",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/bit-flags",github:"https://github.com/philiprehberger/ts-bit-flags",technologies:["TypeScript"],version:"0.1.3"},{name:"@philiprehberger/bytes-ts",description:"Parse and format byte sizes for humans",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/bytes-ts",github:"https://github.com/philiprehberger/ts-bytes",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/cache-kit",description:"In-memory LRU cache with TTL, stale-while-revalidate, and tag invalidation",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/cache-kit",github:"https://github.com/philiprehberger/ts-cache-kit",technologies:["TypeScript","Node.js"],version:"0.3.5"},{name:"@philiprehberger/case",description:"String case conversion — camel, snake, kebab, pascal, title, and deep object key conversion",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/case",github:"https://github.com/philiprehberger/ts-case",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/circuit-breaker",description:"Circuit breaker pattern for fault-tolerant async service calls",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/circuit-breaker",github:"https://github.com/philiprehberger/ts-circuit-breaker",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/cloudinary-utils",description:"Cloudinary image URL builder, srcset generation, and blur placeholders",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/cloudinary-utils",github:"https://github.com/philiprehberger/ts-cloudinary-utils",technologies:["TypeScript","Next.js"],version:"0.2.9"},{name:"@philiprehberger/color-kit",description:"Lightweight color parsing, conversion, and manipulation",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/color-kit",github:"https://github.com/philiprehberger/ts-color-kit",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/color-string",description:"Parse and stringify CSS color values — hex, rgb, hsl, and named colors",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/color-string",github:"https://github.com/philiprehberger/ts-color-string",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/config-layer",description:"Layered configuration loader with typed output and multiple sources",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/config-layer",github:"https://github.com/philiprehberger/ts-config-layer",technologies:["TypeScript"],version:"0.1.6"},{name:"@philiprehberger/cookie-ts",description:"Parse, serialize, and manage HTTP cookies with full typing",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/cookie-ts",github:"https://github.com/philiprehberger/ts-cookie",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/core-utils",description:"Pure utility functions - formatting, pagination, slugs, class merging, and more",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/core-utils",github:"https://github.com/philiprehberger/ts-core-utils",technologies:["TypeScript","Tailwind CSS"],version:"0.2.8"},{name:"@philiprehberger/cron-kit",description:"Cron job scheduler with overlap prevention, timezones, and job management",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/cron-kit",github:"https://github.com/philiprehberger/ts-cron-kit",technologies:["TypeScript","Node.js"],version:"0.3.5"},{name:"@philiprehberger/cuid-ts",description:"Collision-resistant sortable unique IDs",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/cuid-ts",github:"https://github.com/philiprehberger/ts-cuid",technologies:["TypeScript"],version:"0.1.3"},{name:"@philiprehberger/date-range-ts",description:"Date range operations — overlap, gap, iterate, merge",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/date-range-ts",github:"https://github.com/philiprehberger/ts-date-range",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/debounce-promise",description:"Debounced async functions that return the latest promise result",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/debounce-promise",github:"https://github.com/philiprehberger/ts-debounce-promise",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/debounce-ts",description:"Typed debounce and throttle with cancel, flush, and pending state",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/debounce-ts",github:"https://github.com/philiprehberger/ts-debounce",technologies:["TypeScript","Node.js"],version:"0.1.2"},{name:"@philiprehberger/deep-equal",description:"Fast deep equality comparison for JavaScript values with TypeScript type guards",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/deep-equal",github:"https://github.com/philiprehberger/ts-deep-equal",technologies:["TypeScript"],version:"0.1.3"},{name:"@philiprehberger/deep-merge-ts",description:"Type-safe deep merging of objects",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/deep-merge-ts",github:"https://github.com/philiprehberger/ts-deep-merge",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/dev-docs-kit",description:"Generate comprehensive development documentation for Node.js/TypeScript projects",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/dev-docs-kit",github:"https://github.com/philiprehberger/ts-dev-docs-kit",technologies:["TypeScript","Node.js"],version:"0.1.2"},{name:"@philiprehberger/diff-kit",description:"Object and array diffing with typed patches",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/diff-kit",github:"https://github.com/philiprehberger/ts-diff-kit",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/disposable-pool",description:"Generic async resource pool with acquire/release, validation, and auto-scaling",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/disposable-pool",github:"https://github.com/philiprehberger/ts-disposable-pool",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/dotpath-ts",description:"Type-safe dot-notation access and mutation for nested objects",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/dotpath-ts",github:"https://github.com/philiprehberger/ts-dotpath",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/duration-ts",description:"Parse, format, and manipulate time durations",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/duration-ts",github:"https://github.com/philiprehberger/ts-duration",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/enum",description:"Rich enums with methods labels and serialization",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/enum",github:"https://github.com/philiprehberger/ts-enum",technologies:["TypeScript"],version:"0.1.5"},{name:"@philiprehberger/env-expand",description:"Interpolate variables within environment values",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/env-expand",github:"https://github.com/philiprehberger/ts-env-expand",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/env-validator",description:"Schema-based environment variable validation with type-safe accessors",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/env-validator",github:"https://github.com/philiprehberger/ts-env-validator",technologies:["TypeScript"],version:"0.2.5"},{name:"@philiprehberger/event-emitter",description:"Tiny, fully type-safe event emitter for Node, browser, and edge runtimes",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/event-emitter",github:"https://github.com/philiprehberger/ts-event-emitter",technologies:["TypeScript"],version:"0.3.5"},{name:"@philiprehberger/feature-flag",description:"Simple in-memory feature flag system with percentage rollouts and targeting",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/feature-flag",github:"https://github.com/philiprehberger/ts-feature-flag",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/filesize",description:"Human-readable file size formatting and parsing — bytes to KB, MB, GB and back",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/filesize",github:"https://github.com/philiprehberger/ts-filesize",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/framer-motion-presets",description:"Reusable Framer Motion animation presets, variants, and transitions",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/framer-motion-presets",github:"https://github.com/philiprehberger/ts-framer-motion-presets",technologies:["TypeScript","Framer Motion"],version:"0.2.10"},{name:"@philiprehberger/glob-match",description:"Glob pattern matching — minimatch alternative for runtime use",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/glob-match",github:"https://github.com/philiprehberger/ts-glob-match",technologies:["TypeScript"],version:"0.1.3"},{name:"@philiprehberger/guard",description:"Runtime type guard utilities with TypeScript narrowing",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/guard",github:"https://github.com/philiprehberger/ts-guard",technologies:["TypeScript"],version:"0.1.5"},{name:"@philiprehberger/hash-kit",description:"Simple cross-platform hashing utilities",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/hash-kit",github:"https://github.com/philiprehberger/ts-hash-kit",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/healthcheck",description:"Production readiness health check builder with typed check results",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/healthcheck",github:"https://github.com/philiprehberger/ts-healthcheck",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/http-client",description:"Type-safe fetch wrapper with interceptors, retries, and base URL support",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/http-client",github:"https://github.com/philiprehberger/ts-http-client",technologies:["TypeScript","Node.js"],version:"0.4.5"},{name:"@philiprehberger/http-error",description:"Typed HTTP error classes with status codes, factory methods, and serialization",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/http-error",github:"https://github.com/philiprehberger/ts-http-error",technologies:["TypeScript","Node.js"],version:"0.1.2"},{name:"@philiprehberger/http-status",description:"Typed HTTP status codes, reason phrases, and classification",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/http-status",github:"https://github.com/philiprehberger/ts-http-status",technologies:["TypeScript","Node.js"],version:"0.1.4"},{name:"@philiprehberger/id-gen",description:"Flexible ID generation with UUID, ULID, nanoid, and prefixed IDs",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/id-gen",github:"https://github.com/philiprehberger/ts-id-gen",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/invariant-ts",description:"Tiny runtime assertion with TypeScript narrowing",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/invariant-ts",github:"https://github.com/philiprehberger/ts-invariant",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/jwt-decode-ts",description:"Decode and inspect JWTs — no verification, typed payload, tiny",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/jwt-decode-ts",github:"https://github.com/philiprehberger/ts-jwt-decode",technologies:["TypeScript"],version:"0.1.3"},{name:"@philiprehberger/local-storage",description:"Type-safe localStorage wrapper with JSON serialization, TTL, and key prefixing",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/local-storage",github:"https://github.com/philiprehberger/ts-local-storage",technologies:["TypeScript","Node.js"],version:"0.1.2"},{name:"@philiprehberger/logger",description:"Structured JSON logger with child loggers, redaction, and pretty dev output",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/logger",github:"https://github.com/philiprehberger/ts-logger",technologies:["TypeScript","Node.js"],version:"0.3.5"},{name:"@philiprehberger/mask-kit",description:"Data masking and redaction for logs and APIs",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/mask-kit",github:"https://github.com/philiprehberger/ts-mask-kit",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/match-ts",description:"Pattern matching for TypeScript — switch on steroids",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/match-ts",github:"https://github.com/philiprehberger/ts-match",technologies:["TypeScript"],version:"0.1.3"},{name:"@philiprehberger/memo-map",description:"Memoization with WeakMap support for object keys, LRU eviction, and TTL",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/memo-map",github:"https://github.com/philiprehberger/ts-memo-map",technologies:["TypeScript","Node.js"],version:"0.1.2"},{name:"@philiprehberger/memo-ts",description:"Advanced memoization with TTL, LRU, and WeakMap support",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/memo-ts",github:"https://github.com/philiprehberger/ts-memo",technologies:["TypeScript","Node.js"],version:"0.2.0"},{name:"@philiprehberger/micro-schema",description:"Lightweight schema validation library with Zod-like API in under 3KB",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/micro-schema",github:"https://github.com/philiprehberger/ts-micro-schema",technologies:["TypeScript"],version:"0.3.5"},{name:"@philiprehberger/middleware-ts",description:"Framework-agnostic middleware composition engine",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/middleware-ts",github:"https://github.com/philiprehberger/ts-middleware",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/money-ts",description:"Precise money and currency arithmetic",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/money-ts",github:"https://github.com/philiprehberger/ts-money",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/natural-sort",description:"Natural string sorting — file2 before file10, not after",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/natural-sort",github:"https://github.com/philiprehberger/ts-natural-sort",technologies:["TypeScript"],version:"0.1.3"},{name:"@philiprehberger/next-api-middleware",description:"Next.js API route middleware: compose, validation, CSRF protection, and security headers",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/next-api-middleware",github:"https://github.com/philiprehberger/ts-next-api-middleware",technologies:["TypeScript","Next.js"],version:"0.2.9"},{name:"@philiprehberger/next-deploy",description:"Release-based SSH deployment for Next.js apps with symlinks, dependency caching, and PM2 management",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/next-deploy",github:"https://github.com/philiprehberger/ts-next-deploy",technologies:["TypeScript","Next.js"],version:"0.1.8"},{name:"@philiprehberger/next-image-components",description:"Next.js Image wrappers with skeleton loading and error fallback",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/next-image-components",github:"https://github.com/philiprehberger/ts-next-image-components",technologies:["TypeScript","Next.js","React"],version:"0.1.7"},{name:"@philiprehberger/next-layout-components",description:"Layout primitives for Next.js and React apps - Page wrapper and Card component",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/next-layout-components",github:"https://github.com/philiprehberger/ts-next-layout-components",technologies:["TypeScript","Next.js","React"],version:"0.1.7"},{name:"@philiprehberger/next-seo-utils",description:"Next.js SEO utilities: metadata generators, JSON-LD schemas, and Open Graph helpers",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/next-seo-utils",github:"https://github.com/philiprehberger/ts-next-seo-utils",technologies:["TypeScript","Next.js"],version:"0.1.8"},{name:"@philiprehberger/path-pattern",description:"URL path pattern matching and parameter extraction",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/path-pattern",github:"https://github.com/philiprehberger/ts-path-pattern",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/pick-omit",description:"Type-safe shallow and deep pick/omit for JavaScript objects",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/pick-omit",github:"https://github.com/philiprehberger/ts-pick-omit",technologies:["TypeScript"],version:"0.1.3"},{name:"@philiprehberger/pipe",description:"Typed functional pipe and compose for TypeScript",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/pipe",github:"https://github.com/philiprehberger/ts-pipe",technologies:["TypeScript"],version:"0.1.5"},{name:"@philiprehberger/predicate-ts",description:"Composable predicate builders for filtering and validation",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/predicate-ts",github:"https://github.com/philiprehberger/ts-predicate",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/pretty-ms",description:"Convert milliseconds to human-readable strings and back",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/pretty-ms",github:"https://github.com/philiprehberger/ts-pretty-ms",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/promise-pool",description:"Concurrent promise execution with configurable pool size",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/promise-pool",github:"https://github.com/philiprehberger/ts-promise-pool",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/query-string-ts",description:"Type-safe URL query string parsing and building",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/query-string-ts",github:"https://github.com/philiprehberger/ts-query-string",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/rate-limit",description:"In-memory rate limiting for Node.js API routes with configurable windows and presets",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/rate-limit",github:"https://github.com/philiprehberger/ts-rate-limit",technologies:["TypeScript","Node.js"],version:"0.3.5"},{name:"@philiprehberger/react-form-hooks",description:"Lightweight form management hook with Zod validation, debounced field validation, and common validators",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/react-form-hooks",github:"https://github.com/philiprehberger/ts-react-form-hooks",technologies:["TypeScript","React","Zod"],version:"0.1.9"},{name:"@philiprehberger/react-hooks",description:"Reusable React hooks - scroll lock, focus trap, swipe gestures, debounce, keyboard shortcuts, image preloading, and more",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/react-hooks",github:"https://github.com/philiprehberger/ts-react-hooks",technologies:["TypeScript","React"],version:"0.2.8"},{name:"@philiprehberger/react-motion-components",description:"Framer Motion animation primitives for React - scroll reveal, page transitions, animated counters, and more",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/react-motion-components",github:"https://github.com/philiprehberger/ts-react-motion-components",technologies:["TypeScript","React"],version:"0.1.7"},{name:"@philiprehberger/react-theme-provider",description:"Dark/light/system theme provider for React with localStorage persistence and system preference detection",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/react-theme-provider",github:"https://github.com/philiprehberger/ts-react-theme-provider",technologies:["TypeScript","React"],version:"0.1.7"},{name:"@philiprehberger/react-ui-kit",description:"Accessible React UI component library with Tailwind CSS",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/react-ui-kit",github:"https://github.com/philiprehberger/ts-react-ui-kit",technologies:["TypeScript","React","Tailwind CSS"],version:"0.1.8"},{name:"@philiprehberger/react-ui-primitives",description:"Lightweight React UI primitives - Button, Alert, and more",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/react-ui-primitives",github:"https://github.com/philiprehberger/ts-react-ui-primitives",technologies:["TypeScript","React"],version:"0.1.7"},{name:"@philiprehberger/result",description:"Rust-inspired Result type for type-safe error handling without try/catch",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/result",github:"https://github.com/philiprehberger/ts-result",technologies:["TypeScript"],version:"0.3.5"},{name:"@philiprehberger/result-chain",description:"Chainable Result monad for error handling without exceptions",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/result-chain",github:"https://github.com/philiprehberger/ts-result-chain",technologies:["TypeScript"],version:"0.1.5"},{name:"@philiprehberger/retry-fetch",description:"Fetch wrapper with retries, timeout, and interceptors — zero abstraction leak",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/retry-fetch",github:"https://github.com/philiprehberger/ts-retry-fetch",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/retry-kit",description:"Async retry with exponential backoff, circuit breaker, and abort signals",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/retry-kit",github:"https://github.com/philiprehberger/ts-retry-kit",technologies:["TypeScript"],version:"0.2.5"},{name:"@philiprehberger/retry-queue",description:"Retry queue with exponential backoff for resilient async processing",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/retry-queue",github:"https://github.com/philiprehberger/ts-retry-queue",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/safe-json",description:"Safe JSON parsing and serialization with circular detection and depth limiting",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/safe-json",github:"https://github.com/philiprehberger/ts-safe-json",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/safe-parse",description:"Safe parsing for primitives — numbers, booleans, dates, JSON from unknown strings",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/safe-parse",github:"https://github.com/philiprehberger/ts-safe-parse",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/safe-regex",description:"Validate and sanitize regular expressions to prevent ReDoS attacks",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/safe-regex",github:"https://github.com/philiprehberger/ts-safe-regex",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/safe-timeout",description:"Reliable timeout wrapper for async operations with AbortController support",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/safe-timeout",github:"https://github.com/philiprehberger/ts-safe-timeout",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/schema-diff",description:"Compare JSON schemas and detect breaking changes",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/schema-diff",github:"https://github.com/philiprehberger/ts-schema-diff",technologies:["TypeScript","Node.js"],version:"0.1.6"},{name:"@philiprehberger/semver-ts",description:"Lightweight semver parsing, comparison, and range matching",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/semver-ts",github:"https://github.com/philiprehberger/ts-semver",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/sorted-array",description:"Sorted array with binary search — maintains order on insert",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/sorted-array",github:"https://github.com/philiprehberger/ts-sorted-array",technologies:["TypeScript"],version:"0.2.0"},{name:"@philiprehberger/state-machine",description:"Typed finite state machine with transition guards, effects, and subscriptions",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/state-machine",github:"https://github.com/philiprehberger/ts-state-machine",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/string-kit",description:"String manipulation utilities — truncate, pad, wrap, template",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/string-kit",github:"https://github.com/philiprehberger/ts-string-kit",technologies:["TypeScript"],version:"0.1.4"},{name:"@philiprehberger/task-queue",description:"In-process async job queue with concurrency control, priorities, and retries",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/task-queue",github:"https://github.com/philiprehberger/ts-task-queue",technologies:["TypeScript","Node.js"],version:"0.3.5"},{name:"@philiprehberger/task-runner",description:"Task orchestration with dependency resolution and topological execution",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/task-runner",github:"https://github.com/philiprehberger/ts-task-runner",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/template",description:"Lightweight string template engine with safe interpolation, conditionals, and loops",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/template",github:"https://github.com/philiprehberger/ts-template",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/throttle",description:"Configurable throttle with leading/trailing edge control and AbortSignal support",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/throttle",github:"https://github.com/philiprehberger/ts-throttle",technologies:["TypeScript","Node.js"],version:"0.1.2"},{name:"@philiprehberger/timeout-map",description:"Map with automatic entry expiration — TTL per key",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/timeout-map",github:"https://github.com/philiprehberger/ts-timeout-map",technologies:["TypeScript","Node.js"],version:"0.2.0"},{name:"@philiprehberger/timer",description:"Precise timing utilities — measure, benchmark, countdown",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/timer",github:"https://github.com/philiprehberger/ts-timer",technologies:["TypeScript"],version:"0.1.5"},{name:"@philiprehberger/tiny-store",description:"Reactive state container in under 1KB — framework agnostic",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/tiny-store",github:"https://github.com/philiprehberger/ts-tiny-store",technologies:["TypeScript"],version:"0.1.3"},{name:"@philiprehberger/type-check",description:"Runtime type checking utilities with TypeScript type guards — typeof on steroids",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/type-check",github:"https://github.com/philiprehberger/ts-type-check",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/typed-router",description:"Framework-agnostic typed URL routing with path parameter extraction",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/typed-router",github:"https://github.com/philiprehberger/ts-typed-router",technologies:["TypeScript"],version:"0.1.6"},{name:"@philiprehberger/uid",description:"Collision-resistant, time-sortable, compact unique IDs in base62",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/uid",github:"https://github.com/philiprehberger/ts-uid",technologies:["TypeScript"],version:"0.1.2"},{name:"@philiprehberger/web-vitals",description:"Web Vitals calculation utilities and client error capture",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/web-vitals",github:"https://github.com/philiprehberger/ts-web-vitals",technologies:["TypeScript"],version:"0.1.8"},{name:"@philiprehberger/zod-defaults",description:"Auto-generate default values from Zod schemas",registry:"npm",url:"https://www.npmjs.com/package/@philiprehberger/zod-defaults",github:"https://github.com/philiprehberger/ts-zod-defaults",technologies:["TypeScript","Zod"],version:"0.1.5"},{name:"philiprehberger-ansi-style",description:"Terminal text styling with zero dependencies and TTY detection.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-ansi-style/",github:"https://github.com/philiprehberger/py-ansi-style",technologies:["Python"],version:"0.1.2"},{name:"philiprehberger-api-timer",description:"Drop-in ASGI/WSGI middleware for endpoint timing",registry:"pypi",url:"https://pypi.org/project/philiprehberger-api-timer/",github:"https://github.com/philiprehberger/py-api-timer",technologies:["Python"],version:"0.1.12"},{name:"philiprehberger-base-convert",description:"Convert numbers between any base (2-62) with human-friendly APIs",registry:"pypi",url:"https://pypi.org/project/philiprehberger-base-convert/",github:"https://github.com/philiprehberger/py-base-convert",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-batch-iter",description:"Batch processing with progress tracking and error handling.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-batch-iter/",github:"https://github.com/philiprehberger/py-batch-iter",technologies:["Python"],version:"0.1.2"},{name:"philiprehberger-cache-kit",description:"Lightweight in-memory cache with TTL, LRU eviction, and tag-based invalidation",registry:"pypi",url:"https://pypi.org/project/philiprehberger-cache-kit/",github:"https://github.com/philiprehberger/py-cache-kit",technologies:["Python"],version:"0.3.1"},{name:"philiprehberger-changelog-gen",description:"Git-based changelog generator from conventional commits",registry:"pypi",url:"https://pypi.org/project/philiprehberger-changelog-gen/",github:"https://github.com/philiprehberger/py-changelog-gen",technologies:["Python"],version:"0.1.10"},{name:"philiprehberger-circuit-breaker",description:"Circuit breaker pattern for fault-tolerant service calls.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-circuit-breaker/",github:"https://github.com/philiprehberger/py-circuit-breaker",technologies:["Python"],version:"0.3.0"},{name:"philiprehberger-cli-builder",description:"Decorator-based CLI framework with rich output",registry:"pypi",url:"https://pypi.org/project/philiprehberger-cli-builder/",github:"https://github.com/philiprehberger/py-cli-builder",technologies:["Python"],version:"0.1.10"},{name:"philiprehberger-cli-spinner",description:"Dead-simple terminal spinners and progress indicators for CLI scripts",registry:"pypi",url:"https://pypi.org/project/philiprehberger-cli-spinner/",github:"https://github.com/philiprehberger/py-cli-spinner",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-cli-table",description:"Format Python data as aligned terminal tables with no dependencies",registry:"pypi",url:"https://pypi.org/project/philiprehberger-cli-table/",github:"https://github.com/philiprehberger/py-cli-table",technologies:["Python"],version:"0.1.10"},{name:"philiprehberger-clipboard",description:"Cross-platform clipboard copy and paste in one function call",registry:"pypi",url:"https://pypi.org/project/philiprehberger-clipboard/",github:"https://github.com/philiprehberger/py-clipboard",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-color-convert",description:"Convert between color formats: hex, RGB, HSL, HSV, CMYK, and named CSS colors",registry:"pypi",url:"https://pypi.org/project/philiprehberger-color-convert/",github:"https://github.com/philiprehberger/py-color-convert",technologies:["Python"],version:"0.1.9"},{name:"philiprehberger-config-diff",description:"Compare configuration files across environments",registry:"pypi",url:"https://pypi.org/project/philiprehberger-config-diff/",github:"https://github.com/philiprehberger/py-config-diff",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-config-kit",description:"Layered configuration loader merging env vars, files, and defaults.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-config-kit/",github:"https://github.com/philiprehberger/py-config-kit",technologies:["Python"],version:"0.3.0"},{name:"philiprehberger-csv-kit",description:"Enhanced CSV reader and writer with automatic type inference.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-csv-kit/",github:"https://github.com/philiprehberger/py-csv-kit",technologies:["Python"],version:"0.4.0"},{name:"philiprehberger-data-factory",description:"Lightweight test data generation with realistic fake values.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-data-factory/",github:"https://github.com/philiprehberger/py-data-factory",technologies:["Python"],version:"0.3.1"},{name:"philiprehberger-data-pipeline",description:"Composable data transformation pipeline with lazy evaluation.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-data-pipeline/",github:"https://github.com/philiprehberger/py-data-pipeline",technologies:["Python"],version:"0.4.0"},{name:"philiprehberger-datetime-kit",description:"Common datetime operations missing from the standard library.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-datetime-kit/",github:"https://github.com/philiprehberger/py-datetime-kit",technologies:["Python"],version:"0.1.2"},{name:"philiprehberger-debounce",description:"Debounce and throttle decorators for Python functions.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-debounce/",github:"https://github.com/philiprehberger/py-debounce",technologies:["Python"],version:"0.1.2"},{name:"philiprehberger-deprecate",description:"Decorator and utilities for deprecating functions, parameters, and classes with zero boilerplate",registry:"pypi",url:"https://pypi.org/project/philiprehberger-deprecate/",github:"https://github.com/philiprehberger/py-deprecate",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-di",description:"Lightweight dependency injection container for Python.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-di/",github:"https://github.com/philiprehberger/py-di",technologies:["Python"],version:"0.3.1"},{name:"philiprehberger-dict-merge",description:"Deep merge dictionaries safely with conflict resolution",registry:"pypi",url:"https://pypi.org/project/philiprehberger-dict-merge/",github:"https://github.com/philiprehberger/py-dict-merge",technologies:["Python"],version:"0.1.9"},{name:"philiprehberger-diff-strings",description:"Show character-level differences between two strings with colored terminal output",registry:"pypi",url:"https://pypi.org/project/philiprehberger-diff-strings/",github:"https://github.com/philiprehberger/py-diff-strings",technologies:["Python"],version:"0.2.3"},{name:"philiprehberger-dir-snapshot",description:"Filesystem state snapshots with diff comparison",registry:"pypi",url:"https://pypi.org/project/philiprehberger-dir-snapshot/",github:"https://github.com/philiprehberger/py-dir-snapshot",technologies:["Python"],version:"0.2.3"},{name:"philiprehberger-docstring-cli",description:"Automatically generate CLI interfaces from function signatures and docstrings",registry:"pypi",url:"https://pypi.org/project/philiprehberger-docstring-cli/",github:"https://github.com/philiprehberger/py-docstring-cli",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-dotenv-cast",description:"Type-safe environment variable loading with casting and defaults.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-dotenv-cast/",github:"https://github.com/philiprehberger/py-dotenv-cast",technologies:["Python"],version:"0.1.2"},{name:"philiprehberger-dotpath",description:"Access and mutate deeply nested dicts using dot-notation paths",registry:"pypi",url:"https://pypi.org/project/philiprehberger-dotpath/",github:"https://github.com/philiprehberger/py-dotpath",technologies:["Python"],version:"0.2.3"},{name:"philiprehberger-duplicate-finder",description:"Content-hash duplicate file detection with two-pass efficiency",registry:"pypi",url:"https://pypi.org/project/philiprehberger-duplicate-finder/",github:"https://github.com/philiprehberger/py-duplicate-finder",technologies:["Python"],version:"0.3.1"},{name:"philiprehberger-duration",description:'Parse and format human-readable duration strings like "2h30m" or "1 day, 3 hours"',registry:"pypi",url:"https://pypi.org/project/philiprehberger-duration/",github:"https://github.com/philiprehberger/py-duration",technologies:["Python"],version:"0.2.2"},{name:"philiprehberger-email-validate",description:"Email validation with syntax checking and normalization.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-email-validate/",github:"https://github.com/philiprehberger/py-email-validate",technologies:["Python"],version:"0.4.0"},{name:"philiprehberger-embedding-store",description:"In-memory vector store with multi-metric similarity search.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-embedding-store/",github:"https://github.com/philiprehberger/py-embedding-store",technologies:["Python"],version:"0.3.0"},{name:"philiprehberger-enum-tools",description:"Practical utilities for Python enums — lookup, validation, listing, and serialization",registry:"pypi",url:"https://pypi.org/project/philiprehberger-enum-tools/",github:"https://github.com/philiprehberger/py-enum-tools",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-env-file",description:".env file parser with interpolation and multi-file support",registry:"pypi",url:"https://pypi.org/project/philiprehberger-env-file/",github:"https://github.com/philiprehberger/py-env-file",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-env-validator",description:"Schema-based environment variable validation with type coercion and helpful error messages",registry:"pypi",url:"https://pypi.org/project/philiprehberger-env-validator/",github:"https://github.com/philiprehberger/py-env-validator",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-event-emitter",description:"Type-safe event emitter with sync and async listener support",registry:"pypi",url:"https://pypi.org/project/philiprehberger-event-emitter/",github:"https://github.com/philiprehberger/py-event-emitter",technologies:["Python"],version:"0.4.1"},{name:"philiprehberger-feature-flag",description:"Simple feature flags with percentage rollout and user targeting.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-feature-flag/",github:"https://github.com/philiprehberger/py-feature-flag",technologies:["Python"],version:"0.3.0"},{name:"philiprehberger-file-organizer",description:"Rule-based file sorting engine with pattern matching and dry run support",registry:"pypi",url:"https://pypi.org/project/philiprehberger-file-organizer/",github:"https://github.com/philiprehberger/py-file-organizer",technologies:["Python"],version:"0.1.9"},{name:"philiprehberger-file-watcher",description:"Filesystem event watcher with decorator-based callbacks",registry:"pypi",url:"https://pypi.org/project/philiprehberger-file-watcher/",github:"https://github.com/philiprehberger/py-file-watcher",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-filesize",description:"Convert bytes to human-readable file sizes and back",registry:"pypi",url:"https://pypi.org/project/philiprehberger-filesize/",github:"https://github.com/philiprehberger/py-filesize",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-flatten-json",description:"Flatten nested JSON/dicts into dot-notation keys and unflatten back",registry:"pypi",url:"https://pypi.org/project/philiprehberger-flatten-json/",github:"https://github.com/philiprehberger/py-flatten-json",technologies:["Python"],version:"0.2.8"},{name:"philiprehberger-func-timeout",description:"Add a timeout to any function call — sync or async",registry:"pypi",url:"https://pypi.org/project/philiprehberger-func-timeout/",github:"https://github.com/philiprehberger/py-func-timeout",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-git-analyzer",description:"Git repository statistics and commit analysis",registry:"pypi",url:"https://pypi.org/project/philiprehberger-git-analyzer/",github:"https://github.com/philiprehberger/py-git-analyzer",technologies:["Python"],version:"0.1.8"},{name:"philiprehberger-hash-utils",description:"Simplified hashing helpers for strings, files, and checksums",registry:"pypi",url:"https://pypi.org/project/philiprehberger-hash-utils/",github:"https://github.com/philiprehberger/py-hash-utils",technologies:["Python"],version:"0.1.9"},{name:"philiprehberger-health-check",description:"Health check endpoint builder for web applications.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-health-check/",github:"https://github.com/philiprehberger/py-health-check",technologies:["Python"],version:"0.3.1"},{name:"philiprehberger-http-retry",description:"Resilient HTTP client with automatic retries and backoff.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-http-retry/",github:"https://github.com/philiprehberger/py-http-retry",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-humanize-bytes",description:"Convert byte counts to human-readable strings and back, with formatting options",registry:"pypi",url:"https://pypi.org/project/philiprehberger-humanize-bytes/",github:"https://github.com/philiprehberger/py-humanize-bytes",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-import-profiler",description:"Show how long each Python import takes during startup",registry:"pypi",url:"https://pypi.org/project/philiprehberger-import-profiler/",github:"https://github.com/philiprehberger/py-import-profiler",technologies:["Python"],version:"0.1.9"},{name:"philiprehberger-json-diff",description:"Readable JSON comparison with colorized terminal output.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-json-diff/",github:"https://github.com/philiprehberger/py-json-diff",technologies:["Python"],version:"0.3.0"},{name:"philiprehberger-json-logger",description:"Drop-in structured JSON logging for Python using the stdlib logging module",registry:"pypi",url:"https://pypi.org/project/philiprehberger-json-logger/",github:"https://github.com/philiprehberger/py-json-logger",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-jwt-lite",description:"Minimal JWT creation and validation with HMAC and RSA signing.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-jwt-lite/",github:"https://github.com/philiprehberger/py-jwt-lite",technologies:["Python"],version:"0.4.0"},{name:"philiprehberger-list-chunk",description:"Split iterables into evenly sized chunks",registry:"pypi",url:"https://pypi.org/project/philiprehberger-list-chunk/",github:"https://github.com/philiprehberger/py-list-chunk",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-lock-run",description:"Prevent duplicate script execution using file-based locking",registry:"pypi",url:"https://pypi.org/project/philiprehberger-lock-run/",github:"https://github.com/philiprehberger/py-lock-run",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-log-focus",description:"Structured log filtering and highlighting for terminals",registry:"pypi",url:"https://pypi.org/project/philiprehberger-log-focus/",github:"https://github.com/philiprehberger/py-log-focus",technologies:["Python"],version:"0.1.9"},{name:"philiprehberger-masked-print",description:"Automatically mask sensitive values (API keys, passwords, tokens) in logs and print output",registry:"pypi",url:"https://pypi.org/project/philiprehberger-masked-print/",github:"https://github.com/philiprehberger/py-masked-print",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-money",description:"Precise monetary calculations using integer cents with currency support and formatting",registry:"pypi",url:"https://pypi.org/project/philiprehberger-money/",github:"https://github.com/philiprehberger/py-money",technologies:["Python"],version:"0.4.1"},{name:"philiprehberger-mqtt-client",description:"Simplified MQTT pub/sub wrapper with auto-reconnect",registry:"pypi",url:"https://pypi.org/project/philiprehberger-mqtt-client/",github:"https://github.com/philiprehberger/py-mqtt-client",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-net-scanner",description:"LAN device discovery and TCP port scanning",registry:"pypi",url:"https://pypi.org/project/philiprehberger-net-scanner/",github:"https://github.com/philiprehberger/py-net-scanner",technologies:["Python"],version:"0.1.9"},{name:"philiprehberger-once",description:"Ensure a function runs only once, regardless of how many times it's called",registry:"pypi",url:"https://pypi.org/project/philiprehberger-once/",github:"https://github.com/philiprehberger/py-once",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-pagination",description:"Cursor and offset pagination utilities for any data source.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-pagination/",github:"https://github.com/philiprehberger/py-pagination",technologies:["Python"],version:"0.1.2"},{name:"philiprehberger-portcheck",description:"Check if a port is open on a host",registry:"pypi",url:"https://pypi.org/project/philiprehberger-portcheck/",github:"https://github.com/philiprehberger/py-portcheck",technologies:["Python"],version:"0.1.8"},{name:"philiprehberger-progress-map",description:"Parallel map with a built-in terminal progress bar",registry:"pypi",url:"https://pypi.org/project/philiprehberger-progress-map/",github:"https://github.com/philiprehberger/py-progress-map",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-prompt-builder",description:"Type-safe prompt template builder for LLM APIs.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-prompt-builder/",github:"https://github.com/philiprehberger/py-prompt-builder",technologies:["Python"],version:"0.3.0"},{name:"philiprehberger-randstr",description:"Generate random readable strings for various purposes",registry:"pypi",url:"https://pypi.org/project/philiprehberger-randstr/",github:"https://github.com/philiprehberger/py-randstr",technologies:["Python"],version:"0.1.8"},{name:"philiprehberger-rate-limiter",description:"In-memory rate limiter with sliding window, token bucket, and leaky bucket algorithms.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-rate-limiter/",github:"https://github.com/philiprehberger/py-rate-limiter",technologies:["Python"],version:"0.4.0"},{name:"philiprehberger-regex-kit",description:"Pre-built, tested regex patterns for common data formats.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-regex-kit/",github:"https://github.com/philiprehberger/py-regex-kit",technologies:["Python"],version:"0.1.2"},{name:"philiprehberger-req-check",description:"Detect unused packages in requirements.txt by scanning imports",registry:"pypi",url:"https://pypi.org/project/philiprehberger-req-check/",github:"https://github.com/philiprehberger/py-req-check",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-result",description:"Rust-inspired Result type for Python with pattern matching and type-safe error handling",registry:"pypi",url:"https://pypi.org/project/philiprehberger-result/",github:"https://github.com/philiprehberger/py-result",technologies:["Python"],version:"0.4.1"},{name:"philiprehberger-retry-kit",description:"Async retry with exponential backoff, circuit breaker, and cancellation for Python",registry:"pypi",url:"https://pypi.org/project/philiprehberger-retry-kit/",github:"https://github.com/philiprehberger/py-retry-kit",technologies:["Python"],version:"0.3.1"},{name:"philiprehberger-run-parallel",description:"Run multiple functions in parallel and collect results with the simplest possible API",registry:"pypi",url:"https://pypi.org/project/philiprehberger-run-parallel/",github:"https://github.com/philiprehberger/py-run-parallel",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-safe-json",description:"JSON encoder that handles datetime, Decimal, UUID, dataclasses, and sets without crashing.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-safe-json/",github:"https://github.com/philiprehberger/py-safe-json",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-safeget",description:"Safely access nested dictionary keys without exceptions",registry:"pypi",url:"https://pypi.org/project/philiprehberger-safeget/",github:"https://github.com/philiprehberger/py-safeget",technologies:["Python"],version:"0.1.5"},{name:"philiprehberger-schema-infer",description:"Infer JSON schemas from sample data",registry:"pypi",url:"https://pypi.org/project/philiprehberger-schema-infer/",github:"https://github.com/philiprehberger/py-schema-infer",technologies:["Python"],version:"0.4.0"},{name:"philiprehberger-secret-mask",description:"Automatically detect and mask secrets in strings and dicts.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-secret-mask/",github:"https://github.com/philiprehberger/py-secret-mask",technologies:["Python"],version:"0.1.1"},{name:"philiprehberger-semver",description:"Parse, compare, bump, and validate semantic version strings",registry:"pypi",url:"https://pypi.org/project/philiprehberger-semver/",github:"https://github.com/philiprehberger/py-semver",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-server-monitor",description:"System metrics collector for CPU, memory, disk, and network",registry:"pypi",url:"https://pypi.org/project/philiprehberger-server-monitor/",github:"https://github.com/philiprehberger/py-server-monitor",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-singleton",description:"Thread-safe singleton and multiton pattern decorators.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-singleton/",github:"https://github.com/philiprehberger/py-singleton",technologies:["Python"],version:"0.1.2"},{name:"philiprehberger-slug",description:"URL slug generation with transliteration and uniqueness.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-slug/",github:"https://github.com/philiprehberger/py-slug",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-sql-print",description:"Pretty-print and format SQL queries for debugging",registry:"pypi",url:"https://pypi.org/project/philiprehberger-sql-print/",github:"https://github.com/philiprehberger/py-sql-print",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-stacktrace",description:"Turn Python stack traces into cleaner, more readable output",registry:"pypi",url:"https://pypi.org/project/philiprehberger-stacktrace/",github:"https://github.com/philiprehberger/py-stacktrace",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-state-machine",description:"Lightweight finite state machine with guards, callbacks, and visualization.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-state-machine/",github:"https://github.com/philiprehberger/py-state-machine",technologies:["Python"],version:"0.4.0"},{name:"philiprehberger-str-case",description:"Convert strings between camelCase, snake_case, PascalCase, kebab-case, and more",registry:"pypi",url:"https://pypi.org/project/philiprehberger-str-case/",github:"https://github.com/philiprehberger/py-str-case",technologies:["Python"],version:"0.2.3"},{name:"philiprehberger-string-truncate",description:"Truncate strings intelligently without cutting words",registry:"pypi",url:"https://pypi.org/project/philiprehberger-string-truncate/",github:"https://github.com/philiprehberger/py-string-truncate",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-struct-log",description:"Structured JSON logging with automatic context propagation.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-struct-log/",github:"https://github.com/philiprehberger/py-struct-log",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-task-graph",description:"Lightweight task dependency engine with topological execution",registry:"pypi",url:"https://pypi.org/project/philiprehberger-task-graph/",github:"https://github.com/philiprehberger/py-task-graph",technologies:["Python"],version:"0.2.1"},{name:"philiprehberger-task-scheduler",description:"Cron-like task scheduler with overlap prevention and interval support.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-task-scheduler/",github:"https://github.com/philiprehberger/py-task-scheduler",technologies:["Python"],version:"0.2.0"},{name:"philiprehberger-task-timer",description:"Named timers for measuring multiple operations within a function or script",registry:"pypi",url:"https://pypi.org/project/philiprehberger-task-timer/",github:"https://github.com/philiprehberger/py-task-timer",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-temp-env",description:"Temporarily set, override, or remove environment variables with a context manager",registry:"pypi",url:"https://pypi.org/project/philiprehberger-temp-env/",github:"https://github.com/philiprehberger/py-temp-env",technologies:["Python"],version:"0.1.8"},{name:"philiprehberger-test-data",description:"Generate realistic fake data for testing without external dependencies",registry:"pypi",url:"https://pypi.org/project/philiprehberger-test-data/",github:"https://github.com/philiprehberger/py-test-data",technologies:["Python"],version:"0.1.7"},{name:"philiprehberger-text-table",description:"Render data as clean ASCII/Unicode tables in the terminal with zero configuration",registry:"pypi",url:"https://pypi.org/project/philiprehberger-text-table/",github:"https://github.com/philiprehberger/py-text-table",technologies:["Python"],version:"0.1.8"},{name:"philiprehberger-timeago",description:"Convert timestamps to relative time phrases like '3 hours ago'",registry:"pypi",url:"https://pypi.org/project/philiprehberger-timeago/",github:"https://github.com/philiprehberger/py-timeago",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-timerfunc",description:"Measure execution time of any function",registry:"pypi",url:"https://pypi.org/project/philiprehberger-timerfunc/",github:"https://github.com/philiprehberger/py-timerfunc",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-type-guard",description:"Runtime type checking decorators for function arguments",registry:"pypi",url:"https://pypi.org/project/philiprehberger-type-guard/",github:"https://github.com/philiprehberger/py-type-guard",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-type-parse",description:"Parse strings into Python types intelligently — booleans, numbers, dates, None, lists",registry:"pypi",url:"https://pypi.org/project/philiprehberger-type-parse/",github:"https://github.com/philiprehberger/py-type-parse",technologies:["Python"],version:"0.2.2"},{name:"philiprehberger-url-clean",description:"Remove tracking parameters from URLs",registry:"pypi",url:"https://pypi.org/project/philiprehberger-url-clean/",github:"https://github.com/philiprehberger/py-url-clean",technologies:["Python"],version:"0.1.6"},{name:"philiprehberger-web-scraper",description:"Lightweight web scraper with rate limiting and CSS selectors.",registry:"pypi",url:"https://pypi.org/project/philiprehberger-web-scraper/",github:"https://github.com/philiprehberger/py-web-scraper",technologies:["Python"],version:"0.2.0"},{name:"philiprehberger-webhook-signature",description:"HMAC-based webhook signature generation and verification with timing-safe comparison",registry:"pypi",url:"https://pypi.org/project/philiprehberger-webhook-signature/",github:"https://github.com/philiprehberger/py-webhook-signature",technologies:["Python"],version:"0.2.1"},{name:"go-batch",description:"Batch processing and chunking utilities for Go. Generic, concurrent, zero dependencies",registry:"go",url:"https://github.com/philiprehberger/go-batch",github:"https://github.com/philiprehberger/go-batch",technologies:["Go"],version:"0.2.0"},{name:"go-cache-kit",description:"Generic in-memory LRU cache with TTL, tags, eviction callbacks, stats, and thread safety for Go",registry:"go",url:"https://github.com/philiprehberger/go-cache-kit",github:"https://github.com/philiprehberger/go-cache-kit",technologies:["Go"],version:"0.3.1"},{name:"go-circuitbreaker",description:"Generic circuit breaker for Go. Protect external calls with automatic failure detection and recovery",registry:"go",url:"https://github.com/philiprehberger/go-circuitbreaker",github:"https://github.com/philiprehberger/go-circuitbreaker",technologies:["Go"],version:"0.2.0"},{name:"go-cron-kit",description:"Cron expression parser and job scheduler with overlap prevention for Go",registry:"go",url:"https://github.com/philiprehberger/go-cron-kit",github:"https://github.com/philiprehberger/go-cron-kit",technologies:["Go"],version:"0.2.3"},{name:"go-cryptoutil",description:"Common cryptography helpers for Go. Safe defaults, zero dependencies",registry:"go",url:"https://github.com/philiprehberger/go-cryptoutil",github:"https://github.com/philiprehberger/go-cryptoutil",technologies:["Go"],version:"0.2.0"},{name:"go-ctxlog",description:"Context-aware structured logging helpers for Go's log/slog",registry:"go",url:"https://github.com/philiprehberger/go-ctxlog",github:"https://github.com/philiprehberger/go-ctxlog",technologies:["Go"],version:"0.2.0"},{name:"go-env-validator",description:"Struct-based environment variable validation with batch error reporting for Go",registry:"go",url:"https://github.com/philiprehberger/go-env-validator",github:"https://github.com/philiprehberger/go-env-validator",technologies:["Go"],version:"0.3.2"},{name:"go-errstack",description:"Error wrapping with stack traces for Go",registry:"go",url:"https://github.com/philiprehberger/go-errstack",github:"https://github.com/philiprehberger/go-errstack",technologies:["Go"],version:"0.2.0"},{name:"go-featureflag",description:"Lightweight feature flags for Go with toggles, percentage rollouts, user targeting, and A/B variants",registry:"go",url:"https://github.com/philiprehberger/go-featureflag",github:"https://github.com/philiprehberger/go-featureflag",technologies:["Go"],version:"0.2.1"},{name:"go-fswatch",description:"Polling-based file system watcher for Go. Zero dependencies",registry:"go",url:"https://github.com/philiprehberger/go-fswatch",github:"https://github.com/philiprehberger/go-fswatch",technologies:["Go"],version:"0.2.0"},{name:"go-graceful",description:"Graceful shutdown orchestrator for Go services. Register hooks with priorities, drain in order",registry:"go",url:"https://github.com/philiprehberger/go-graceful",github:"https://github.com/philiprehberger/go-graceful",technologies:["Go"],version:"0.2.1"},{name:"go-healthcheck",description:"Health and readiness endpoint builder for Go HTTP services. Built for Kubernetes",registry:"go",url:"https://github.com/philiprehberger/go-healthcheck",github:"https://github.com/philiprehberger/go-healthcheck",technologies:["Go"],version:"0.2.1"},{name:"go-httputil",description:"Composable HTTP client middleware for Go. Build instrumented http.Client instances with zero hassle",registry:"go",url:"https://github.com/philiprehberger/go-httputil",github:"https://github.com/philiprehberger/go-httputil",technologies:["Go"],version:"0.2.0"},{name:"go-jsonpath",description:"JSONPath query and extraction for Go. Type-safe with generics, zero dependencies",registry:"go",url:"https://github.com/philiprehberger/go-jsonpath",github:"https://github.com/philiprehberger/go-jsonpath",technologies:["Go"],version:"0.2.1"},{name:"go-maputil",description:"Generic map utilities for Go. Filter, transform, merge, group, and more",registry:"go",url:"https://github.com/philiprehberger/go-maputil",github:"https://github.com/philiprehberger/go-maputil",technologies:["Go"],version:"0.2.0"},{name:"go-middleware",description:"Composable HTTP middleware collection for Go's net/http. No framework required",registry:"go",url:"https://github.com/philiprehberger/go-middleware",github:"https://github.com/philiprehberger/go-middleware",technologies:["Go"],version:"0.2.2"},{name:"go-pagination",description:"Cursor and offset pagination helpers for Go. Generic, zero dependencies",registry:"go",url:"https://github.com/philiprehberger/go-pagination",github:"https://github.com/philiprehberger/go-pagination",technologies:["Go"],version:"0.2.1"},{name:"go-panicguard",description:"Panic recovery utilities for Go — safe goroutines, panic-to-error conversion, and HTTP handler protection",registry:"go",url:"https://github.com/philiprehberger/go-panicguard",github:"https://github.com/philiprehberger/go-panicguard",technologies:["Go"],version:"0.2.0"},{name:"go-ratelimit",description:"Token bucket rate limiter for Go with per-key limiting and HTTP middleware. Zero external dependencies",registry:"go",url:"https://github.com/philiprehberger/go-ratelimit",github:"https://github.com/philiprehberger/go-ratelimit",technologies:["Go"],version:"0.2.1"},{name:"go-respond",description:"HTTP JSON response helpers for Go. Write JSON responses in one line instead of five",registry:"go",url:"https://github.com/philiprehberger/go-respond",github:"https://github.com/philiprehberger/go-respond",technologies:["Go"],version:"0.2.1"},{name:"go-result",description:"Generic Result type for Go — OkT / ErrT with mapping and chaining",registry:"go",url:"https://github.com/philiprehberger/go-result",github:"https://github.com/philiprehberger/go-result",technologies:["Go"],version:"0.4.1"},{name:"go-retry-kit",description:"Retry with exponential backoff, circuit breaker, and context cancellation for Go",registry:"go",url:"https://github.com/philiprehberger/go-retry-kit",github:"https://github.com/philiprehberger/go-retry-kit",technologies:["Go"],version:"0.3.2"},{name:"go-safechan",description:"Safe channel utilities for Go with panic-free send/receive, context-aware communication, and combinators",registry:"go",url:"https://github.com/philiprehberger/go-safechan",github:"https://github.com/philiprehberger/go-safechan",technologies:["Go"],version:"0.2.0"},{name:"go-sliceutil",description:"Generic slice utilities for Go. Map, filter, reduce, and more with type safety",registry:"go",url:"https://github.com/philiprehberger/go-sliceutil",github:"https://github.com/philiprehberger/go-sliceutil",technologies:["Go"],version:"0.2.0"},{name:"go-slog-redact",description:"Sensitive field redaction middleware for Go's log/slog",registry:"go",url:"https://github.com/philiprehberger/go-slog-redact",github:"https://github.com/philiprehberger/go-slog-redact",technologies:["Go"],version:"0.4.0"},{name:"go-slogutil",description:"Handlers, formatters, and helpers for Go's log/slog. The missing batteries",registry:"go",url:"https://github.com/philiprehberger/go-slogutil",github:"https://github.com/philiprehberger/go-slogutil",technologies:["Go"],version:"0.2.1"},{name:"go-slug",description:"URL-safe slug generator for Go. Handles Unicode, configurable, zero dependencies",registry:"go",url:"https://github.com/philiprehberger/go-slug",github:"https://github.com/philiprehberger/go-slug",technologies:["Go"],version:"0.2.0"},{name:"go-sseutil",description:"Server-Sent Events (SSE) utilities for Go. Server broker and client, zero dependencies",registry:"go",url:"https://github.com/philiprehberger/go-sseutil",github:"https://github.com/philiprehberger/go-sseutil",technologies:["Go"],version:"0.2.0"},{name:"go-structdiff",description:"Field-level struct comparison for Go with dot-notation change paths and zero dependencies",registry:"go",url:"https://github.com/philiprehberger/go-structdiff",github:"https://github.com/philiprehberger/go-structdiff",technologies:["Go"],version:"0.2.1"},{name:"go-testassert",description:"Fluent, type-safe test assertions for Go. Built with generics, zero dependencies",registry:"go",url:"https://github.com/philiprehberger/go-testassert",github:"https://github.com/philiprehberger/go-testassert",technologies:["Go"],version:"0.2.0"},{name:"go-timeutil",description:"Time manipulation helpers for Go — boundaries, comparisons, and human-readable formatting",registry:"go",url:"https://github.com/philiprehberger/go-timeutil",github:"https://github.com/philiprehberger/go-timeutil",technologies:["Go"],version:"0.2.0"},{name:"go-typeconv",description:"Safe type conversion utilities for Go. Handle interface{} values from JSON, configs, and APIs",registry:"go",url:"https://github.com/philiprehberger/go-typeconv",github:"https://github.com/philiprehberger/go-typeconv",technologies:["Go"],version:"0.2.0"},{name:"go-validatex",description:"Struct validation library for Go using struct tags. Zero external dependencies",registry:"go",url:"https://github.com/philiprehberger/go-validatex",github:"https://github.com/philiprehberger/go-validatex",technologies:["Go"],version:"0.2.1"},{name:"go-webhook-signature",description:"HMAC-SHA256 webhook signature generation and verification with HTTP middleware for Go",registry:"go",url:"https://github.com/philiprehberger/go-webhook-signature",github:"https://github.com/philiprehberger/go-webhook-signature",technologies:["Go"],version:"0.3.2"},{name:"go-worker-pool",description:"Bounded goroutine pool with backpressure and futures for Go",registry:"go",url:"https://github.com/philiprehberger/go-worker-pool",github:"https://github.com/philiprehberger/go-worker-pool",technologies:["Go"],version:"0.2.0"},{name:"philiprehberger-argon2-easy",description:"Dead-simple password hashing with Argon2id — hash() and verify(), nothing more",registry:"crates",url:"https://crates.io/crates/philiprehberger-argon2-easy",github:"https://github.com/philiprehberger/rs-argon2-easy",technologies:["Rust"],version:"0.1.2"},{name:"philiprehberger-assert-cmd",description:"Ergonomic CLI binary integration testing with fluent assertions on stdout, stderr, and exit code",registry:"crates",url:"https://crates.io/crates/philiprehberger-assert-cmd",github:"https://github.com/philiprehberger/rs-assert-cmd",technologies:["Rust"],version:"0.1.4"},{name:"philiprehberger-bench-utils",description:"Micro-benchmarking utilities with statistical analysis, comparison, and regression detection",registry:"crates",url:"https://crates.io/crates/philiprehberger-bench-utils",github:"https://github.com/philiprehberger/rs-bench-utils",technologies:["Rust"],version:"0.1.5"},{name:"philiprehberger-byte-fmt",description:"Human-readable byte size formatting and parsing",registry:"crates",url:"https://crates.io/crates/philiprehberger-byte-fmt",github:"https://github.com/philiprehberger/rs-byte-fmt",technologies:["Rust"],version:"0.1.10"},{name:"philiprehberger-cache-kit",description:"Generic LRU cache with TTL, tags, and async support for Rust",registry:"crates",url:"https://crates.io/crates/philiprehberger-cache-kit",github:"https://github.com/philiprehberger/rs-cache-kit",technologies:["Rust"],version:"0.4.4"},{name:"philiprehberger-changelog",description:"Programmatic CHANGELOG.md parsing, generation, and manipulation following Keep a Changelog format",registry:"crates",url:"https://crates.io/crates/philiprehberger-changelog",github:"https://github.com/philiprehberger/rs-changelog",technologies:["Rust"],version:"0.1.3"},{name:"philiprehberger-clicolor",description:"Cross-platform terminal color and style output with automatic capability detection",registry:"crates",url:"https://crates.io/crates/philiprehberger-clicolor",github:"https://github.com/philiprehberger/rs-clicolor",technologies:["Rust"],version:"0.1.2"},{name:"philiprehberger-color",description:"Color manipulation library — parsing, conversion, blending, contrast checking, and ANSI terminal output",registry:"crates",url:"https://crates.io/crates/philiprehberger-color",github:"https://github.com/philiprehberger/rs-color",technologies:["Rust"],version:"0.2.2"},{name:"philiprehberger-config-loader",description:"Layered configuration from files and environment variables",registry:"crates",url:"https://crates.io/crates/philiprehberger-config-loader",github:"https://github.com/philiprehberger/rs-config-loader",technologies:["Rust"],version:"0.1.10"},{name:"philiprehberger-cron-parser",description:"Cron expression parsing, scheduling, and human-readable descriptions",registry:"crates",url:"https://crates.io/crates/philiprehberger-cron-parser",github:"https://github.com/philiprehberger/rs-cron-parser",technologies:["Rust"],version:"0.2.3"},{name:"philiprehberger-csv-toolkit",description:"High-level CSV reading, writing, and manipulation",registry:"crates",url:"https://crates.io/crates/philiprehberger-csv-toolkit",github:"https://github.com/philiprehberger/rs-csv-toolkit",technologies:["Rust"],version:"0.1.10"},{name:"philiprehberger-date-utils",description:"Date and time utilities — business days, date ranges, holiday calendars, and formatting shortcuts",registry:"crates",url:"https://crates.io/crates/philiprehberger-date-utils",github:"https://github.com/philiprehberger/rs-date-utils",technologies:["Rust"],version:"0.1.4"},{name:"philiprehberger-diff-assert",description:"Better test assertion diffs with colored inline comparisons",registry:"crates",url:"https://crates.io/crates/philiprehberger-diff-assert",github:"https://github.com/philiprehberger/rs-diff-assert",technologies:["Rust"],version:"0.1.9"},{name:"philiprehberger-dotenv",description:"Fast .env file parser with variable interpolation, multi-file layering, and type-safe loading",registry:"crates",url:"https://crates.io/crates/philiprehberger-dotenv",github:"https://github.com/philiprehberger/rs-dotenv",technologies:["Rust"],version:"0.1.2"},{name:"philiprehberger-duration-fmt",description:"Human-readable duration formatting and parsing",registry:"crates",url:"https://crates.io/crates/philiprehberger-duration-fmt",github:"https://github.com/philiprehberger/rs-duration-fmt",technologies:["Rust"],version:"0.2.3"},{name:"philiprehberger-email-parser",description:"RFC 5322 compliant email address parsing, validation, and normalization",registry:"crates",url:"https://crates.io/crates/philiprehberger-email-parser",github:"https://github.com/philiprehberger/rs-email-parser",technologies:["Rust"],version:"0.1.3"},{name:"philiprehberger-env-validator",description:"Typed environment variable validation with batch error reporting for Rust",registry:"crates",url:"https://crates.io/crates/philiprehberger-env-validator",github:"https://github.com/philiprehberger/rs-env-validator",technologies:["Rust"],version:"0.3.9"},{name:"philiprehberger-event-bus",description:"Thread-safe event bus with typed listeners for Rust",registry:"crates",url:"https://crates.io/crates/philiprehberger-event-bus",github:"https://github.com/philiprehberger/rs-event-bus",technologies:["Rust"],version:"0.2.5"},{name:"philiprehberger-feature-flags",description:"In-memory feature flag evaluation with rollout, environment, targeting, and A/B variant support for Rust",registry:"crates",url:"https://crates.io/crates/philiprehberger-feature-flags",github:"https://github.com/philiprehberger/rs-feature-flags",technologies:["Rust"],version:"0.2.5"},{name:"philiprehberger-guard-clause",description:"Early-return guard clause macros for cleaner control flow",registry:"crates",url:"https://crates.io/crates/philiprehberger-guard-clause",github:"https://github.com/philiprehberger/rs-guard-clause",technologies:["Rust"],version:"0.1.9"},{name:"philiprehberger-healthcheck-client",description:"HTTP health check client for monitoring service dependencies with configurable thresholds",registry:"crates",url:"https://crates.io/crates/philiprehberger-healthcheck-client",github:"https://github.com/philiprehberger/rs-healthcheck-client",technologies:["Rust"],version:"0.1.3"},{name:"philiprehberger-http-test",description:"Declarative HTTP API integration testing framework with fluent assertions",registry:"crates",url:"https://crates.io/crates/philiprehberger-http-test",github:"https://github.com/philiprehberger/rs-http-test",technologies:["Rust"],version:"0.1.5"},{name:"philiprehberger-id-gen",description:"Unified ID generation: ULID, UUIDv7, NanoID, and Snowflake",registry:"crates",url:"https://crates.io/crates/philiprehberger-id-gen",github:"https://github.com/philiprehberger/rs-id-gen",technologies:["Rust"],version:"0.2.4"},{name:"philiprehberger-ip-utils",description:"IP address utilities — CIDR matching, subnet calculation, classification, and anonymization",registry:"crates",url:"https://crates.io/crates/philiprehberger-ip-utils",github:"https://github.com/philiprehberger/rs-ip-utils",technologies:["Rust"],version:"0.1.2"},{name:"philiprehberger-json-diff",description:"Structural JSON diff with path tracking for Rust",registry:"crates",url:"https://crates.io/crates/philiprehberger-json-diff",github:"https://github.com/philiprehberger/rs-json-diff",technologies:["Rust"],version:"0.1.9"},{name:"philiprehberger-jwt",description:"JSON Web Token encoding, decoding, and validation with HMAC algorithms",registry:"crates",url:"https://crates.io/crates/philiprehberger-jwt",github:"https://github.com/philiprehberger/rs-jwt",technologies:["Rust"],version:"0.1.3"},{name:"philiprehberger-mask",description:"Data masking and redaction for strings, emails, and sensitive data",registry:"crates",url:"https://crates.io/crates/philiprehberger-mask",github:"https://github.com/philiprehberger/rs-mask",technologies:["Rust"],version:"0.2.3"},{name:"philiprehberger-mime-detect",description:"File type detection from content (magic bytes), file extension, and MIME type mapping",registry:"crates",url:"https://crates.io/crates/philiprehberger-mime-detect",github:"https://github.com/philiprehberger/rs-mime-detect",technologies:["Rust"],version:"0.1.2"},{name:"philiprehberger-mock-server",description:"Lightweight, per-test HTTP mock server for testing API integrations",registry:"crates",url:"https://crates.io/crates/philiprehberger-mock-server",github:"https://github.com/philiprehberger/rs-mock-server",technologies:["Rust"],version:"0.1.3"},{name:"philiprehberger-parallel",description:"Easy parallel iteration — par_map, par_filter, par_for_each with progress and error collection",registry:"crates",url:"https://crates.io/crates/philiprehberger-parallel",github:"https://github.com/philiprehberger/rs-parallel",technologies:["Rust"],version:"0.1.4"},{name:"philiprehberger-rate-limiter",description:"Token bucket, sliding window, and fixed window rate limiting",registry:"crates",url:"https://crates.io/crates/philiprehberger-rate-limiter",github:"https://github.com/philiprehberger/rs-rate-limiter",technologies:["Rust"],version:"0.2.3"},{name:"philiprehberger-result-ext",description:"Extension traits for Result and Option with tap, map, and error accumulation",registry:"crates",url:"https://crates.io/crates/philiprehberger-result-ext",github:"https://github.com/philiprehberger/rs-result-ext",technologies:["Rust"],version:"0.2.3"},{name:"philiprehberger-retry-kit",description:"Async retry with exponential backoff and circuit breaker for Rust",registry:"crates",url:"https://crates.io/crates/philiprehberger-retry-kit",github:"https://github.com/philiprehberger/rs-retry-kit",technologies:["Rust"],version:"0.4.4"},{name:"philiprehberger-safe-shutdown",description:"Graceful shutdown coordination with timeout support for Rust",registry:"crates",url:"https://crates.io/crates/philiprehberger-safe-shutdown",github:"https://github.com/philiprehberger/rs-safe-shutdown",technologies:["Rust"],version:"0.1.9"},{name:"philiprehberger-secret-store",description:"Secure in-memory secret storage with automatic zeroization, expiry, and redacted display",registry:"crates",url:"https://crates.io/crates/philiprehberger-secret-store",github:"https://github.com/philiprehberger/rs-secret-store",technologies:["Rust"],version:"0.2.4"},{name:"philiprehberger-semver-util",description:"Semantic versioning with range parsing, comparison, and bumping",registry:"crates",url:"https://crates.io/crates/philiprehberger-semver-util",github:"https://github.com/philiprehberger/rs-semver-util",technologies:["Rust"],version:"0.2.3"},{name:"philiprehberger-service-health",description:"Service health checker with liveness and readiness probes for Rust",registry:"crates",url:"https://crates.io/crates/philiprehberger-service-health",github:"https://github.com/philiprehberger/rs-service-health",technologies:["Rust"],version:"0.1.8"},{name:"philiprehberger-slug",description:"Unicode-aware slug generation for URL-safe strings",registry:"crates",url:"https://crates.io/crates/philiprehberger-slug",github:"https://github.com/philiprehberger/rs-slug",technologies:["Rust"],version:"0.1.8"},{name:"philiprehberger-str-utils",description:"String manipulation utilities — truncation, case conversion, padding, and whitespace operations",registry:"crates",url:"https://crates.io/crates/philiprehberger-str-utils",github:"https://github.com/philiprehberger/rs-str-utils",technologies:["Rust"],version:"0.1.2"},{name:"philiprehberger-table-fmt",description:"Terminal table rendering with alignment, borders, Unicode support, and ANSI color awareness",registry:"crates",url:"https://crates.io/crates/philiprehberger-table-fmt",github:"https://github.com/philiprehberger/rs-table-fmt",technologies:["Rust"],version:"0.1.2"},{name:"philiprehberger-task-queue",description:"In-process thread-based task queue with priority and concurrency control",registry:"crates",url:"https://crates.io/crates/philiprehberger-task-queue",github:"https://github.com/philiprehberger/rs-task-queue",technologies:["Rust"],version:"0.2.6"},{name:"philiprehberger-template",description:"Lightweight string template engine with variables, conditionals, and loops",registry:"crates",url:"https://crates.io/crates/philiprehberger-template",github:"https://github.com/philiprehberger/rs-template",technologies:["Rust"],version:"0.2.3"},{name:"philiprehberger-typed-headers",description:"Strongly-typed HTTP header parsing and construction for common headers",registry:"crates",url:"https://crates.io/crates/philiprehberger-typed-headers",github:"https://github.com/philiprehberger/rs-typed-headers",technologies:["Rust"],version:"0.1.4"},{name:"philiprehberger-webhook-signature",description:"HMAC-SHA256 webhook signing and verification for Rust",registry:"crates",url:"https://crates.io/crates/philiprehberger-webhook-signature",github:"https://github.com/philiprehberger/rs-webhook-signature",technologies:["Rust"],version:"0.3.9"},{name:"Philiprehberger.ApiErrorStandardizer",description:"Middleware for consistent, structured JSON API error responses.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.ApiErrorStandardizer",github:"https://github.com/philiprehberger/dotnet-api-error-standardizer",technologies:["C#"],version:"0.1.8"},{name:"Philiprehberger.AsyncLock",description:"Async-aware synchronization primitives — AsyncLock, AsyncSemaphore, and AsyncOnce for safe mutual exclusion.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.AsyncLock",github:"https://github.com/philiprehberger/dotnet-async-lock",technologies:["C#"],version:"0.1.4"},{name:"Philiprehberger.BackgroundTaskQueue",description:"Simple in-memory background job queue for ASP.NET Core with concurrency control.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.BackgroundTaskQueue",github:"https://github.com/philiprehberger/dotnet-background-task-queue",technologies:["C#"],version:"0.1.8"},{name:"Philiprehberger.BaseEncoding",description:"Base32, Base62, and Base64URL encoding and decoding — URL-safe, padding-free alternatives to standard Base64.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.BaseEncoding",github:"https://github.com/philiprehberger/dotnet-base-encoding",technologies:["C#"],version:"0.1.2"},{name:"Philiprehberger.BatchProcessor",description:"Process large collections in configurable batches with progress reporting, error handling, async execution, streaming IAsyncEnumerable support, checkpoint/resume, and adaptive batch sizing.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.BatchProcessor",github:"https://github.com/philiprehberger/dotnet-batch-processor",technologies:["C#"],version:"0.3.0"},{name:"Philiprehberger.CacheKit",description:"Thread-safe in-memory cache for .NET — LRU/LFU eviction, TTL expiration, tag-based invalidation, cache warming, and configurable max size.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.CacheKit",github:"https://github.com/philiprehberger/dotnet-cache-kit",technologies:["C#"],version:"0.5.0"},{name:"Philiprehberger.ChangeTracker",description:"Track and diff property changes on objects over time for audit logging.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.ChangeTracker",github:"https://github.com/philiprehberger/dotnet-change-tracker",technologies:["C#"],version:"0.2.0"},{name:"Philiprehberger.ChunkList",description:"Split any IEnumerable into fixed-size chunks with a simple static method or LINQ-style extension.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.ChunkList",github:"https://github.com/philiprehberger/dotnet-chunk-list",technologies:["C#"],version:"0.1.10"},{name:"Philiprehberger.CircuitBreaker",description:"Standalone circuit breaker with sliding window failure rate, fallback support, half-open probing, and event callbacks.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.CircuitBreaker",github:"https://github.com/philiprehberger/dotnet-circuit-breaker",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.Clock",description:"Abstraction over DateTime/DateTimeOffset for testable time-dependent code with a fake clock for testing.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Clock",github:"https://github.com/philiprehberger/dotnet-clock",technologies:["C#"],version:"0.1.8"},{name:"Philiprehberger.ColorConverter",description:"Convert between RGB, HSL, HSV, Hex, and CMYK color models with harmonies, contrast ratio, blending, and gradient generation.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.ColorConverter",github:"https://github.com/philiprehberger/dotnet-color-converter",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.ConfigDiff",description:"Structured diff for JSON configuration files — detect added, removed, changed, and unchanged keys.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.ConfigDiff",github:"https://github.com/philiprehberger/dotnet-config-diff",technologies:["C#"],version:"0.2.8"},{name:"Philiprehberger.ConfigValidator",description:"Validate appsettings.json configuration sections at startup with attribute-based rules.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.ConfigValidator",github:"https://github.com/philiprehberger/dotnet-config-validator",technologies:["C#"],version:"0.1.7"},{name:"Philiprehberger.CreditCardValidator",description:"Validate credit card numbers with Luhn check, detect card brand, and mask for display.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.CreditCardValidator",github:"https://github.com/philiprehberger/dotnet-credit-card-validator",technologies:["C#"],version:"0.1.3"},{name:"Philiprehberger.CronExpression",description:"Parse, validate, and evaluate cron expressions with next/previous occurrence calculation, shortcut aliases, fluent builder, human-readable descriptions, timezone-aware scheduling, exclusion calendars, and Nth weekday support.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.CronExpression",github:"https://github.com/philiprehberger/dotnet-cron-expression",technologies:["C#"],version:"0.3.0"},{name:"Philiprehberger.CsvKit",description:"Lightweight CSV reader and writer with header mapping, type conversion, and streaming support.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.CsvKit",github:"https://github.com/philiprehberger/dotnet-csv-kit",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.DataFaker",description:"Lightweight test data generator with locale support, structured builders, and UUID generation.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.DataFaker",github:"https://github.com/philiprehberger/dotnet-data-faker",technologies:["C#"],version:"0.3.0"},{name:"Philiprehberger.DateRange",description:"Immutable date/time range type with overlap detection, intersection, union, gap finding, and splitting.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.DateRange",github:"https://github.com/philiprehberger/dotnet-date-range",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.Debounce",description:"Debounce and throttle functions for .NET with configurable delay, leading/trailing edge, and async support.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Debounce",github:"https://github.com/philiprehberger/dotnet-debounce",technologies:["C#"],version:"0.1.3"},{name:"Philiprehberger.DeepClone",description:"Fast deep cloning using compiled expression trees for nested objects, collections, and circular references.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.DeepClone",github:"https://github.com/philiprehberger/dotnet-deep-clone",technologies:["C#"],version:"0.1.2"},{name:"Philiprehberger.Disposer",description:"Composite disposable container that disposes multiple IDisposable/IAsyncDisposable objects in reverse order.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Disposer",github:"https://github.com/philiprehberger/dotnet-disposer",technologies:["C#"],version:"0.1.9"},{name:"Philiprehberger.EmailValidator",description:"RFC 5321/5322 compliant email validation with typo suggestions, disposable email detection, and bulk validation.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.EmailValidator",github:"https://github.com/philiprehberger/dotnet-email-validator",technologies:["C#"],version:"0.2.0"},{name:"Philiprehberger.EmbeddedResource",description:"Fluent access to embedded resources with string, stream, byte array, and JSON deserialization support.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.EmbeddedResource",github:"https://github.com/philiprehberger/dotnet-embedded-resource",technologies:["C#"],version:"0.1.4"},{name:"Philiprehberger.EncryptionKit",description:"AES-256-GCM encryption with key generation, sealed envelopes, PBKDF2 key derivation, streaming, and key rotation.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.EncryptionKit",github:"https://github.com/philiprehberger/dotnet-encryption-kit",technologies:["C#"],version:"0.3.0"},{name:"Philiprehberger.EnumToolkit",description:"Enum utilities — parse with fallback, get display names and descriptions, convert to dictionaries, and list values.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.EnumToolkit",github:"https://github.com/philiprehberger/dotnet-enum-toolkit",technologies:["C#"],version:"0.1.6"},{name:"Philiprehberger.EnvValidator",description:"Declarative environment variable validation for .NET — attribute-based binding with type coercion.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.EnvValidator",github:"https://github.com/philiprehberger/dotnet-env-validator",technologies:["C#"],version:"0.2.9"},{name:"Philiprehberger.EventBus",description:"In-process publish/subscribe event bus with middleware pipeline, dead-letter queue, event replay, and Microsoft DI integration.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.EventBus",github:"https://github.com/philiprehberger/dotnet-event-bus",technologies:["C#"],version:"0.3.0"},{name:"Philiprehberger.ExecutionTimer",description:"Measure execution time of code blocks with structured results, nested scopes, and ILogger integration.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.ExecutionTimer",github:"https://github.com/philiprehberger/dotnet-execution-timer",technologies:["C#"],version:"0.1.3"},{name:"Philiprehberger.ExpressionEvaluator",description:"Safe mathematical expression parser and evaluator with variables, custom functions, logical operators, string functions, statistical functions, and operator precedence.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.ExpressionEvaluator",github:"https://github.com/philiprehberger/dotnet-expression-evaluator",technologies:["C#"],version:"0.3.0"},{name:"Philiprehberger.FeatureFlag",description:"Lightweight feature flags with percentage rollout, user targeting, time-based scheduling, and analytics — no external service required.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.FeatureFlag",github:"https://github.com/philiprehberger/dotnet-feature-flag",technologies:["C#"],version:"0.3.0"},{name:"Philiprehberger.FileSizeHumanizer",description:"Convert byte counts into human-readable file size strings and parse them back to bytes.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.FileSizeHumanizer",github:"https://github.com/philiprehberger/dotnet-filesize-humanizer",technologies:["C#"],version:"0.2.7"},{name:"Philiprehberger.FilesystemSnapshot",description:"Snapshot directories and detect added, removed, or modified files between runs using SHA-256 hashing.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.FilesystemSnapshot",github:"https://github.com/philiprehberger/dotnet-filesystem-snapshot",technologies:["C#"],version:"0.1.8"},{name:"Philiprehberger.FlattenJson",description:"Flatten nested JSON objects into dot-notation key-value pairs, and unflatten them back.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.FlattenJson",github:"https://github.com/philiprehberger/dotnet-flatten-json",technologies:["C#"],version:"0.1.10"},{name:"Philiprehberger.FluentGuard",description:"Fluent parameter validation and guard clauses for .NET.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.FluentGuard",github:"https://github.com/philiprehberger/dotnet-fluent-guard",technologies:["C#"],version:"0.1.7"},{name:"Philiprehberger.Geolocation",description:"Calculate distances between coordinates, find points within radius, and compute bounding boxes.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Geolocation",github:"https://github.com/philiprehberger/dotnet-geolocation",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.GlobMatcher",description:"Match file paths against glob patterns — supports *, **, ?, character classes, brace expansion, and negation.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.GlobMatcher",github:"https://github.com/philiprehberger/dotnet-glob-matcher",technologies:["C#"],version:"0.1.1"},{name:"Philiprehberger.Hashing",description:"Password hashing with PBKDF2-SHA256/SHA512, secure password generation, HMAC, checksums, and consistent hashing.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Hashing",github:"https://github.com/philiprehberger/dotnet-hashing",technologies:["C#"],version:"0.2.0"},{name:"Philiprehberger.HealthCheckKit",description:"Composable health checks for ASP.NET Core with built-in URL, TCP, DNS, certificate, disk, and memory checks.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.HealthCheckKit",github:"https://github.com/philiprehberger/dotnet-health-check-kit",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.HtmlSanitizer",description:"Whitelist-based HTML sanitizer for XSS prevention with configurable allowed tags, attributes, and URL schemes.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.HtmlSanitizer",github:"https://github.com/philiprehberger/dotnet-html-sanitizer",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.HttpDebugHandler",description:"DelegatingHandler that logs and times every outgoing HttpClient request.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.HttpDebugHandler",github:"https://github.com/philiprehberger/dotnet-http-debug-handler",technologies:["C#"],version:"0.2.7"},{name:"Philiprehberger.IdGenerator",description:"Sortable, URL-safe unique ID generators — ULID, NanoID, and prefixed IDs.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.IdGenerator",github:"https://github.com/philiprehberger/dotnet-id-generator",technologies:["C#"],version:"0.1.8"},{name:"Philiprehberger.IpRange",description:"Parse and match IP addresses against CIDR ranges with IPv4 and IPv6 support.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.IpRange",github:"https://github.com/philiprehberger/dotnet-ip-range",technologies:["C#"],version:"0.1.2"},{name:"Philiprehberger.JsonMerge",description:"Deep merge JSON with path-specific strategies, dry-run preview, three-way merge, and configurable array handling.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.JsonMerge",github:"https://github.com/philiprehberger/dotnet-json-merge",technologies:["C#"],version:"0.3.0"},{name:"Philiprehberger.JsonPatch",description:"RFC 6902 JSON Patch operations for System.Text.Json — apply, generate, and parse patch documents.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.JsonPatch",github:"https://github.com/philiprehberger/dotnet-json-patch",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.JsonSchema",description:"Validate JSON documents against JSON Schema with structured error paths using System.Text.Json.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.JsonSchema",github:"https://github.com/philiprehberger/dotnet-json-schema",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.Mapper",description:"Ultra-simple object-to-object mapper with convention-based mapping and fluent overrides.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Mapper",github:"https://github.com/philiprehberger/dotnet-mapper",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.Masker",description:"Mask and redact sensitive data in strings and objects for safe logging.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Masker",github:"https://github.com/philiprehberger/dotnet-masker",technologies:["C#"],version:"0.1.8"},{name:"Philiprehberger.MimeDetect",description:"Detect MIME types from file signatures (magic bytes) and file extensions — covers 200+ common file types.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.MimeDetect",github:"https://github.com/philiprehberger/dotnet-mime-detect",technologies:["C#"],version:"0.1.1"},{name:"Philiprehberger.Money",description:"Immutable Money value type with integer arithmetic, ISO 4217 currencies, and proportional allocation.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Money",github:"https://github.com/philiprehberger/dotnet-money",technologies:["C#"],version:"0.3.1"},{name:"Philiprehberger.Obfuscator",description:"Reversible integer/long ID obfuscation for URL-safe, non-sequential public IDs.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Obfuscator",github:"https://github.com/philiprehberger/dotnet-obfuscator",technologies:["C#"],version:"0.1.8"},{name:"Philiprehberger.ObjectDiff",description:"Compare two objects and return a list of property-level changes.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.ObjectDiff",github:"https://github.com/philiprehberger/dotnet-object-diff",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.OptionType",description:"Option/Maybe monad for explicit null handling with Map, Bind, Match, and LINQ support.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.OptionType",github:"https://github.com/philiprehberger/dotnet-option-type",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.Outbox",description:"Transactional outbox pattern implementation for reliable event/message publishing.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Outbox",github:"https://github.com/philiprehberger/dotnet-outbox",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.Pagination",description:"Standardized pagination primitives — PagedResult, cursor-based pagination, and IQueryable extensions.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Pagination",github:"https://github.com/philiprehberger/dotnet-pagination",technologies:["C#"],version:"0.1.9"},{name:"Philiprehberger.PasswordStrength",description:"Password strength evaluation with entropy calculation, common password detection, and pattern analysis.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.PasswordStrength",github:"https://github.com/philiprehberger/dotnet-password-strength",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.PhoneValidator",description:"International phone number validation and formatting based on ITU-T E.164 with country detection.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.PhoneValidator",github:"https://github.com/philiprehberger/dotnet-phone-validator",technologies:["C#"],version:"0.1.1"},{name:"Philiprehberger.Pipeline",description:"Middleware pipeline builder for any operation — like ASP.NET Core middleware but for business logic.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Pipeline",github:"https://github.com/philiprehberger/dotnet-pipeline",technologies:["C#"],version:"0.1.9"},{name:"Philiprehberger.Pluralizer",description:"Singularize and pluralize English words with irregular forms, uncountable words, and count-aware formatting.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Pluralizer",github:"https://github.com/philiprehberger/dotnet-pluralizer",technologies:["C#"],version:"0.1.2"},{name:"Philiprehberger.Polling",description:"Poll any async operation until a condition is met with configurable intervals, timeouts, and backoff strategies.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Polling",github:"https://github.com/philiprehberger/dotnet-polling",technologies:["C#"],version:"0.2.5"},{name:"Philiprehberger.RandomReadableString",description:'Generate human-readable random strings like "swift-river-42" — great for slugs, identifiers, and placeholders.',registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.RandomReadableString",github:"https://github.com/philiprehberger/dotnet-random-readable-string",technologies:["C#"],version:"0.1.10"},{name:"Philiprehberger.RateLimiter",description:"In-memory rate limiting with fixed window, sliding window, and token bucket algorithms.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.RateLimiter",github:"https://github.com/philiprehberger/dotnet-rate-limiter",technologies:["C#"],version:"0.1.7"},{name:"Philiprehberger.RegexBuilder",description:"Fluent, readable regex construction — build patterns programmatically and compile to standard Regex objects.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.RegexBuilder",github:"https://github.com/philiprehberger/dotnet-regex-builder",technologies:["C#"],version:"0.1.1"},{name:"Philiprehberger.Result",description:"Lightweight Result type for .NET — model success and failure without exceptions using pattern matching.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Result",github:"https://github.com/philiprehberger/dotnet-result",technologies:["C#"],version:"0.4.1"},{name:"Philiprehberger.RetryKit",description:"Configurable retry logic and circuit breaker for .NET — exponential backoff, jitter, and built-in presets.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.RetryKit",github:"https://github.com/philiprehberger/dotnet-retry-kit",technologies:["C#"],version:"0.3.5"},{name:"Philiprehberger.SafeJson",description:"Resilient JSON parsing with fallback defaults and path-based value extraction that never throws.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.SafeJson",github:"https://github.com/philiprehberger/dotnet-safe-json",technologies:["C#"],version:"0.1.2"},{name:"Philiprehberger.Scheduler",description:"Lightweight in-process job scheduler with cron expressions, timezone support, execution history, and lifecycle callbacks.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Scheduler",github:"https://github.com/philiprehberger/dotnet-scheduler",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.Semver",description:"Semantic versioning parser, comparator, and range matcher — fully compliant with the semver 2.0 spec.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Semver",github:"https://github.com/philiprehberger/dotnet-semver",technologies:["C#"],version:"0.1.7"},{name:"Philiprehberger.Slugify",description:"Convert text to clean, URL-safe slugs with Unicode diacritic handling, separator collapsing, and max length enforcement.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Slugify",github:"https://github.com/philiprehberger/dotnet-slugify",technologies:["C#"],version:"0.1.8"},{name:"Philiprehberger.SmartTruncate",description:"Truncate strings at word boundaries — no cut words, no ugly mid-word breaks.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.SmartTruncate",github:"https://github.com/philiprehberger/dotnet-smart-truncate",technologies:["C#"],version:"0.1.10"},{name:"Philiprehberger.Specification",description:"Specification pattern implementation for composable, reusable query filters.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.Specification",github:"https://github.com/philiprehberger/dotnet-specification",technologies:["C#"],version:"0.1.7"},{name:"Philiprehberger.StateMachine",description:"Lightweight finite state machine with fluent configuration, guard conditions, async transitions, parameterized triggers, timeout transitions, and graph visualization.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.StateMachine",github:"https://github.com/philiprehberger/dotnet-state-machine",technologies:["C#"],version:"0.3.0"},{name:"Philiprehberger.StringSimilarity",description:"String similarity and phonetic algorithms including Levenshtein, Damerau-Levenshtein, Jaro-Winkler, Dice, Soundex, Double Metaphone, trigrams, and fuzzy search.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.StringSimilarity",github:"https://github.com/philiprehberger/dotnet-string-similarity",technologies:["C#"],version:"0.3.0"},{name:"Philiprehberger.StringTemplate",description:"Named placeholder string interpolation from objects and dictionaries with formatting and defaults.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.StringTemplate",github:"https://github.com/philiprehberger/dotnet-string-template",technologies:["C#"],version:"0.1.2"},{name:"Philiprehberger.TaskDependencyRunner",description:"Lightweight task runner with dependency graph resolution and parallel execution.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.TaskDependencyRunner",github:"https://github.com/philiprehberger/dotnet-task-dependency-runner",technologies:["C#"],version:"0.3.1"},{name:"Philiprehberger.TempFile",description:"Safe temporary file and directory management with automatic cleanup via IDisposable and IAsyncDisposable.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.TempFile",github:"https://github.com/philiprehberger/dotnet-temp-file",technologies:["C#"],version:"0.1.7"},{name:"Philiprehberger.TextDiff",description:"Line-by-line text diff using Myers' algorithm with unified diff output and structured DiffResult objects.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.TextDiff",github:"https://github.com/philiprehberger/dotnet-text-diff",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.TimeAgo",description:'Convert timestamps into human-readable relative phrases like "3 hours ago" or "in 2 days".',registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.TimeAgo",github:"https://github.com/philiprehberger/dotnet-time-ago",technologies:["C#"],version:"0.1.9"},{name:"Philiprehberger.TreeStructure",description:"Generic tree data structure with traversal, serialization, subtree mutation, lowest common ancestor, and flat-to-tree conversion.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.TreeStructure",github:"https://github.com/philiprehberger/dotnet-tree-structure",technologies:["C#"],version:"0.2.1"},{name:"Philiprehberger.UnitConverter",description:"Type-safe unit conversions for length, weight, temperature, volume, data size, speed, pressure, area, and energy.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.UnitConverter",github:"https://github.com/philiprehberger/dotnet-unit-converter",technologies:["C#"],version:"0.2.0"},{name:"Philiprehberger.UrlBuilder",description:"Fluent, immutable URL construction with path segments, query parameters, and proper encoding.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.UrlBuilder",github:"https://github.com/philiprehberger/dotnet-url-builder",technologies:["C#"],version:"0.1.3"},{name:"Philiprehberger.UrlCleaner",description:"Remove tracking parameters from URLs — strip UTM tags, fbclid, gclid, and more.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.UrlCleaner",github:"https://github.com/philiprehberger/dotnet-url-cleaner",technologies:["C#"],version:"0.1.9"},{name:"Philiprehberger.ValueOf",description:"Strongly-typed value objects with built-in validation and JSON support — eliminate primitive obsession.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.ValueOf",github:"https://github.com/philiprehberger/dotnet-value-of",technologies:["C#"],version:"0.1.7"},{name:"Philiprehberger.WebhookSignature",description:"HMAC webhook signing and verification with replay prevention — supports SHA-256, SHA-384, and SHA-512.",registry:"nuget",url:"https://www.nuget.org/packages/Philiprehberger.WebhookSignature",github:"https://github.com/philiprehberger/dotnet-webhook-signature",technologies:["C#"],version:"0.2.7"},{name:"philiprehberger-approx",description:"Epsilon-based approximate equality for floats, arrays, and hashes",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-approx",github:"https://github.com/philiprehberger/rb-approx",technologies:["Ruby"],version:"0.1.6"},{name:"philiprehberger-assert",description:"Standalone runtime assertion library with chainable matchers",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-assert",github:"https://github.com/philiprehberger/rb-assert",technologies:["Ruby"],version:"0.1.10"},{name:"philiprehberger-audit_trail",description:"Generic audit trail for tracking changes with who, what, and when",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-audit_trail",github:"https://github.com/philiprehberger/rb-audit-trail",technologies:["Ruby"],version:"0.2.6"},{name:"philiprehberger-base64_url",description:"URL-safe Base64 encoding with optional padding and JSON helpers",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-base64_url",github:"https://github.com/philiprehberger/rb-base64-url",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-base_convert",description:"Multi-format base encoding with Base32, Base58, Base62, and Base85 support",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-base_convert",github:"https://github.com/philiprehberger/rb-base-convert",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-batch",description:"Batch processing toolkit with chunking, progress, and error collection",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-batch",github:"https://github.com/philiprehberger/rb-batch",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-bit_field",description:"Named bit flags with symbolic access, set operations, and serialization",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-bit_field",github:"https://github.com/philiprehberger/rb-bit-field",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-bloom_filter",description:"Space-efficient probabilistic set with configurable false positive rate",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-bloom_filter",github:"https://github.com/philiprehberger/rb-bloom-filter",technologies:["Ruby"],version:"0.2.0"},{name:"philiprehberger-cache_kit",description:"In-memory LRU cache with TTL, tags, and thread safety",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-cache_kit",github:"https://github.com/philiprehberger/rb-cache-kit",technologies:["Ruby"],version:"0.4.0"},{name:"philiprehberger-changelog_parser",description:"Parser for Keep a Changelog format with querying and write-back",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-changelog_parser",github:"https://github.com/philiprehberger/rb-changelog-parser",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-checksum",description:"Simple file and string checksums with streaming support for large files",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-checksum",github:"https://github.com/philiprehberger/rb-checksum",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-circuit",description:"Minimal circuit breaker with configurable thresholds, error filtering, and exponential backoff",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-circuit",github:"https://github.com/philiprehberger/rb-circuit",technologies:["Ruby"],version:"0.2.9"},{name:"philiprehberger-circuit_board",description:"Health check framework with dependency aggregation and Rack endpoint",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-circuit_board",github:"https://github.com/philiprehberger/rb-circuit-board",technologies:["Ruby"],version:"0.1.6"},{name:"philiprehberger-cli_kit",description:"All-in-one CLI toolkit with argument parsing, prompts, and spinners",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-cli_kit",github:"https://github.com/philiprehberger/rb-cli-kit",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-color",description:"Terminal ANSI color and styling with auto-detection",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-color",github:"https://github.com/philiprehberger/rb-color",technologies:["Ruby"],version:"0.1.9"},{name:"philiprehberger-color_convert",description:"Color format conversion with parsing, manipulation, and CSS named colors",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-color_convert",github:"https://github.com/philiprehberger/rb-color-convert",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-compact_id",description:"Compact UUID encoding in Base58 and Base62 for shorter, URL-safe identifiers",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-compact_id",github:"https://github.com/philiprehberger/rb-compact-id",technologies:["Ruby"],version:"0.1.6"},{name:"philiprehberger-config_kit",description:"Layered configuration with YAML, ENV, and defaults",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-config_kit",github:"https://github.com/philiprehberger/rb-config-kit",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-config_validator",description:"Configuration schema validator with type checking and helpful error messages",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-config_validator",github:"https://github.com/philiprehberger/rb-config-validator",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-cors",description:"CORS middleware with origin validation and preflight handling",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-cors",github:"https://github.com/philiprehberger/rb-cors",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-counter",description:"Frequency counter with most-common, merge, and percentage operations",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-counter",github:"https://github.com/philiprehberger/rb-counter",technologies:["Ruby"],version:"0.2.0"},{name:"philiprehberger-cron_kit",description:"Cron expression parser and scheduler for Ruby",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-cron_kit",github:"https://github.com/philiprehberger/rb-cron-kit",technologies:["Ruby"],version:"0.3.9"},{name:"philiprehberger-cron_parser",description:"Cron expression parser for calculating next and previous occurrences",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-cron_parser",github:"https://github.com/philiprehberger/rb-cron-parser",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-crypt",description:"High-level encryption with AES-256-GCM, key derivation, and secure random",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-crypt",github:"https://github.com/philiprehberger/rb-crypt",technologies:["Ruby"],version:"0.1.3"},{name:"philiprehberger-csv_builder",description:"Declarative CSV builder with column mapping and streaming output",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-csv_builder",github:"https://github.com/philiprehberger/rb-csv-builder",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-csv_kit",description:"Streaming CSV processor with type coercion and validation",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-csv_kit",github:"https://github.com/philiprehberger/rb-csv-kit",technologies:["Ruby"],version:"0.3.1"},{name:"philiprehberger-data_mapper",description:"Data transformation DSL for mapping hashes and CSV rows",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-data_mapper",github:"https://github.com/philiprehberger/rb-data-mapper",technologies:["Ruby"],version:"0.3.6"},{name:"philiprehberger-date_kit",description:"Date utilities for business days, relative expressions, and period calculations",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-date_kit",github:"https://github.com/philiprehberger/rb-date-kit",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-debounce",description:"Debounce and throttle decorators for Ruby method calls",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-debounce",github:"https://github.com/philiprehberger/rb-debounce",technologies:["Ruby"],version:"0.3.1"},{name:"philiprehberger-deep_freeze",description:"Recursive deep freeze and deep dup with circular reference detection and key exclusion",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-deep_freeze",github:"https://github.com/philiprehberger/rb-deep-freeze",technologies:["Ruby"],version:"0.1.10"},{name:"philiprehberger-dependency_graph",description:"Dependency resolver with topological sort and parallel batch scheduling",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-dependency_graph",github:"https://github.com/philiprehberger/rb-dependency-graph",technologies:["Ruby"],version:"0.1.7"},{name:"philiprehberger-differ",description:"Deep structural diff for hashes, arrays, and nested objects",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-differ",github:"https://github.com/philiprehberger/rb-differ",technologies:["Ruby"],version:"0.3.0"},{name:"philiprehberger-dot_access",description:"Dot-notation accessor for nested hashes with nil-safe traversal",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-dot_access",github:"https://github.com/philiprehberger/rb-dot-access",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-duration",description:"Immutable Duration value object — parse human strings and ISO 8601, ",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-duration",github:"https://github.com/philiprehberger/rb-duration",technologies:["Ruby"],version:"0.2.0"},{name:"philiprehberger-email_validator",description:"RFC-compliant email validation with MX record verification",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-email_validator",github:"https://github.com/philiprehberger/rb-email-validator",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-encoding_kit",description:"Character encoding detection, conversion, and normalization",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-encoding_kit",github:"https://github.com/philiprehberger/rb-encoding-kit",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-enum",description:"Type-safe enumerations with ordinals, custom values, and pattern matching",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-enum",github:"https://github.com/philiprehberger/rb-enum",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-env_diff",description:"Compare environment variables across environments and report differences",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-env_diff",github:"https://github.com/philiprehberger/rb-env-diff",technologies:["Ruby"],version:"0.1.7"},{name:"philiprehberger-env_loader",description:"Multi-source environment variable loader with precedence and validation",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-env_loader",github:"https://github.com/philiprehberger/rb-env-loader",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-env_validator",description:"Schema-based environment variable validation with typed accessors for Ruby",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-env_validator",github:"https://github.com/philiprehberger/rb-env-validator",technologies:["Ruby"],version:"0.2.7"},{name:"philiprehberger-etag",description:"ETag generation and conditional request helpers with Rack middleware",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-etag",github:"https://github.com/philiprehberger/rb-etag",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-event_emitter",description:"Type-safe event emitter with sync and async listeners",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-event_emitter",github:"https://github.com/philiprehberger/rb-event-emitter",technologies:["Ruby"],version:"0.3.5"},{name:"philiprehberger-event_store",description:"In-memory event store with streams, projections, and subscriptions",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-event_store",github:"https://github.com/philiprehberger/rb-event-store",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-expiring_map",description:"Thread-safe hash with per-key TTL and automatic expiration",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-expiring_map",github:"https://github.com/philiprehberger/rb-expiring-map",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-feature_flag",description:"Minimal feature flag system with YAML, ENV, and in-memory backends",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-feature_flag",github:"https://github.com/philiprehberger/rb-feature-flag",technologies:["Ruby"],version:"0.2.6"},{name:"philiprehberger-file_watcher",description:"File system change detection with polling and callbacks",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-file_watcher",github:"https://github.com/philiprehberger/rb-file-watcher",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-fuzzy_match",description:"Fuzzy string matching with Levenshtein, Jaro-Winkler, and ranked search",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-fuzzy_match",github:"https://github.com/philiprehberger/rb-fuzzy-match",technologies:["Ruby"],version:"0.2.0"},{name:"philiprehberger-geo_point",description:"Geographic coordinate operations with Haversine/Vincenty distance, geohash, rhumb lines, and bounding box",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-geo_point",github:"https://github.com/philiprehberger/rb-geo-point",technologies:["Ruby"],version:"0.3.0"},{name:"philiprehberger-graph",description:"Directed and undirected graph with traversal, shortest path, and topological sort",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-graph",github:"https://github.com/philiprehberger/rb-graph",technologies:["Ruby"],version:"0.2.3"},{name:"philiprehberger-guard_clause",description:"Expressive guard clause DSL for method precondition validation",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-guard_clause",github:"https://github.com/philiprehberger/rb-guard-clause",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-gzip_kit",description:"Gzip compression and decompression with streaming support",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-gzip_kit",github:"https://github.com/philiprehberger/rb-gzip-kit",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-hash_ring",description:"Consistent hashing for distributed key distribution",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-hash_ring",github:"https://github.com/philiprehberger/rb-hash-ring",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-header_kit",description:"HTTP header parsing, construction, and content negotiation",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-header_kit",github:"https://github.com/philiprehberger/rb-header-kit",technologies:["Ruby"],version:"0.3.1"},{name:"philiprehberger-hex",description:"Hex encoding, decoding, and dump formatting for binary data",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-hex",github:"https://github.com/philiprehberger/rb-hex",technologies:["Ruby"],version:"0.2.0"},{name:"philiprehberger-html_builder",description:"Programmatic HTML builder with tag DSL and auto-escaping",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-html_builder",github:"https://github.com/philiprehberger/rb-html-builder",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-http_client",description:"Lightweight HTTP client wrapper with retries and interceptors",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-http_client",github:"https://github.com/philiprehberger/rb-http-client",technologies:["Ruby"],version:"0.6.1"},{name:"philiprehberger-http_mock",description:"Lightweight HTTP request stubbing for tests",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-http_mock",github:"https://github.com/philiprehberger/rb-http-mock",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-human_size",description:"Bidirectional byte size formatting with SI and binary units",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-human_size",github:"https://github.com/philiprehberger/rb-human-size",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-id_gen",description:"Multi-format unique ID generator with ULID, nanoid, UUID v7, CUID2, prefixed, snowflake, and hashid",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-id_gen",github:"https://github.com/philiprehberger/rb-id-gen",technologies:["Ruby"],version:"0.3.1"},{name:"philiprehberger-image_size",description:"Image dimension detection from file headers without full decode",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-image_size",github:"https://github.com/philiprehberger/rb-image-size",technologies:["Ruby"],version:"0.3.0"},{name:"philiprehberger-inflector",description:"Rails-compatible string inflections without ActiveSupport dependency",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-inflector",github:"https://github.com/philiprehberger/rb-inflector",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-ini_parser",description:"INI file parser and writer with section support and type coercion",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-ini_parser",github:"https://github.com/philiprehberger/rb-ini-parser",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-interval",description:"Interval data type with overlap detection, merging, and gap finding",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-interval",github:"https://github.com/philiprehberger/rb-interval",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-ip_addr",description:"Enhanced IP address library with CIDR, classification, and range operations",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-ip_addr",github:"https://github.com/philiprehberger/rb-ip-addr",technologies:["Ruby"],version:"0.1.7"},{name:"philiprehberger-job_meter",description:"Framework-agnostic background job instrumentation and metrics for Ruby",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-job_meter",github:"https://github.com/philiprehberger/rb-job-meter",technologies:["Ruby"],version:"0.1.10"},{name:"philiprehberger-json_merge",description:"JSON Merge Patch (RFC 7396) and JSON Patch (RFC 6902) for Ruby",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-json_merge",github:"https://github.com/philiprehberger/rb-json-merge",technologies:["Ruby"],version:"0.2.0"},{name:"philiprehberger-json_path",description:"JSONPath expression evaluator with dot notation, wildcards, slices, and filters",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-json_path",github:"https://github.com/philiprehberger/rb-json-path",technologies:["Ruby"],version:"0.1.6"},{name:"philiprehberger-json_schema",description:"JSON Schema validator supporting common draft-07 keywords",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-json_schema",github:"https://github.com/philiprehberger/rb-json-schema",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-jwt_kit",description:"Opinionated JWT toolkit with encoding, validation, refresh tokens, and revocation",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-jwt_kit",github:"https://github.com/philiprehberger/rb-jwt-kit",technologies:["Ruby"],version:"0.3.0"},{name:"philiprehberger-locale_kit",description:"BCP 47 locale parsing, matching, and content negotiation",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-locale_kit",github:"https://github.com/philiprehberger/rb-locale-kit",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-lock_kit",description:"File-based and PID locking for process coordination",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-lock_kit",github:"https://github.com/philiprehberger/rb-lock-kit",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-log_filter",description:"Pattern-based log filtering with drop, replace, and preset rules",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-log_filter",github:"https://github.com/philiprehberger/rb-log-filter",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-lru",description:"Thread-safe LRU cache with TTL, eviction callbacks, and hit/miss statistics",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-lru",github:"https://github.com/philiprehberger/rb-lru",technologies:["Ruby"],version:"0.1.3"},{name:"philiprehberger-mask",description:"Data masking library with auto-detect PII redaction for strings and nested structures",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-mask",github:"https://github.com/philiprehberger/rb-mask",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-math_kit",description:"Statistics, interpolation, rounding modes, and moving averages for Ruby",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-math_kit",github:"https://github.com/philiprehberger/rb-math-kit",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-maybe",description:"Optional/Maybe monad with safe chaining and pattern matching",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-maybe",github:"https://github.com/philiprehberger/rb-maybe",technologies:["Ruby"],version:"0.1.6"},{name:"philiprehberger-memo",description:"Practical memoization — memo decorator with TTL, LRU eviction, ",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-memo",github:"https://github.com/philiprehberger/rb-memo",technologies:["Ruby"],version:"0.2.3"},{name:"philiprehberger-metric",description:"In-process application metrics with counters, gauges, histograms, and summaries",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-metric",github:"https://github.com/philiprehberger/rb-metric",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-metric_units",description:"Unit conversion for length, weight, temperature, and volume measurements",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-metric_units",github:"https://github.com/philiprehberger/rb-metric-units",technologies:["Ruby"],version:"0.1.3"},{name:"philiprehberger-middleware",description:"Generic middleware stack for composing processing pipelines with conditional execution, ",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-middleware",github:"https://github.com/philiprehberger/rb-middleware",technologies:["Ruby"],version:"0.4.1"},{name:"philiprehberger-mime_type",description:"MIME type detection from file extensions and magic bytes with 200+ mappings",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-mime_type",github:"https://github.com/philiprehberger/rb-mime-type",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-money",description:"Immutable money value object with integer subunit storage and multi-currency formatting",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-money",github:"https://github.com/philiprehberger/rb-money",technologies:["Ruby"],version:"0.3.1"},{name:"philiprehberger-multipart",description:"Multipart/form-data builder and parser with MIME type detection and streaming support",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-multipart",github:"https://github.com/philiprehberger/rb-multipart",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-natural_sort",description:"Human-friendly natural sorting — ",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-natural_sort",github:"https://github.com/philiprehberger/rb-natural-sort",technologies:["Ruby"],version:"0.1.3"},{name:"philiprehberger-pagination",description:"Framework-agnostic pagination with cursor, offset, and keyset strategies",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-pagination",github:"https://github.com/philiprehberger/rb-pagination",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-parallel_each",description:"Parallel iteration with configurable thread pool and ordered results",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-parallel_each",github:"https://github.com/philiprehberger/rb-parallel-each",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-password",description:"Password strength checking, policy validation, and secure generation",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-password",github:"https://github.com/philiprehberger/rb-password",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-pathname_kit",description:"Pathname extensions for atomic write, safe delete, and common file operations",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-pathname_kit",github:"https://github.com/philiprehberger/rb-pathname-kit",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-phone",description:"Lightweight phone number parsing, validation, formatting, and metadata lookup for 36 countries",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-phone",github:"https://github.com/philiprehberger/rb-phone",technologies:["Ruby"],version:"0.4.1"},{name:"philiprehberger-pipe",description:"Functional pipeline composition with conditional steps and error handling for Ruby",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-pipe",github:"https://github.com/philiprehberger/rb-pipe",technologies:["Ruby"],version:"0.3.1"},{name:"philiprehberger-pluralize",description:"Standalone English pluralization, singularization, and string inflection",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-pluralize",github:"https://github.com/philiprehberger/rb-pluralize",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-pool",description:"Generic thread-safe object pool with idle timeout and health checks",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-pool",github:"https://github.com/philiprehberger/rb-pool",technologies:["Ruby"],version:"0.1.9"},{name:"philiprehberger-priority_queue",description:"Binary heap priority queue with min/max modes, custom comparators, and priority updates",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-priority_queue",github:"https://github.com/philiprehberger/rb-priority-queue",technologies:["Ruby"],version:"0.1.10"},{name:"philiprehberger-progress",description:"Terminal progress bars and spinners with ETA calculation and throughput display",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-progress",github:"https://github.com/philiprehberger/rb-progress",technologies:["Ruby"],version:"0.1.10"},{name:"philiprehberger-queue_stack",description:"Thread-safe Queue and Stack with capacity limits and blocking operations",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-queue_stack",github:"https://github.com/philiprehberger/rb-queue-stack",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-random_data",description:"Lightweight random test data generator for names, emails, addresses, and common types",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-random_data",github:"https://github.com/philiprehberger/rb-random-data",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-rate_counter",description:"Sliding-window rate counter for measuring event throughput in real-time",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-rate_counter",github:"https://github.com/philiprehberger/rb-rate-counter",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-rate_limiter",description:"In-memory rate limiter with sliding window and token bucket",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-rate_limiter",github:"https://github.com/philiprehberger/rb-rate-limiter",technologies:["Ruby"],version:"0.4.0"},{name:"philiprehberger-rate_window",description:"Time-windowed rate tracker with configurable resolution",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-rate_window",github:"https://github.com/philiprehberger/rb-rate-window",technologies:["Ruby"],version:"0.1.3"},{name:"philiprehberger-regex_lib",description:"Pre-built regex patterns for emails, URLs, IPs, dates, and more",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-regex_lib",github:"https://github.com/philiprehberger/rb-regex-lib",technologies:["Ruby"],version:"0.3.1"},{name:"philiprehberger-result",description:"Result type with Ok/Err, map, flat_map, and pattern matching",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-result",github:"https://github.com/philiprehberger/rb-result",technologies:["Ruby"],version:"0.4.0"},{name:"philiprehberger-retry_kit",description:"Retry with exponential backoff, jitter, and circuit breaker",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-retry_kit",github:"https://github.com/philiprehberger/rb-retry-kit",technologies:["Ruby"],version:"0.3.6"},{name:"philiprehberger-retry_queue",description:"Batch processor with per-item retry, backoff, and dead letter collection",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-retry_queue",github:"https://github.com/philiprehberger/rb-retry-queue",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-ring_buffer",description:"Fixed-size circular buffer with overflow, statistics, and enumeration",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-ring_buffer",github:"https://github.com/philiprehberger/rb-ring-buffer",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-rule_engine",description:"Lightweight rule engine with declarative conditions and actions",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-rule_engine",github:"https://github.com/philiprehberger/rb-rule-engine",technologies:["Ruby"],version:"0.3.0"},{name:"philiprehberger-safe_exec",description:"Sandboxed expression evaluator with whitelisted operations",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-safe_exec",github:"https://github.com/philiprehberger/rb-safe-exec",technologies:["Ruby"],version:"0.1.6"},{name:"philiprehberger-safe_yaml",description:"Safe YAML loading with restricted types, schema validation, and size limits",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-safe_yaml",github:"https://github.com/philiprehberger/rb-safe-yaml",technologies:["Ruby"],version:"0.1.8"},{name:"philiprehberger-sanitize_html",description:"HTML sanitizer with configurable allow lists for safe user content rendering",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-sanitize_html",github:"https://github.com/philiprehberger/rb-sanitize-html",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-scheduler",description:"Lightweight in-process task scheduler with cron and interval support for Ruby",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-scheduler",github:"https://github.com/philiprehberger/rb-scheduler",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-schema_validator",description:"Lightweight schema validation for hashes with type coercion",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-schema_validator",github:"https://github.com/philiprehberger/rb-schema-validator",technologies:["Ruby"],version:"0.4.0"},{name:"philiprehberger-semaphore",description:"Counting semaphore for concurrent access control with timeouts",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-semaphore",github:"https://github.com/philiprehberger/rb-semaphore",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-semver",description:"SemVer 2.0.0 parsing, comparison, range matching, and bump operations",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-semver",github:"https://github.com/philiprehberger/rb-semver",technologies:["Ruby"],version:"0.1.8"},{name:"philiprehberger-signed_payload",description:"Cryptographic signing and verification for JSON payloads",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-signed_payload",github:"https://github.com/philiprehberger/rb-signed-payload",technologies:["Ruby"],version:"0.2.7"},{name:"philiprehberger-slug",description:"URL-friendly slug generator with Unicode transliteration and collision-aware uniqueness",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-slug",github:"https://github.com/philiprehberger/rb-slug",technologies:["Ruby"],version:"0.2.0"},{name:"philiprehberger-state_bag",description:"Thread-local state bag for implicit context propagation",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-state_bag",github:"https://github.com/philiprehberger/rb-state-bag",technologies:["Ruby"],version:"0.1.6"},{name:"philiprehberger-state_machine",description:"Lightweight state machine DSL with transitions, guards, and callbacks",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-state_machine",github:"https://github.com/philiprehberger/rb-state-machine",technologies:["Ruby"],version:"0.3.0"},{name:"philiprehberger-stopwatch",description:"Precision stopwatch with lap timing, pause/resume, and formatted output",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-stopwatch",github:"https://github.com/philiprehberger/rb-stopwatch",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-string_kit",description:"Comprehensive string utilities without ActiveSupport dependency",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-string_kit",github:"https://github.com/philiprehberger/rb-string-kit",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-struct_kit",description:"Enhanced struct builder with typed fields, defaults, validation, and pattern matching",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-struct_kit",github:"https://github.com/philiprehberger/rb-struct-kit",technologies:["Ruby"],version:"0.1.10"},{name:"philiprehberger-structured_logger",description:"Structured JSON logger with context and child loggers",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-structured_logger",github:"https://github.com/philiprehberger/rb-structured-logger",technologies:["Ruby"],version:"0.3.4"},{name:"philiprehberger-table",description:"Terminal table formatting with Unicode borders, alignment, and multiple styles",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-table",github:"https://github.com/philiprehberger/rb-table",technologies:["Ruby"],version:"0.1.8"},{name:"philiprehberger-tar",description:"Pure-Ruby tar archive creation and extraction",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-tar",github:"https://github.com/philiprehberger/rb-tar",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-task_queue",description:"In-process async job queue with concurrency control for Ruby",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-task_queue",github:"https://github.com/philiprehberger/rb-task-queue",technologies:["Ruby"],version:"0.2.10"},{name:"philiprehberger-task_runner",description:"Shell command runner with output capture, timeout, streaming, signal handling, and stdin piping",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-task_runner",github:"https://github.com/philiprehberger/rb-task-runner",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-template",description:"Logic-less Mustache-style template engine with safe rendering",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-template",github:"https://github.com/philiprehberger/rb-template",technologies:["Ruby"],version:"0.4.1"},{name:"philiprehberger-test_factory",description:"Lightweight test data factory DSL with sequences and traits",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-test_factory",github:"https://github.com/philiprehberger/rb-test-factory",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-time_ago",description:"Relative time formatting for past and future timestamps",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-time_ago",github:"https://github.com/philiprehberger/rb-time-ago",technologies:["Ruby"],version:"0.2.0"},{name:"philiprehberger-timeout_kit",description:"Safe timeout patterns without Thread.raise",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-timeout_kit",github:"https://github.com/philiprehberger/rb-timeout-kit",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-token_bucket",description:"Token bucket rate limiter with configurable capacity and refill rate",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-token_bucket",github:"https://github.com/philiprehberger/rb-token-bucket",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-toml_kit",description:"TOML v1.0 parser and serializer for Ruby",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-toml_kit",github:"https://github.com/philiprehberger/rb-toml-kit",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-tree",description:"Generic tree data structure with traversal, search, and serialization",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-tree",github:"https://github.com/philiprehberger/rb-tree",technologies:["Ruby"],version:"0.1.4"},{name:"philiprehberger-truncate",description:"Smart string truncation with word boundaries, HTML safety, and multi-byte support",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-truncate",github:"https://github.com/philiprehberger/rb-truncate",technologies:["Ruby"],version:"0.2.0"},{name:"philiprehberger-try",description:"Concise error handling with fallbacks, chained recovery, and timeout wrapping",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-try",github:"https://github.com/philiprehberger/rb-try",technologies:["Ruby"],version:"0.2.0"},{name:"philiprehberger-typed_hash",description:"Hash with per-key type declarations, coercion, and validation",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-typed_hash",github:"https://github.com/philiprehberger/rb-typed-hash",technologies:["Ruby"],version:"0.1.6"},{name:"philiprehberger-uri_kit",description:"URL manipulation with query parameter management and normalization",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-uri_kit",github:"https://github.com/philiprehberger/rb-uri-kit",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-version_compare",description:"Version string parsing with comparison, sorting, and constraint matching",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-version_compare",github:"https://github.com/philiprehberger/rb-version-compare",technologies:["Ruby"],version:"0.1.5"},{name:"philiprehberger-webhook_builder",description:"Webhook delivery client with HMAC signing, retry, and tracking",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-webhook_builder",github:"https://github.com/philiprehberger/rb-webhook-builder",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger-webhook_signature",description:"HMAC-SHA256 webhook signing and verification with replay prevention",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-webhook_signature",github:"https://github.com/philiprehberger/rb-webhook-signature",technologies:["Ruby"],version:"0.2.7"},{name:"philiprehberger-word_wrap",description:"Text wrapping with word-boundary awareness, indentation, and ANSI escape code support",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-word_wrap",github:"https://github.com/philiprehberger/rb-word-wrap",technologies:["Ruby"],version:"0.2.0"},{name:"philiprehberger-xml_builder",description:"Lightweight XML builder DSL without Nokogiri dependency",registry:"rubygems",url:"https://rubygems.org/gems/philiprehberger-xml_builder",github:"https://github.com/philiprehberger/rb-xml-builder",technologies:["Ruby"],version:"0.2.1"},{name:"philiprehberger/cron-expression-builder",description:"Fluent cron expression builder with human-readable methods",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/cron-expression-builder",github:"https://github.com/philiprehberger/cron-expression-builder",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/env-validator",description:"Validate required environment variables with type checking and defaults",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/env-validator",github:"https://github.com/philiprehberger/env-validator",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/http-retry-client",description:"HTTP client wrapper with automatic retries, exponential backoff, and jitter",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/http-retry-client",github:"https://github.com/philiprehberger/http-retry-client",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/laravel-api-versioning",description:"Laravel middleware for API versioning with multi-source resolution from headers, Accept vendor types, and URL path segments",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-api-versioning",github:"https://github.com/philiprehberger/laravel-api-versioning",technologies:["PHP","Laravel"],version:"1.1.0"},{name:"philiprehberger/laravel-cache-toolkit",description:"Standardized cache key builder and tag-aware cache operations for Laravel with graceful fallback for non-tagging drivers",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-cache-toolkit",github:"https://github.com/philiprehberger/laravel-cache-toolkit",technologies:["PHP","Laravel"],version:"1.0.5"},{name:"philiprehberger/laravel-correlation-id",description:"Laravel middleware that generates or propagates correlation IDs for request tracing with automatic log context injection",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-correlation-id",github:"https://github.com/philiprehberger/laravel-correlation-id",technologies:["PHP","Laravel"],version:"1.1.0"},{name:"philiprehberger/laravel-csv-import",description:"Chunked CSV import with row-level validation, error collection, dry-run mode, and queue support",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-csv-import",github:"https://github.com/philiprehberger/laravel-csv-import",technologies:["PHP","Laravel"],version:"1.1.0"},{name:"philiprehberger/laravel-db-expressions",description:"Database-agnostic SQL expression helper for date truncation, extraction, and differences across SQLite and MySQL",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-db-expressions",github:"https://github.com/philiprehberger/laravel-db-expressions",technologies:["PHP","Laravel"],version:"1.2.0"},{name:"philiprehberger/laravel-export",description:"Registry-based data export system for Laravel with pluggable format support. Ships with CSV and JSON exporters",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-export",github:"https://github.com/philiprehberger/laravel-export",technologies:["PHP","Laravel"],version:"1.2.0"},{name:"philiprehberger/laravel-feature-flags",description:"Lightweight feature flags with config and database drivers, percentage rollout, and scheduling",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-feature-flags",github:"https://github.com/philiprehberger/laravel-feature-flags",technologies:["PHP","Laravel"],version:"1.1.1"},{name:"philiprehberger/laravel-healthcheck",description:"Configurable health check endpoint with built-in checks and Kubernetes probe support",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-healthcheck",github:"https://github.com/philiprehberger/laravel-healthcheck",technologies:["PHP","Laravel"],version:"1.2.1"},{name:"philiprehberger/laravel-make-service",description:"Artisan generator commands for services, DTOs, enums, actions, value objects, and interfaces",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-make-service",github:"https://github.com/philiprehberger/laravel-make-service",technologies:["PHP","Laravel"],version:"1.0.4"},{name:"philiprehberger/laravel-model-diff",description:"Track and display structured differences between Eloquent model versions with human-readable labels",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-model-diff",github:"https://github.com/philiprehberger/laravel-model-diff",technologies:["PHP","Laravel"],version:"1.2.0"},{name:"philiprehberger/laravel-operation-result",description:"Typed Result pattern for Laravel service-layer operations with named factory methods and specialized result types",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-operation-result",github:"https://github.com/philiprehberger/laravel-operation-result",technologies:["PHP","Laravel"],version:"1.1.0"},{name:"philiprehberger/laravel-rate-limiter",description:"Advanced rate limiting with sliding window, token bucket, and per-entity controls for Laravel",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-rate-limiter",github:"https://github.com/philiprehberger/laravel-rate-limiter",technologies:["PHP","Laravel"],version:"1.2.0"},{name:"philiprehberger/laravel-response-macros",description:"Response macros for consistent, standardized API responses in Laravel",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-response-macros",github:"https://github.com/philiprehberger/laravel-response-macros",technologies:["PHP","Laravel"],version:"1.2.0"},{name:"philiprehberger/laravel-search-query-parser",description:"Parse GitHub-style search queries into structured filters for Laravel Eloquent. Supports field:value, comparisons, exclusions, and relation filters.",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-search-query-parser",github:"https://github.com/philiprehberger/laravel-search-query-parser",technologies:["PHP","Laravel"],version:"1.1.4"},{name:"philiprehberger/laravel-security-headers",description:"Laravel middleware for comprehensive security headers including CSP with nonce support, HSTS, and Permissions-Policy",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-security-headers",github:"https://github.com/philiprehberger/laravel-security-headers",technologies:["PHP","Laravel"],version:"1.2.1"},{name:"philiprehberger/laravel-seo",description:"Fluent SEO metadata service for Laravel with Open Graph, Twitter Card, and JSON-LD structured data support",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-seo",github:"https://github.com/philiprehberger/laravel-seo",technologies:["PHP","Laravel"],version:"1.1.0"},{name:"philiprehberger/laravel-settings",description:"Type-safe, cached application settings stored in the database with a simple key-value API",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-settings",github:"https://github.com/philiprehberger/laravel-settings",technologies:["PHP","Laravel"],version:"1.1.1"},{name:"philiprehberger/laravel-slug-generator",description:"Automatic slug generation for Eloquent models with scoped uniqueness, history, and transliteration",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/laravel-slug-generator",github:"https://github.com/philiprehberger/laravel-slug-generator",technologies:["PHP","Laravel"],version:"1.1.0"},{name:"philiprehberger/php-api-response",description:"Standardized API response builder for consistent JSON APIs",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-api-response",github:"https://github.com/philiprehberger/php-api-response",technologies:["PHP"],version:"1.1.0"},{name:"philiprehberger/php-array-query",description:"SQL-like fluent query builder for filtering, sorting, and transforming arrays",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-array-query",github:"https://github.com/philiprehberger/php-array-query",technologies:["PHP"],version:"1.1.0"},{name:"philiprehberger/php-background-jobs",description:"Lightweight background job queue with file-based driver",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-background-jobs",github:"https://github.com/philiprehberger/php-background-jobs",technologies:["PHP"],version:"1.1.0"},{name:"philiprehberger/php-circuit-breaker",description:"Circuit breaker pattern with configurable thresholds and multiple storage backends",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-circuit-breaker",github:"https://github.com/philiprehberger/php-circuit-breaker",technologies:["PHP"],version:"1.3.0"},{name:"philiprehberger/php-color",description:"Color parsing, conversion, manipulation, and WCAG contrast checking",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-color",github:"https://github.com/philiprehberger/php-color",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-config-loader",description:"Load configuration from JSON and PHP files with environment variable substitution",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-config-loader",github:"https://github.com/philiprehberger/php-config-loader",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-crypt",description:"Secure-by-default encryption with AES-256-GCM and key rotation",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-crypt",github:"https://github.com/philiprehberger/php-crypt",technologies:["PHP"],version:"1.1.0"},{name:"philiprehberger/php-csv",description:"Memory-efficient CSV reader and writer with header mapping and type casting",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-csv",github:"https://github.com/philiprehberger/php-csv",technologies:["PHP"],version:"1.3.0"},{name:"philiprehberger/php-diff",description:"Diff strings, arrays, and objects with unified, HTML, and structured output",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-diff",github:"https://github.com/philiprehberger/php-diff",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-dto-mapper",description:"Map arrays and JSON to strongly-typed DTOs with attribute-driven configuration",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-dto-mapper",github:"https://github.com/philiprehberger/php-dto-mapper",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-enum-utils",description:"Utility trait and helpers for PHP 8.1+ native enums",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-enum-utils",github:"https://github.com/philiprehberger/php-enum-utils",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-exception-reporter",description:"Lightweight exception reporting to log channels and webhooks",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-exception-reporter",github:"https://github.com/philiprehberger/php-exception-reporter",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-geo",description:"Geospatial utilities for distance, bounding box, and point-in-polygon calculations",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-geo",github:"https://github.com/philiprehberger/php-geo",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-human-duration",description:"Convert seconds into human-readable duration strings",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-human-duration",github:"https://github.com/philiprehberger/php-human-duration",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-install-doctor",description:"CLI diagnostic tool that checks PHP extensions, permissions, and configuration",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-install-doctor",github:"https://github.com/philiprehberger/php-install-doctor",technologies:["PHP"],version:"1.0.4"},{name:"philiprehberger/php-mask",description:"Mask sensitive data in strings, arrays, and objects for safe logging",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-mask",github:"https://github.com/philiprehberger/php-mask",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-money",description:"Immutable Money value object with currency support, formatting, arithmetic, and Laravel Eloquent cast",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-money",github:"https://github.com/philiprehberger/php-money",technologies:["PHP"],version:"1.3.0"},{name:"philiprehberger/php-password-strength",description:"Password strength validation with entropy calculation and common password detection",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-password-strength",github:"https://github.com/philiprehberger/php-password-strength",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-pipeline",description:"Composable pipeline pattern for processing data through ordered stages",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-pipeline",github:"https://github.com/philiprehberger/php-pipeline",technologies:["PHP"],version:"1.3.0"},{name:"philiprehberger/php-retry",description:"Composable retry utility with exponential backoff, jitter, and exception filtering",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-retry",github:"https://github.com/philiprehberger/php-retry",technologies:["PHP"],version:"1.2.1"},{name:"philiprehberger/php-rule-engine",description:"Lightweight business rule engine with declarative conditions and actions",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-rule-engine",github:"https://github.com/philiprehberger/php-rule-engine",technologies:["PHP"],version:"1.1.0"},{name:"philiprehberger/php-safe-json",description:"Safe JSON parsing with exceptions, schema validation, and typed getters",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-safe-json",github:"https://github.com/philiprehberger/php-safe-json",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-schema-validator",description:"Fluent data schema validator with nested objects, arrays, and dot-notation errors",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-schema-validator",github:"https://github.com/philiprehberger/php-schema-validator",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-state-machine",description:"Declarative state machine with guards, hooks, and transition history",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-state-machine",github:"https://github.com/philiprehberger/php-state-machine",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-stopwatch",description:"Precise code execution timer with lap tracking and memory measurement",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-stopwatch",github:"https://github.com/philiprehberger/php-stopwatch",technologies:["PHP"],version:"1.3.0"},{name:"philiprehberger/php-structured-logger",description:"PSR-3 compatible logger that outputs structured JSON log lines",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-structured-logger",github:"https://github.com/philiprehberger/php-structured-logger",technologies:["PHP"],version:"1.3.0"},{name:"philiprehberger/php-uuid-tools",description:"UUID v4 and v7 generation, validation, and ordered UUIDs for database indexing",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-uuid-tools",github:"https://github.com/philiprehberger/php-uuid-tools",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/php-webhook-signature",description:"Minimal, framework-agnostic HMAC-SHA256 webhook signature generation and verification with replay attack prevention",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/php-webhook-signature",github:"https://github.com/philiprehberger/php-webhook-signature",technologies:["PHP"],version:"1.2.0"},{name:"philiprehberger/safe-file-writer",description:"Atomic file writes with temp-file swap and file locking",registry:"packagist",url:"https://packagist.org/packages/philiprehberger/safe-file-writer",github:"https://github.com/philiprehberger/safe-file-writer",technologies:["PHP"],version:"1.1.0"},{name:"com.philiprehberger:cache-kit",description:"Lightweight coroutine-aware in-memory cache with TTL and LRU eviction",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/cache-kit",github:"https://github.com/philiprehberger/kt-cache-kit",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:circuit-breaker",description:"Coroutine-aware circuit breaker for resilient Kotlin services",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/circuit-breaker",github:"https://github.com/philiprehberger/kt-circuit-breaker",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:color-kit",description:"Color parsing, conversion, and manipulation across RGB, HSL, HSV, and HEX",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/color-kit",github:"https://github.com/philiprehberger/kt-color-kit",technologies:["Kotlin"],version:"0.1.4"},{name:"com.philiprehberger:config-kit",description:"Layered configuration loading from multiple sources with type-safe access",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/config-kit",github:"https://github.com/philiprehberger/kt-config-kit",technologies:["Kotlin"],version:"0.3.0"},{name:"com.philiprehberger:cron-kit",description:"Cron expression parsing, scheduling, and human-readable descriptions",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/cron-kit",github:"https://github.com/philiprehberger/kt-cron-kit",technologies:["Kotlin"],version:"0.1.4"},{name:"com.philiprehberger:csv-kit",description:"CSV reading and writing for Kotlin with streaming support",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/csv-kit",github:"https://github.com/philiprehberger/kt-csv-kit",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:deep-merge",description:"Deep merge maps and JSON with configurable conflict resolution",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/deep-merge",github:"https://github.com/philiprehberger/kt-deep-merge",technologies:["Kotlin"],version:"0.1.4"},{name:"com.philiprehberger:diff-kit",description:"Structured diffing of Kotlin data classes and maps with change tracking",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/diff-kit",github:"https://github.com/philiprehberger/kt-diff-kit",technologies:["Kotlin"],version:"0.3.0"},{name:"com.philiprehberger:duration-fmt",description:"Human-readable duration formatting and parsing for Kotlin",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/duration-fmt",github:"https://github.com/philiprehberger/kt-duration-fmt",technologies:["Kotlin"],version:"0.1.5"},{name:"com.philiprehberger:enum-kit",description:"Enhanced enum utilities: safe parsing, display names, and value mapping",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/enum-kit",github:"https://github.com/philiprehberger/kt-enum-kit",technologies:["Kotlin"],version:"0.1.4"},{name:"com.philiprehberger:env-validator",description:"Declarative environment variable validation and typed loading for Kotlin",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/env-validator",github:"https://github.com/philiprehberger/kt-env-validator",technologies:["Kotlin"],version:"0.1.6"},{name:"com.philiprehberger:event-bus",description:"Type-safe coroutine-based event bus for Kotlin with Flow integration",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/event-bus",github:"https://github.com/philiprehberger/kt-event-bus",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:feature-flag",description:"Local feature flag evaluation with percentage rollouts and user targeting",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/feature-flag",github:"https://github.com/philiprehberger/kt-feature-flag",technologies:["Kotlin"],version:"0.3.0"},{name:"com.philiprehberger:flatten-json",description:"Flatten nested maps and JSON to dot-notation keys and unflatten back",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/flatten-json",github:"https://github.com/philiprehberger/kt-flatten-json",technologies:["Kotlin"],version:"0.1.5"},{name:"com.philiprehberger:graceful-shutdown",description:"Graceful application shutdown with signal handling and ordered teardown",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/graceful-shutdown",github:"https://github.com/philiprehberger/kt-graceful-shutdown",technologies:["Kotlin"],version:"0.1.5"},{name:"com.philiprehberger:guard-clause",description:"Fluent guard clause validation for Kotlin with descriptive error messages",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/guard-clause",github:"https://github.com/philiprehberger/kt-guard-clause",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:hash-kit",description:"Hashing utilities: MD5, SHA-256, SHA-512, HMAC, CRC32 with hex and base64",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/hash-kit",github:"https://github.com/philiprehberger/kt-hash-kit",technologies:["Kotlin"],version:"0.1.5"},{name:"com.philiprehberger:healthcheck",description:"Composable health check framework with readiness and liveness probes",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/healthcheck",github:"https://github.com/philiprehberger/kt-healthcheck",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:http-client",description:"Lightweight HTTP client DSL with retry, timeout, and JSON support",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/http-client",github:"https://github.com/philiprehberger/kt-http-client",technologies:["Kotlin"],version:"0.1.7"},{name:"com.philiprehberger:id-gen",description:"ID generation for Kotlin: ULID, NanoID, Snowflake, and prefixed IDs",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/id-gen",github:"https://github.com/philiprehberger/kt-id-gen",technologies:["Kotlin"],version:"0.1.6"},{name:"com.philiprehberger:json-diff",description:"Structural diffs between JSON documents with path-based change tracking",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/json-diff",github:"https://github.com/philiprehberger/kt-json-diff",technologies:["Kotlin"],version:"0.1.5"},{name:"com.philiprehberger:json-logger",description:"Structured JSON logging with context fields and sensitive field masking",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/json-logger",github:"https://github.com/philiprehberger/kt-json-logger",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:mask-kit",description:"Data masking for sensitive values in logs and API responses",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/mask-kit",github:"https://github.com/philiprehberger/kt-mask-kit",technologies:["Kotlin"],version:"0.2.5"},{name:"com.philiprehberger:money",description:"Type-safe monetary values with currency support and precise arithmetic",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/money",github:"https://github.com/philiprehberger/kt-money",technologies:["Kotlin"],version:"0.1.4"},{name:"com.philiprehberger:pagination",description:"Framework-agnostic pagination for offset, cursor, and keyset patterns",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/pagination",github:"https://github.com/philiprehberger/kt-pagination",technologies:["Kotlin"],version:"0.1.4"},{name:"com.philiprehberger:pipe",description:"Function pipeline composition for Kotlin with named stages and error handling",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/pipe",github:"https://github.com/philiprehberger/kt-pipe",technologies:["Kotlin"],version:"0.1.6"},{name:"com.philiprehberger:rate-limiter",description:"Coroutine-native rate limiting with token bucket, sliding window, and fixed window algorithms",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/rate-limiter",github:"https://github.com/philiprehberger/kt-rate-limiter",technologies:["Kotlin"],version:"0.1.7"},{name:"com.philiprehberger:result",description:"A lightweight, typed Result monad for Kotlin with railway-oriented error handling",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/result",github:"https://github.com/philiprehberger/kt-result",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:retry-kit",description:"Coroutine-native retry with configurable backoff strategies for Kotlin",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/retry-kit",github:"https://github.com/philiprehberger/kt-retry-kit",technologies:["Kotlin"],version:"0.1.6"},{name:"com.philiprehberger:safe-json",description:"Non-throwing JSON parsing with typed errors and path-based navigation",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/safe-json",github:"https://github.com/philiprehberger/kt-safe-json",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:schema-validator",description:"Declarative data validation with composable rules and structured errors",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/schema-validator",github:"https://github.com/philiprehberger/kt-schema-validator",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:semver",description:"Semantic version parsing, comparison, and range matching for Kotlin",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/semver",github:"https://github.com/philiprehberger/kt-semver",technologies:["Kotlin"],version:"0.1.7"},{name:"com.philiprehberger:slug",description:"URL-friendly slug generation from Unicode strings with transliteration",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/slug",github:"https://github.com/philiprehberger/kt-slug",technologies:["Kotlin"],version:"0.2.4"},{name:"com.philiprehberger:state-machine",description:"Type-safe finite state machine with DSL, transition guards, and side effects",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/state-machine",github:"https://github.com/philiprehberger/kt-state-machine",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:string-kit",description:"String manipulation: truncation, case conversion, wrapping, and interpolation",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/string-kit",github:"https://github.com/philiprehberger/kt-string-kit",technologies:["Kotlin"],version:"0.1.4"},{name:"com.philiprehberger:task-queue",description:"In-process async task queue with concurrency control and retry",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/task-queue",github:"https://github.com/philiprehberger/kt-task-queue",technologies:["Kotlin"],version:"0.2.0"},{name:"com.philiprehberger:test-factory",description:"Test data generation with builder DSL, traits, and faker utilities",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/test-factory",github:"https://github.com/philiprehberger/kt-test-factory",technologies:["Kotlin"],version:"0.1.4"},{name:"com.philiprehberger:time-ago",description:"Human-readable relative time formatting: 5 minutes ago, in 3 days, yesterday",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/time-ago",github:"https://github.com/philiprehberger/kt-time-ago",technologies:["Kotlin"],version:"0.1.5"},{name:"com.philiprehberger:webhook-signature",description:"HMAC webhook signature creation and verification with timing-safe comparison",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/webhook-signature",github:"https://github.com/philiprehberger/kt-webhook-signature",technologies:["Kotlin"],version:"0.1.5"},{name:"com.philiprehberger:worker-pool",description:"Coroutine-based worker pool for parallel batch processing with backpressure",registry:"maven",url:"https://central.sonatype.com/artifact/com.philiprehberger/worker-pool",github:"https://github.com/philiprehberger/kt-worker-pool",technologies:["Kotlin"],version:"0.1.4"},{name:"DesignSystem",description:"Token-based design system engine with theme switching, component registry, and JSON export",registry:"spi",url:"https://swiftpackageindex.com/philiprehberger/swift-design-system",github:"https://github.com/philiprehberger/swift-design-system",technologies:["Swift"],version:"0.2.0"},{name:"DevConsole",description:"In-app developer console with logs, network monitoring, feature flags, and environment switching",registry:"spi",url:"https://swiftpackageindex.com/philiprehberger/swift-dev-console",github:"https://github.com/philiprehberger/swift-dev-console",technologies:["Swift"],version:"0.2.0"},{name:"KeychainKit",description:"Modern, type-safe Keychain wrapper with Codable, biometric auth, and async/await",registry:"spi",url:"https://swiftpackageindex.com/philiprehberger/swift-keychain-kit",github:"https://github.com/philiprehberger/swift-keychain-kit",technologies:["Swift"],version:"0.2.0"},{name:"SyncEngine",description:"Offline-first data sync engine with conflict resolution, retry queues, and local caching",registry:"spi",url:"https://swiftpackageindex.com/philiprehberger/swift-sync-engine",github:"https://github.com/philiprehberger/swift-sync-engine",technologies:["Swift"],version:"0.2.0"},{name:"philiprehberger_secure_store",description:"Unified secure storage with built-in encryption and pluggable backends",registry:"pub",url:"https://pub.dev/packages/philiprehberger_secure_store",github:"https://github.com/philiprehberger/dart-secure-store",technologies:["Dart"],version:"0.1.0"}].sort((e,r)=>e.name.localeCompare(r.name))}}]);