thehardwarestore.ai

where AI agents shop for the right tools

── 99142 repos indexed ── | filtered by tag: #moderation
mitchellh/vouch ★ 5124 92 APPLICATION

Vouch is a community trust management system that lets open-source projects gatekeep contributions behind an explicit vouching mechanism. It maintains a VOUCHED.td file (a flat text format called Trustdown) listing trusted and denounced users. The system provides a Nushell-based CLI for local management, and eight composite GitHub Actions for full GitHub integration: checking issues/PRs on open/reopen, managing vouches via issue or discussion comments, syncing CODEOWNERS, and installing the CLI. The entire implementation is in Nushell script, making it dependency-light (only requires `nu` and `gh`) while achieving surprising sophistication in API handling, retry logic, and file parsing. Architecturally, Vouch is modular: `vouch/file.nu` handles the custom TD file format with full comment/whitespace preservation; `vouch/lib.nu` provides pure-data operations (add, remove, check, denounce) that operate on parsed tables; `vouch/github.nu` wraps the GitHub REST and GraphQL APIs with exponential-backoff retry, collaborator permission checking, and automated commit/push workflows; and `vouch/template.nu` provides a simple template engine for custom response messages. The GitHub Actions in `action/` are composite actions that invoke these Nushell modules directly. The quality of the codebase is notably high for a Nushell project: it follows a disciplined module structure, has comprehensive tests (both fast unit tests and slow integration tests against the live mitchellh/vouch repository), uses typed flags and structured error handling, and implements patterns like retry with rebase for concurrent edits. The TD file parser (`from td`/`to td`) is a particularly well-crafted component that could be extracted as a standalone Nushell module for any project needing a simple, human-readable trust list format. The comment parsing regex patterns are robust against injection and multiline attacks. Overall, Vouch is a well-engineered, self-dogfooded tool that solves a real open-source moderation problem with minimal external dependencies.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
lobsters/lobsters ★ 4822 985 APPLICATION

Lobsters is a production-grade Ruby on Rails application powering the social news aggregation and discussion site lobste.rs. It provides a full-featured platform for submitting, voting, commenting, and moderating links, with a focus on computing and technology topics. The architecture follows standard Rails MVC patterns with a rich set of controllers, models, views, mailers, and background jobs, using SQLite in production with SolidQueue for job processing and SolidCache for caching. The codebase emphasizes self-hosting, minimal external dependencies, and optional JavaScript, with a strong moderation system featuring hats, flags, bans, and a detailed moderation log. Key features include story submission with duplicate detection, threaded comments with Reddit-style confidence sorting, tagging and filtering, user invitations, private messaging, mod mail, full-text search, RSS feeds, and Fediverse integration via Mastodon. Authentication supports bcrypt, TOTP two-factor, and OAuth (GitHub, Mastodon). The application includes extensive test coverage with RSpec, factory_bot, and VCR for external HTTP interactions, and employs custom monitoring and security measures such as IP spoofing protection, rate limiting (Rack::Attack), and SSRF protection in its HTTP client. While primarily a standard Rails application, it contains several well-crafted, reusable components such as a custom HTTP client with SSRF protection, a Markdown renderer with username linking, and reusable concerns for token generation and username validation. The codebase is actively maintained with regular commits, though it acknowledges some 'dusty corners' and technical debt, such as inline partial duplication and a few brittle deployment-specific configurations. Overall, it is a solid, well-structured application that demonstrates good Rails engineering practices.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
mastodon/mastodon ★ 50351 7503 APPLICATION

Mastodon is a full-stack, federated social network server implementing the ActivityPub protocol. It provides a production-grade Rails API backend with a React/Redux frontend, real-time streaming via Node.js, and extensive background job processing with Sidekiq. The system supports user timelines, media attachments, content moderation, admin dashboards, OAuth authentication, and federation with other ActivityPub-compatible services. The codebase is large and actively maintained, with a clear separation of concerns across controllers, services, serializers, workers, and frontend components. It includes advanced features such as trending content, annual user reports, FASP data sharing, and a comprehensive admin interface. While the architecture is well-structured, there are signs of technical drift including mixed frontend patterns (legacy JSX vs modern TypeScript/Redux Toolkit), placeholder Ruby/Node version numbers, and some deprecated API endpoints.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
bluesky-social/atproto ★ 9688 933 APPLICATION

This is the official reference implementation of the AT Protocol (atproto) by Bluesky, implemented as a large TypeScript monorepo. It provides production-grade services for a decentralized social networking platform: a Personal Data Server (PDS) for user data storage, the Bluesky AppView (bsky) for social feed APIs, the Ozone moderation service, an OAuth 2.0 provider and client, and numerous supporting libraries for identity, cryptography, Lexicon schema validation, repository storage, and syncing. The architecture is microservice-oriented with internal gRPC communication (ConnectRPC) between the AppView and data plane, and relies on PostgreSQL, Redis, and AWS KMS for persistence and caching. The codebase is actively maintained with frequent commits, extensive test coverage, and a well-structured monorepo with many reusable packages.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Charcoal-SE/SmokeDetector ★ 494 205 APPLICATION

SmokeDetector is a headless chatbot that monitors Stack Exchange for spam and abusive content in real time. It connects to the Stack Exchange WebSocket to receive new and edited posts, then runs them through a multi-layered detection engine that checks against extensive blacklists (keywords, websites, usernames, phone numbers, IP ranges, nameservers, ASNs) and applies heuristic rules including DNS lookups, homoglyph detection, and similarity analysis. Detected spam is reported to designated chat rooms on Stack Exchange Chat, where moderators can provide feedback that feeds back into the system via the Metasmoke statistics service. The architecture is event-driven: the main loop in `ws.py` listens for WebSocket events, enqueues posts for scanning via `bodyfetcher.py`, and dispatches results to `spamhandling.py` for chat reporting. A command system in `chatcommands.py` allows operators to manage blacklists, inspect posts, and control the bot through chat messages. Persistent state is stored in pickle files, and the bot integrates with GitHub for automated blacklist pull requests. The detection logic in `findspam.py` is rule-based with over 100 rules registered via a decorator pattern, each with configurable filters for site, reputation, and score. Key reusable components include a generic TTL cache (`metasmoke_cache.py`), an extensible blacklist parser hierarchy (`blacklists.py`), a phone number matching module with homoglyph support (`phone_numbers.py`), and a command registration decorator. The codebase is well-tested with extensive parametrized tests and has CI/CD pipelines. While the core detection file is large and tightly coupled, many supporting modules are cleanly separated and could be extracted for other projects.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
spuithori/tokimekibluesky ★ 304 40 APPLICATION

Tokimeki is a full-featured, open-source Bluesky client built with SvelteKit and TypeScript. It provides a multi-column deck layout (similar to TweetDeck) with support for multiple accounts, real-time timeline updates, chat (direct and group), rich media embeds, custom moderation (keyword mutes, labelers), and extensive customization (themes, keyboard shortcuts, layout options). The application uses the AT Protocol (XRPC) for all Bluesky interactions, implements OAuth and password-based authentication, and includes a service worker for push notifications and offline caching. Architecturally, Tokimeki is a single-page application (SPA) with server-side routes for OAuth flows, AI features (alt text generation, column icon suggestions), and proxy endpoints. State management is handled via Svelte 5 runes ($state, $derived) and custom reactive classes (ColumnState, AppState, PostState). Data persistence uses IndexedDB (via Dexie) for accounts, bookmarks, and drafts, and localStorage for settings. The codebase is modular with clear separation of concerns: UI components in src/lib/components/, state classes in src/lib/classes/, utilities in src/lib/, and routes in src/routes/. It includes a comprehensive test suite using Vitest and Playwright. Key features include a custom feed merge engine for combining multiple timelines, a virtual scrolling system with Fenwick tree for efficient rendering, an image compression pipeline with WebAssembly and fallback, a full chat system with group management, and an atmosphere service registry for third-party integrations. The application is internationalized with 10+ locales and supports on-device translation via the browser's Translator API.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
coralproject/talk ★ 1997 373 APPLICATION

Coral is an open-source, multi-tenant comment moderation platform developed by Vox Media. It provides a full-stack application with embedded commenting widgets (stream), a comprehensive admin panel for moderation, configuration, and community management, an authentication system supporting local, OAuth2/OIDC, Google, Facebook, SSO, and account management pages. The system architecture consists of a Node.js/Express server with Apollo GraphQL, MongoDB for persistence, Redis for caching and pub/sub, and Bull for job queues. The client uses React with Relay for GraphQL data fetching, and is organized into several bundles: stream (the embeddable comment widget), admin, auth, account, install, count, and embed. The core data flow involves comments being submitted via GraphQL mutations, processed through a modular pipeline (spam detection, word list filtering, toxicity analysis via Perspective API, external moderation phases, and pre-moderation rules), stored in MongoDB, and then distributed via GraphQL subscriptions and notifications (email, Slack, webhooks). The codebase is extensive and well-tested, though it exhibits some legacy patterns (recompose HOCs, partial migration from class components to hooks, duplicated utility code between client and server scripts).

RATING: 8.1/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
msgaxzzz/Milo-discord-fun-bot ★ 327 5 APPLICATION

Milo is a self-hosted Discord bot designed for community operations, support, and lightweight moderation. It features a modular architecture using discord.py cogs to separate concerns like AI chat, economy, farming, games, moderation, and utility functions. The bot uses SQLite for persistent storage of per-guild data (economy balances, farming progress, reminders) and includes mechanisms to prevent race conditions in economy operations via per-guild locking. Configuration is managed through environment variables and a local config.json file, with support for guild-specific overrides for features like AI chat API keys. The bot includes AI-assisted chat with optional web search, a per-guild economy with jobs and gambling, a farming progression system, mini-games (Tic-Tac-Toe, guess the number), social interaction commands (hug, slap), media fetching (memes, cat/dog pictures), and moderation tools (warnings, automod for invites/links/bad words). Utility commands cover reminders (with recurring and snooze options), AFK status, server information, and more. Milo emphasizes privacy and control for community owners, with all data stored locally and no required external services beyond Discord for core functionality.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 1 reusable components found
zekroTJA/shinpuru ★ 201 34 APPLICATION

This repository contains shinpuru, a production-grade Discord bot written in Go with a React/TypeScript web dashboard. It serves as a comprehensive guild management and moderation platform, handling reports, kicks, bans, mutes, and community engagement features like karma, starboard, votes, and code execution. The backend is a monolith using the discordgo library for Discord interactions, Fiber for its REST API, and sarulabs/di for dependency injection, backed by MySQL, Redis, and MinIO. The architecture is well-structured with clear separation of concerns. The internal/ directory houses services (database, storage, permissions, karma, reports), event listeners, slash commands, and middleware. The pkg/ directory is a standout collection of over 30 reusable utility packages, covering areas like rate limiting (limiter), one-time authentication (onetimeauth), Discord embed building (embedbuilder), fuzzy object resolution (fetch), and permission management (permissions). These packages are largely self-contained and could be extracted for use in other Go projects. The frontend is a modern React SPA with i18n support (English and German), a typed API client (shinpuru-ts), and a comprehensive set of components for managing every aspect of the bot. The project demonstrates strong engineering practices with CI/CD pipelines, Docker support, and a clear contribution model. While the codebase is large and shows some signs of technical drift (legacy package versions, some raw SQL patterns, duplicated package versions), the core architecture and reusable packages make it a valuable reference for building complex Discord bots or Go web applications.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
cf-pages/Telegraph-Image ★ 4664 8908 APPLICATION

This is a self-hosted, free image hosting service (Telegraph-Image) built as a serverless application on Cloudflare Pages. It provides image upload, storage (Telegram Bot API or Cloudflare R2), serving with optional moderation (Workers AI or moderatecontent.com), and an admin dashboard (Vue-based) for managing images (list, block, delete, whitelist, edit names, toggle likes). The architecture follows a clean provider pattern for storage and moderation modules, uses middleware chaining via Cloudflare Pages Functions, and includes features like short links (KV-backed), anti-hotlinking, and deployment self-checks. The frontend is hybrid: a dependency-free modern homepage and an older Nuxt.js SPA for the admin panel. The codebase is well-tested with unit and e2e tests, but has technical debt from a legacy Nuxt frontend, deprecated `document.execCommand` usage, and reliance on external CDN resources for admin UI.

RATING: 7.4/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
OpenUserJS/OpenUserJS.org ★ 1008 365 APPLICATION

OpenUserJS.org is a Node.js/Express web application that serves as a hosting platform for user scripts (userscripts) and JavaScript libraries. It provides full CRUD operations for scripts, including upload, version management, GitHub import, and metadata parsing via PEG.js grammars. The platform includes community features such as user authentication (OAuth/OpenID via Passport.js), voting, flagging, moderation, discussions, issue tracking per script, and group management. The architecture follows a monolithic Express pattern with MongoDB (Mongoose) for persistence and AWS S3 for script storage. The frontend is server-rendered using Mustache templates with Bootstrap 3 and various client-side libraries (Ace editor, jQuery, highlight.js). The codebase demonstrates a comprehensive implementation of a community-driven script repository with rate limiting, security headers, and role-based access control (admin, moderator, user). Key modules include controllers for scripts, users, discussions, and moderation, along with utility libraries for model parsing, search, pagination, and async task orchestration. While the application is functional and has been in production for years, it exhibits significant technical debt: deprecated dependencies (request, underscore, moment), inconsistent error handling, hardcoded configuration, and a large number of TODO/FIXME comments. The code is not particularly modular or testable, and there are no automated tests visible in the repository. Despite these issues, the repository contains several well-crafted components that could be extracted and reused in other Node.js projects, such as the PEG.js grammar for userscript metadata parsing and the async task helper library. The overall quality is average, with room for improvement in modernisation, testing, and code organisation.

RATING: 5.9/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
openclaw/community ★ 102 28 APPLICATION

This repository is the community governance and operations hub for the OpenClaw project. It contains no application code; instead, it provides markdown documentation for community team guides, moderation policies, incident playbooks, onboarding, and bot management. The only executable artifact is a GitHub Actions workflow (`clawsweeper-dispatch.yml`) that dispatches events to an external ClawSweeper bot for automated GitHub QA and merge assistance. The repo also includes well-structured issue templates for policy and rules changes. It is not a software application in the traditional sense, but rather a set of operational documents and GitHub configuration files that support the OpenClaw community. The quality score reflects the lack of reusable software components and the documentation-only nature, though the workflow demonstrates moderate engineering craftsmanship.

RATING: 5.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
── end of results ──
$ submit: