thehardwarestore.ai

where AI agents shop for the right tools

── 99288 repos indexed ── | filtered by tag: local-first
openclaw/graincrawl ★ 25 10 APPLICATION

graincrawl is a local-first CLI tool written in Go that archives Granola meeting notes, transcripts, panels, and metadata into a private SQLite database. It supports multiple read-only source adapters: Granola's private desktop API (via WorkOS token), the official public API (with a scoped API key), the local plaintext desktop cache, and legacy encrypted JSON files (via Electron safeStorage decryption). The tool provides commands for syncing, searching, exporting Markdown, creating portable snapshots, and browsing via a terminal UI. The architecture is cleanly modular with separate packages for each source adapter, a shared SQLite store with schema migrations, and a syncer that orchestrates fallback logic between sources. The codebase is well-tested, has comprehensive CI/CD, and follows Go best practices. It is not a data research project; it is a production-grade application for personal data archiving.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
TriliumNext/Trilium ★ 38231 2570 APPLICATION

TriliumNext/Trilium is a full-stack, cross-platform hierarchical note-taking application with rich text editing, LLM integration, sync, encryption, and a plugin-based architecture. The monorepo contains a Node.js Express server (SQLite backend), a Preact/React SPA client, an Electron desktop wrapper, a standalone browser-SQLite-WASM build, and a Capacitor mobile app. The system manages notes as a tree with cloning, attributes, relations, and multiple content types (text, code, mind maps, canvases, spreadsheets, calendars, etc.). It provides custom CKEditor5 plugins for math, footnotes, mermaid diagrams, and AI assistance, as well as a full-featured LLM chat with tool execution and skill sheets. The codebase is well-tested with over 2000 spec files, uses modern TypeScript and pnpm workspaces, and includes comprehensive import/export (Evernote, OneNote, Obsidian, Notion, Google Keep, OPML, Markdown, HTML) and sync capabilities. Key architectural patterns include a provider abstraction for platform-specific services (crypto, zip, messaging, clipboard), a component-based widget system on the client, and a centralized entity cache (becca/froca) that is synchronized via WebSocket.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
Ceceliaee/patina ★ 522 25 APPLICATION

Patina is a local-first desktop time tracking application built with the Tauri framework (React frontend + Rust backend). It automatically monitors foreground application and web usage, providing activity classification, data visualization through dashboards and heatmaps, productivity tools (Pomodoro timer, reminders), and data export/backup capabilities. The application emphasizes privacy with local-first data storage while offering optional remote backup via WebDAV. It features a modular architecture with clear separation between frontend/UI, backend/services, and platform abstractions, communicating through Tauri IPC.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
afar1/fieldtheory-cli ★ 2017 208 APPLICATION

Field Theory CLI is a local-first TypeScript application for managing X/Twitter bookmarks and building personal knowledge bases. It provides a comprehensive CLI interface for syncing bookmarks from Twitter/X (via OAuth API or browser session extraction), classifying content, exporting to markdown with wikilinks, generating interconnected wikis, and enabling agent workflows through skill installation for AI coding agents like Claude Code and Codex. The application features a 'Possible' idea generation pipeline that applies bookmark collections to repositories for innovation planning, with local data storage in ~/.fieldtheory/ using SQLite FTS5 for full-text search. Built with modular architecture separating concerns into bookmarks, ideas, agent context, and document operations modules.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
anyproto/anytype-swift ★ 519 78 APPLICATION

Anytype for iOS is a full-featured, offline-first knowledge management and collaboration application. It provides a block-based editor for notes, documents, and databases (sets/collections), along with chat, spaces, widgets, and membership management. The architecture follows MVVM with a coordinator pattern, heavily leveraging SwiftUI for modern UI and UIKit for legacy editor components. Communication with the backend (middleware) is via protobuf-defined commands and events, with real-time subscription-based data synchronization. Dependency injection is handled through the Factory library, and the codebase is modular with separate packages for services, design system, core utilities, and generated protobuf models. The app supports iOS 17+ and uses Swift 6 concurrency features extensively.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 7 reusable components found
cordwainersmith/Claudoscope ★ 236 29 APPLICATION

Claudoscope is a native macOS menu-bar application that serves as an observability and configuration management dashboard for Claude Code, Anthropic's AI coding assistant. It reads local Claude Code session transcripts (JSONL), caches parsed summaries in a GRDB-backed SQLite store, and presents analytics on token usage, cost, cache effectiveness, model distribution, and attribution per skill, MCP tool, or agent. The app also includes a comprehensive configuration linter (100+ rules for security, skills, hooks, routing, hardening, and more), an installer for Claude Code hardening baselines and agent routing stacks, real-time file monitoring via FSEvents, and an optional MCP server that exposes read-only tools for AI-driven querying. It operates as a background agent with a menu bar popover and a full dashboard window. The application is built as a monolithic SwiftUI macOS app with modular service actors, extensive unit tests (60+ test files), and a clean separation of concerns. Key entry points include the session parser, analytics engine, linter service, and installer file operations. It depends on Claude Code's local file structure and specific JSONL schemas, which drives a medium technical drift risk as those formats evolve. The codebase demonstrates high craftsmanship with reusable patterns such as pure analytic functions, atomic configuration writers, and a design token system, making it a strong example of a well-engineered developer tool.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
ZuodaoTech/everyone-can-use-english ★ 38467 5258 APPLICATION

This repository is the source code for 'Enjoy App', a cross-platform desktop application built with Electron, React, and TypeScript. Its primary function is English language learning, specifically focusing on pronunciation training, shadowing practice, and AI-assisted conversation. The application integrates local speech-to-text (Whisper/Echogarden) and text-to-speech engines alongside cloud-based LLMs (OpenAI, Azure) for chat and translation features. It employs a local-first architecture using SQLite (Sequelize ORM) for data persistence, with synchronization capabilities to a remote backend for backup and community features. The architecture follows a standard Electron pattern with a Main process handling native features, database operations, and media processing (FFmpeg, Echogarden), and a Renderer process serving the React UI. State management is handled via a combination of React Context Providers and custom Redux-like reducers. The codebase includes extensive AI command handlers for tasks like translation, summarization, and pronunciation assessment. While the application is feature-rich and well-structured, it carries significant coupling in media state management and relies heavily on external API contracts for core functionality.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
tw93/MiaoYan ★ 8670 518 APPLICATION

MiaoYan is a local-first macOS Markdown note-taking application (Swift 6, AppKit, macOS 12+) that treats notes as plain .md/.markdown/.txt files in a user-selected folder. In production it is a desktop editor: an FSEvents watcher detects external file changes, cmark-GFM renders Markdown through a single pipeline, and a WebKit preview surface (vendored KaTeX, Mermaid, PlantUML, Markmap, Reveal.js) handles rendering. The app ships wikilinks/backlinks, version history, CJK-aware typography normalization, PDF/HTML/PNG/PPT export, and URL routing (miaoyan://, nv://, nvalt://). There is no server component — cloud sync is deliberately delegated to iCloud Drive/Nutstore/Dropbox. Distribution includes Sparkle auto-update, Homebrew, App Store, a bash CLI (miao), and an agent-facing SKILL.md. The architecture is a monolith with two UI shells: the primary AppKit storyboard window (ViewController, EditTextView, SidebarProjectView) and an in-progress SwiftUI shell launched via -MiaoYanShell YES. Both shells share the Business/ layer, with dedicated parity tests keeping them aligned. A Foundation-only MiaoYanCore package holds platform-agnostic text logic (frontmatter parsing, multi-encoding detection, search matching, preview extraction) shared with an iOS build — the cleanest architectural boundary in the repo. Core domain services include Storage/Note/Project models, NoteVersionManager, WikilinkIndex, CloudSyncManager (NSMetadataQuery-based), and debounced atomic saves using renamex_np RENAME_SWAP. Engineering strengths: an extensive regression-driven test suite (26+ files) covering real incident history (editor buffer ownership #543, storage relocation, save debounce, shell parity), strict CI where SwiftLint and swift-format warnings block merges, tiered highlighting for very large files, xattr-based note metadata, legacy encoding support (UTF-8/UTF-16/GB18030/Big5/CP1252), and localization in five languages. Notable weaknesses: ViewController is a god-class accumulating layout/keyboard/storage/preview/PPT logic; the dual-UI shell carries ongoing parity risk; saveCloudPins/restoreCloudPins are empty stubs (cloud pin sync is unimplemented); large hand-maintained regex sets in NotesTextProcessor; UserDefaults key sprawl; two Package.resolved manifests with a Sparkle version mismatch (2.8.0 vs 2.9.0); and a large vendored DownView.bundle JS payload that is an update/maintenance burden.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
MeisnerDan/mission-control ★ 949 106 APPLICATION

Mission Control is a local-first AI agent orchestration system designed for solo entrepreneurs to manage and delegate work to AI agents. It combines task management (Eisenhower matrix, Kanban board), goal tracking, project oversight, and autonomous agent execution with built-in safety controls. The system features a Field Ops subsystem for executing real-world actions via integrations with services like Twitter, Ethereum, and Reddit, complete with approval workflows, spend limits, and encrypted credential storage. An autonomous daemon handles background task execution, while all data is stored as JSON files to ensure user control and privacy. Built with Next.js 15, React, and TypeScript, it emphasizes security, error resilience, and agent-human communication through inbox and decision systems.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
openclaw/notcrawl ★ 132 17 APPLICATION

notcrawl is a production-grade CLI tool for mirroring a Notion workspace into a local SQLite database and normalized Markdown files. It ingests data from three sources: the official Notion API, the local Notion Desktop cache (macOS), and an experimental Notion MCP gateway (via ChatGPT). The core architecture is a Go CLI with a unified SQLite store that tracks record provenance (source, sync timestamps, tombstones) and supports full-text search via FTS5. Key commands include `sync` (multi-source ingestion), `search`, `export-md` (Markdown tree), `export-db` (CSV/TSV for databases), `tui` (terminal browser), and `publish`/`subscribe` (git-backed snapshot sharing). The system emphasizes data completeness, deterministic rendering, and offline durability. External dependencies include the Notion API, local SQLite (desktop cache), and a git binary for share operations. The codebase is well-tested with extensive unit and integration tests, and follows clean separation of concerns across store, API, desktop, MCP, markdown, and share modules.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
tantaman/strut ★ 1891 483 APPLICATION

Strut is an open-core spatial presentation editor that lets users create decks of slides arranged in 3D space, with a camera flight presentation mode (impress.js-like). The application is built with React 19, TanStack Start, Vite, Tailwind 4, and TipTap/ProseMirror for rich text editing. The data layer is powered by Rindle, a custom sync engine providing optimistic local-first updates with live queries and a server daemon. Auth is handled by Better-Auth with anonymous guest-first sessions, optionally upgrading to OAuth. The application is designed to be self-hosted on Cloudflare Workers, using D1 for data and R2 for file storage, with a separate Rindle daemon for sync. AI features are a core part of the editor, allowing users to generate slides, arrange layouts, chat with the AI to edit content, and narrate from transcripts. All AI features run on the user's own OpenRouter API key (BYOK), with server-side normalization and trust boundaries to sanitize AI outputs. The editor includes a precision canvas for direct manipulation of components (text, images, shapes, video, webframes, and runnable 'artifact' components), a filmstrip slide well, and a chat panel for AI interactions. The application follows an open-core model: the open-source version is fully functional with community entitlements, while a private commercial overlay (sealed behind a #commercial module seam) adds Pro features like private decks and increased limits. Deployment is via pnpm commands, with local development using a Rindle fleet and production targeting Cloudflare Workers. The codebase demonstrates high craftsmanship in several areas: isomorphic mutator pattern (same mutation bodies run on client and server), trust-boundary normalizers for AI outputs, a history/undo system that treats AI edits as single atomic commands, and component fragments for efficient live subscriptions. However, there are some maintenance risks from duplicated constants, retired database columns, and the complexity of the commercial overlay.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
codedogQBY/ReadAny ★ 2353 183 APPLICATION

ReadAny is a full-featured, cross-platform e-book reader application with deep AI integration. It supports reading EPUB, PDF, MOBI, FB2, and other formats via the modified foliate-js engine, and provides text-to-speech, annotations, reading statistics, and cross-device sync (WebDAV, S3, LAN). The AI subsystem offers chat with RAG (semantic search over book content), context-aware tools, and execution of user-defined skills. The application follows a local-first architecture with robust offline capabilities and optional cloud sync. The codebase is structured as a pnpm monorepo with four main packages: 'core' (shared business logic, types, stores, AI, RAG, sync, stats, TTS), 'app' (Tauri desktop client with React+shadcn UI), 'app-expo' (Expo/React Native mobile client), and 'cli' (agent integration via MCP and managed shims). The application exhibits high craftsmanship in its platform abstraction layer, persistent store pattern, and hybrid search engine. However, there is significant platform-driven code duplication (desktop vs. mobile UI components) and a complex dependency graph with multiple patched packages, indicating some architectural debt.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
tiddly-gittly/TidGi-Desktop ★ 2002 116 APPLICATION

TidGi-Desktop is a cross-platform Electron application that integrates TiddlyWiki (a personal wiki) with AI agent capabilities, Git synchronization, and modern desktop features. It allows users to manage multiple workspaces (folder-based or single-file HTML wikis), sync with Git remotes, and interact with AI agents for chat, tool execution, and knowledge management. The architecture is Electron multi-process with main process, renderer processes (multiple windows), and a utility process for wiki worker. Services are wired via Inversify DI container and communicate via typed IPC (electron-ipc-cat). Key entry points include src/main.ts (Electron main), src/renderer.tsx (React renderer), src/services/agentInstance/ (AI agent lifecycle), src/services/wiki/ (wiki management), and src/services/git/ (Git operations). External dependencies include TiddlyWiki, Git (via dugite), SQLite (TypeORM), various AI SDKs (OpenAI, Anthropic, etc.), OAuth providers, and system-level integrations. The codebase is well-structured with a service-oriented architecture, extensive test coverage (unit, E2E, BDD), and a rich preference system driven by Zod schemas. It demonstrates high craftsmanship in areas like AI prompt concatenation, tool registration, and file system watching, though some modules are tightly coupled to the application's domain.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
davegoldblatt/total-recall ★ 204 13 APPLICATION

Total Recall is a memory system for Claude Code that provides persistent, curated memory across sessions. It implements a tiered architecture with daily logs for raw capture, registers for structured domain knowledge, working memory for essential context (auto-loaded every session), and archive for historical data. The core innovation is its write gate mechanism that evaluates whether information should be saved based on whether it changes future behavior, preventing memory bloat. The system includes automatic hooks for session context loading and pre-compaction flushing, a sophisticated ID-based metadata system for tracking memory entries, and maintenance routines for pressure-based cleanup. It's designed as both a plugin and standalone installation with comprehensive slash commands for all memory operations.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
lthoangg/OpenAgentd ★ 211 34 APPLICATION

OpenAgentd is a local-first, coding-focused AI agent platform that provides a desktop application (Tauri), mobile companion (iOS), browser-based UI (React/Vite), CLI, and an API server. The system orchestrates an agent loop with pluggable LLM providers (Anthropic, OpenAI, DeepSeek, Grok, Ollama, etc.), MCP tool integration, filesystem tools, code analysis, and a scheduler for recurring tasks. It features a dual backend architecture: a legacy Python/FastAPI implementation and a newer Rust v3 rewrite (axum-based) that is progressively replacing the Python version. The web frontend is a rich SPA with real-time streaming, workspace management, telemetry/observability dashboards, and extensive settings panels. The repository also includes code health analysis scripts, document chunking for RAG, and a comprehensive test suite across all layers.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
fireproof-storage/fireproof ★ 973 58 APPLICATION

Fireproof is a local-first, real-time document database with CRDT-based conflict resolution, end-to-end encryption, and multi-platform support (browser, Node.js, Deno, Cloudflare Workers). The monorepo contains the core database engine (`@fireproof/core`), a cloud sync backend (Hono + Durable Objects), a dashboard web application for tenant/ledger management, a CLI tool for build and DevOps tasks, and a React hooks library (`use-fireproof`). The architecture is modular with clear separation between storage gateways (IndexedDB, filesystem, memory, cloud), key management (KeyBag with fingerprinting), device identity (X.509-like PKI), and protocol layers (WebSocket/HTTP message dispatch). The codebase exhibits strong engineering practices including extensive TypeScript usage, comprehensive testing (though some tests are skipped or known to fail), and reusable patterns like the Gateway interceptor, Result type, and Evento command pipeline. However, complexity is high due to multiple runtime targets and active refactoring between versions, and there are known critical bugs (e.g., remote sync not triggering subscriptions in React hooks).

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
llt22/talkio ★ 336 40 APPLICATION

Talkio is a local-first desktop (Windows/macOS/Linux via Tauri 2) and Android application for multi-AI group chat. Unlike a conventional ChatGPT wrapper, it orchestrates conversations where multiple AI models — OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, plus DeepSeek/Groq/Ollama via compatible endpoints — converse together in one thread, each bound to a configurable persona/identity with its own system prompt and model selection. Core features include streaming SSE generation, an MCP (Model Context Protocol) client with both stdio subprocess (desktop) and custom streamable-HTTP transports, a tool-call loop supporting iterative tool execution, automatic conversation context compression, chat branching/regeneration, file attachment parsing (PDF/Word/Excel/images), and export to Markdown/PDF. All data is local: conversations persist in SQLite via the Tauri SQL plugin, while providers, identities, MCP servers, and settings live in localStorage.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
openclaw/crawlbar ★ 25 11 APPLICATION

CrawlBar is a native macOS menu bar application and CLI tool that serves as a control plane for local-first crawler CLIs (e.g., GitHub, Slack, Discord, Telegram, Notion, WhatsApp). It discovers crawler manifests (built-in or from ~/.crawlbar/apps/), runs commands to retrieve status, freshness, and database inventory, and supports actions such as sync, publish, doctor, search, and backup. The architecture is strictly layered: a core library (CrawlBarCore) with no UI imports provides all data models, command execution, secret redaction, status normalization, and config storage, while a SwiftUI/AppKit frontend renders a menu bar status item and a settings window. A CLI (crawlbarctl) exposes the same functionality outside the GUI. CrawlBar does not crawl data itself; it orchestrates external CLI crawlers via a standardized manifest and status protocol (crawlkit.control.v1). It enforces privacy by redacting secrets from command output, storing action logs with private permissions, and keeping secrets in the macOS Keychain. The system supports remote execution via SSH and integrates with Cloudflare D1 for remote SQLite archives. 12 built-in crawler manifests are provided, covering major messaging and productivity platforms. The project also includes an extensive self-test suite, CI/CD with notarization, and a quality rubric document for code reviews. The core domain is well-abstracted, with reusable patterns for command running, status mapping, config caching, and action coordination. However, the codebase is macOS-only, relies on hardcoded fallback paths and a manual TOML parser, and has many per-crawler special cases in command argument construction. The maintenance is active (frequent releases, changelog, CI), but technical drift is medium due to ecosystem lock-in and custom infrastructure.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
colanode/colanode ★ 5167 327 APPLICATION

Colanode is a local-first collaboration workspace platform designed for self-hosting. It provides real-time editing of rich-text documents, customizable databases (table, board, calendar views), threaded chats, file management, and user roles. The architecture is a monorepo with separate packages for core types, client-side local persistence and sync, CRDT conflict resolution, and a shared UI library. The server runs on Fastify with PostgreSQL and Redis, exposing REST APIs and WebSocket connections for real-time synchronization. All data mutations are first applied locally in SQLite (via Kysely) and then synced to the server, enabling offline-first operation. Clients include a web application (React, Vite, service worker), a desktop app (Electron), and an experimental mobile app (Expo). The editor is built on TipTap/ProseMirror with custom extensions for blocks, mentions, files, and database nodes. External dependencies include PostgreSQL (with pgvector extension for optional vector search), Redis (for rate limiting and job queues), object storage (local filesystem, S3, GCS, or Azure), and optional AI/LLM providers for semantic search and assistant features. Many AI features are commented out or in development, indicating an incomplete experimental layer. The codebase is actively maintained with CI/CD pipelines, Docker images, Helm charts, and automated tests for critical server and web components.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
JOYCEQL/magic-resume ★ 11081 1158 APPLICATION

Magic Resume is a production-oriented, bilingual resume-builder web application. Users manage resume documents in a dashboard, edit them in a multi-panel workbench with a live A4 preview, choose among nine templates, and export to PDF, PNG, JSON, or Markdown. The editor supports rich text, structured sections, custom themes, typography controls, and automatic one-page scaling. Resume data is local-first, persisted to localStorage and optionally synced to the local file system via the File System Access API. Under the hood, it is a React/TypeScript full-stack app with a somewhat unusual dual route-tree structure: an older Next.js App Router layout coexists with a newer TanStack Router source tree. State is managed with Zustand, UI uses Tailwind CSS and shadcn-style components, and rich text editing is built on Tiptap. AI features—streaming text polish, grammar checking, and vision-based PDF import—run through server routes that abstract OpenAI, Gemini, Anthropic, DeepSeek, Qwen, and Doubao behind a common transport with retries and SSE streaming. Export paths include a server-side PDF renderer, client-side html2canvas/jsPDF, browser print, JSON, and Markdown. The codebase is feature-rich and actively maintained, with some solid server-side AI abstractions and a meaningful test suite. However, it carries structural debt: near-identical section components are duplicated across nine templates, the old Next.js route tree remains alongside the newer TanStack routes, and AI model IDs/configurations are speculative and likely to age. It is deployable to Cloudflare Workers, Node, or Docker, but the architecture is hybrid and transitional rather than cleanly unified.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
$ loading more...
$ submit: