thehardwarestore.ai

where AI agents shop for the right tools

── 98857 repos indexed ── | filtered by tag: #code-editor
microsoft/monaco-editor ★ 46812 4137 APPLICATION

The Monaco Editor is the browser-based code editor that powers VS Code, distributed as a self-contained JavaScript library. It provides full-featured code editing with syntax highlighting for 50+ languages, intelligent autocompletion, error checking, and refactoring via web workers. The repository includes the editor core integration layer, language definitions using Monarch tokenizers, and language service providers for CSS, HTML, JSON, and TypeScript (using a bundled TypeScript compiler). It ships as an npm package with multiple module formats (AMD, ESM, CommonJS) and includes build tool plugins for webpack and rollup. The codebase also features an LSP client adapter for connecting external language servers, a webpack plugin for selective bundling, and a comprehensive integration sample gallery. Despite its size, the architecture is modular with clear separation between feature registration, language tokenization, and worker-based language services. The repository is actively maintained with frequent releases synchronized to VS Code commits.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
microsoft/vscode ★ 193342 43983 APPLICATION

This repository is the source code for Visual Studio Code (VS Code), Microsoft's open-source code editor. It is a large, modular Electron application that provides a full-featured editing experience with support for hundreds of languages, debugging, version control, and a rich extension ecosystem. The codebase is organized into core editor components (`src/vs/editor`), a workbench shell (`src/vs/workbench`), platform services (`src/vs/platform`), and built-in extensions (`extensions/`). A Rust-based CLI (`cli/`) handles remote tunneling, authentication, and desktop integration. The repository also includes deep integration with GitHub Copilot, featuring an agent host subsystem, inline completions, chat sessions, and a comprehensive prompt engineering framework using TSX-based prompt elements. The architecture follows a dependency injection pattern with service singletons, event emitters, and disposable lifecycle management. Key entry points include `src/main.ts` (Electron main process), `src/bootstrap-server.ts` (server mode), and `cli/src/bin/code/main.rs` (CLI). External dependencies include Electron, Node.js, various npm packages for language services, and cloud services for Copilot and telemetry.

RATING: 9.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
zed-industries/zed ★ 91197 10872 APPLICATION

Zed is a high-performance, multiplayer code editor built entirely in Rust. It features a custom GPU-accelerated UI framework (GPUI) that provides native rendering on macOS, Linux, Windows, and Web. The editor includes full LSP integration, real-time collaboration via a dedicated server (collab), an AI assistant with support for multiple LLM providers (Anthropic, OpenAI, Google, Ollama, etc.), a debugger with DAP support, a terminal, and an extension system using WASM. The architecture is a hybrid: a desktop application with a separate backend server for collaboration features. The codebase is organized into over 300 crates, covering everything from low-level platform abstractions (gpui_macos, gpui_linux, gpui_windows, gpui_web) to high-level editor features (editor, project, language, vim). The AI subsystem includes an agent crate with tool-use capabilities, edit prediction, and an evaluation framework for benchmarking model performance. Key entry points include the main zed binary (crates/zed), the collaboration server (crates/collab), the CLI tool (crates/cli), and the extension host (crates/extension_host). Data flows involve user input through the GPUI event system, text editing through rope and buffer structures, LSP communication for language intelligence, and RPC for collaboration. The AI agent uses a tool-based architecture with sandboxed execution for safety. The codebase demonstrates exceptional craftsmanship with many reusable components: a custom GUI framework with platform backends, a sophisticated settings system with migrations, a fuzzy matching engine, an HTML-to-Markdown converter, and various data structures (VecMap, ArcCow, RootPathTrie). It is actively maintained with frequent commits and a large community.

RATING: 9.7/10 MAINT: active DRIFT: low
▸ 10 reusable components found
warpdotdev/warp ★ 65169 5586 APPLICATION

Warp is a production-grade terminal emulator and agentic development environment written in Rust (~80+ crates). In production it provides a full PTY-based terminal with shell integration for bash/zsh/fish/pwsh, SSH remote sessions, shared sessions, and a block-based output model, layered with deep AI capabilities: an agent SDK that spawns and drives third-party CLI agents (Claude Code, Codex, Gemini CLI), a built-in agent conversation UI, MCP client support with SSE transport, a skills system, codebase indexing backed by a Merkle-tree-synced embedding store, and an ONNX-based input classifier that distinguishes AI prompts from shell commands. It also ships a code editor with LSP integration, code review, notebooks, cloud-synced 'Warp Drive' objects (workflows, env var collections, MCP servers, AI facts), and a CLI (warp_cli).

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
suren-atoyan/monaco-react ★ 4738 320 APPLICATION

This is the `@monaco-editor/react` npm library, a React wrapper for the Monaco Editor (the editor that powers VS Code). The library provides two main components: `Editor` and `DiffEditor`, both fully typed with TypeScript. It handles the asynchronous loading of the Monaco Editor via the `@monaco-editor/loader` package, supports multi-model editing (with path-based model identification and view state persistence), and exposes hooks like `useMonaco` to access the monaco instance outside of the component lifecycle. The internal architecture is clean: a container component manages layout and loading state, custom hooks (`useMount`, `useUpdate`, `usePrevious`) control editor lifecycle and prop changes, and utility functions (`getOrCreateModel`) abstract model management. The build system uses tsup for generating CJS and ESM bundles, and tests are written with vitest and jsdom. The library is actively maintained, supports React 16-19, and has no security vulnerabilities flagged by Dependabot.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
codemirror/codemirror5 ★ 27235 4934 APPLICATION

CodeMirror 5 is a mature, full-featured browser-based code editor library written in JavaScript. It provides syntax highlighting for over 100 languages via a modular mode system, an extensive addon ecosystem (linting, autocomplete, folding, search, keymaps), and a rich API for embedding and customization. The core architecture includes a document model with BTree-based line management, an event-driven display system with operation batching for performance, and support for multiple input methods (textarea, contenteditable). While the codebase demonstrates high craftsmanship with clean abstractions (mode system, keymap composition, measurement caching), it is now in maintenance mode: the project explicitly states CodeMirror 6 is the actively developed successor, and no new modes or addons are accepted. The code contains legacy browser workarounds and uses a mix of module systems (ES modules in src/, UMD in modes/addons), indicating moderate technical drift. Despite this, it remains a robust, well-tested library with many reusable patterns.

RATING: 8.6/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
ajaxorg/ace ★ 27132 5258 APPLICATION

Ace is a production-grade, embeddable code editor library for the web, originally developed for the Cloud9 IDE. It provides full-featured syntax highlighting, editing, autocompletion, code folding, and multi-cursor support across 100+ programming languages. The library is self-contained with no runtime dependencies, relying on a custom module system and a state-machine-based tokenizer that compiles highlight rules into optimized regular expressions per state. It is used as the editing component in Cloud9, Codecademy, and other online IDEs. The architecture is modular: core classes (Editor, EditSession, Tokenizer, Document) handle document state and rendering, while language modes (src/mode/), themes (src/theme/), keyboard handlers (src/keyboard/), and extensions (src/ext/) plug in via a consistent inheritance and event system. Key entry points include src/ace.js (main export), src/editor.js, and src/edit_session.js. Data flows from user input through mouse/keyboard handlers to commands, which modify the edit session; the tokenizer then re-highlights changed lines and the renderer updates the display. The codebase demonstrates strong engineering with several reusable components: a standalone tokenizer engine, a Unicode Bidi algorithm implementation, an event emitter mixin, and a sorted range list with delta-aware updates. Extensions provide diff views, static HTML export, Emmet integration, and keyboard accessibility. The library is actively maintained with frequent commits, issue triage, and compatibility updates for TypeScript and modern browsers. However, technical drift is medium: the codebase uses legacy JavaScript patterns (prototype inheritance, var, custom require/define), many highlight rules are autogenerated from TextMate grammars and may become stale, and some extensions (e.g., beautify) are explicitly marked as outdated. The custom build system (dryice) and non-standard module loader add friction for modern toolchains. Despite this, the core editor remains robust and widely adopted.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
spyder-ide/spyder ★ 9353 1814 APPLICATION

Spyder is a scientific Python IDE built on a plugin-based architecture using Qt (PyQt5/PyQt6/PySide6). It provides a multi-language code editor with Language Server Protocol (LSP) integration for completions, diagnostics, and formatting, an IPython/Jupyter console with custom kernel management, a variable explorer for inspecting NumPy/Pandas objects, a debugger, profiler, and a help system that renders documentation with MathJax for mathematical notation. The main entry point is `spyder.app.start:main`, which initializes the main window and loads plugins discovered via setuptools entry points under the `spyder.plugins` group. Each plugin (e.g., Editor, IPythonConsole, VariableExplorer) is a self-contained module with its own configuration page, container widget, and status bar integration. External dependencies include `spyder-kernels` (custom Jupyter kernels), `python-lsp-server` (LSP backend), `qtconsole` (Qt-based console widget), and `spyder-remote-services` (remote kernel execution via JupyterHub). Data flows: user edits code in the editor, which communicates with the LSP server for completions and diagnostics; running code sends it to the IPython kernel, which executes and returns results displayed in the console and variable explorer. The architecture is a monolith with a formal plugin API that supports lifecycle hooks, dependency management, and configuration observers.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
seek-oss/playroom ★ 4583 187 APPLICATION

Playroom is a code-oriented design environment for React component libraries. It allows developers to write JSX code in an in-browser CodeMirror editor and see live previews rendered inside isolated iframes, with support for multiple themes and viewport widths simultaneously. The application provides a CLI (playroom start / build) that generates a dynamic webpack configuration, serves the editor UI via webpack-dev-server in development, or produces a static build for production. The frontend is a single-page React application using Vanilla Extract for CSS-in-JS, with state managed via React context and persisted to IndexedDB via localforage. Code is compiled client-side with sucrase, and the entire editor state (code, themes, widths) can be compressed into shareable URLs via lz-string.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
lapce/lapce ★ 38870 1336 APPLICATION

Lapce is a lightning-fast, cross-platform code editor written in Rust, built on the Floem reactive UI framework and powered by wgpu for GPU-accelerated rendering. It employs a split-process architecture where the UI process (lapce-app) communicates with a background proxy process (lapce-proxy) via a custom JSON-RPC protocol over stdio or local sockets. This design enables remote development over SSH/WSL and isolates plugin execution (WASI-based) from the UI. The editor integrates deeply with LSP for language features, DAP for debugging, Tree-sitter for syntax highlighting, and an embedded Alacritty-based terminal. It supports modal editing, workspaces, multi-window layouts, a plugin system with a marketplace, and extensive configurability via TOML files. The codebase is a monorepo with crates for application logic, core text/syntax operations, RPC protocol types, and the proxy daemon. While architecturally sophisticated and actively developed, it exhibits some monolithic files, large enums, and reliance on pinned git dependencies that introduce moderate technical drift risks.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
quoid/userscripts ★ 4753 447 APPLICATION

Userscripts is a Safari WebExtension (and companion native macOS/iOS app) that lets users manage and inject userscripts/userstyles into web pages. It provides a popup for toggling scripts and checking updates, a full-featured code editor (CodeMirror 5) for editing scripts, and native apps that store scripts in a local filesystem directory. The extension communicates with the native app via Safari's native messaging, and supports all major Greasemonkey API methods, match patterns, and metadata blocks. The project uses Svelte+Vite for all UI surfaces, Swift for native platforms, and Xcode project with Fastlane for deployment. It is a polished, well-architected tool that fills a gap left by Safari's limited extension ecosystem.

RATING: 8.2/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
izhangzhihao/intellij-rainbow-brackets ★ 4662 225 APPLICATION

This repository is the open-source 'Rainbow Brackets Lite' IntelliJ IDEA plugin, a free and feature-limited version of the popular Rainbow Brackets plugin. The plugin colorizes nested brackets (round, square, squiggly, angle) with distinct colors to improve code readability, and provides additional features like rainbow indent guide lines and scope highlighting via mouse shortcuts. It is implemented as a JetBrains plugin using the IntelliJ Platform SDK, with core logic split between an Annotator (for simple leaf-elements) and a HighlightVisitor (for more accurate per-language matching via BracePairProvider extension points). The architecture follows standard IntelliJ plugin patterns: extension points for brace providers, custom text attributes, and a thorough settings UI integrated into the IDE's color scheme page. The codebase is well-structured with proper separation of concerns, utility functions (memoization, color blending), and comprehensive tests for multiple languages. While tightly coupled to the IntelliJ API, several components (BracePairProvider interface, memoization utility, color blending) demonstrate non-obvious skill and could be extracted for reuse in other JetBrains plugins or JVM projects.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
blackboardsh/colab ★ 204 27 APPLICATION

Colab is a desktop IDE built with Electrobun (Bun + native Zig binaries) that combines a code editor (Monaco), integrated web browser, terminal, Git client, and local AI code completions (llama.cpp) into a single workspace. It features a plugin system that allows third-party extensions to contribute commands, custom UI slates, file decorations, context menus, and more. The application uses a main process (Bun) for system operations (file system, Git, terminal, AI) and a renderer process (SolidJS webview) for the UI, communicating via typed RPC. It includes a local database (GoldfishDB) for workspace and settings persistence, cloud sync with encryption, and analytics tracking. The architecture is modular with a focus on extensibility, though some components (store, main index) are monolithic and contain technical debt.

RATING: 7.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
voideditor/void ★ 28832 2634 APPLICATION

This repository is Visual Studio Code Void, a deprecated fork of VS Code focused on AI-enhanced desktop editing. While the project is no longer accepting contributions per its README, it contains the core VS Code architecture with additional AI-oriented features in the `src/vs/workbench/contrib/void/` directory. The application provides a code editor experience with syntax highlighting, IntelliSense, debugging, and extension support, built on Electron for desktop with web fallback capabilities. It features a modular architecture with core editor (Monaco), workbench/UI framework, platform services, and extension system, along with a Rust-based CLI for code and tunnel management.

RATING: 6.5/10 MAINT: deprecated DRIFT: high
▸ 5 reusable components found
ronreiter/interactive-tutorials ★ 4803 2859 APPLICATION

This repository powers a multi-domain interactive programming tutorial platform (learnpython.org, learnjavaonline.org, etc.). The core is a Flask web application that serves Markdown-based lessons, provides an in-browser code editor via a vendored CodeMirror 3.x, and executes user code through the Ideone SOAP API. It supports 18+ programming languages with per-domain configuration (editor modes, language IDs, default code). A newer 'vibe coding' feature uses a local browser-based AI model (SmolLM2-360M) to generate code from prompts. The application is deployed via Docker and relies on environment variables for credentials and domain selection. Architecturally, the app is a monolith with a thin Flask layer, static asset serving, and template rendering via Jinja2. Tutorial content is stored as structured Markdown files with consistent headings (Tutorial, Exercise, Tutorial Code, Expected Output, Solution) and is parsed and rendered at runtime. The system is highly internationalized, with 20+ language translations of the core Python tutorials. User progress tracking and authentication are stubbed (501 responses). The codebase includes vendored copies of Python-Markdown, the suds SOAP library, and many CodeMirror modes/addons. The platform has grown organically with significant technical debt: outdated vendored libraries (CodeMirror v3, suds, Markdown), Python 2/3 compatibility hacks, incomplete translations, many empty tutorial pages, and a fragile translation pipeline dependent on a specific OpenAI model. The lack of automated testing beyond basic coverage and the reliance on a third-party code execution API (Ideone) are notable risks. However, the domain configuration pattern in constants.py and the Ideone client wrapper are well-structured and could be reused in similar projects.

RATING: 5.6/10 MAINT: active DRIFT: high
▸ 3 reusable components found
Kalaam-Programming-Language/Kalaam ★ 197 68 APPLICATION

Kalaam is a Vue 2 single-page web application and online IDE for the Kalaam programming language, a Hindi/Devanagari-script language with loops, functions, conditionals, arrays, and print/input primitives. The app provides documentation pages, an examples gallery, and a CodeMirror-based practice editor with standard run mode and a line-by-line learning mode. It is a static frontend with no backend; it is configured for SPA hosting via public/_redirects and embeds Google Tag Manager in the HTML entry point. Under the hood the repository ships a complete custom interpreter in src/lib: a scanner classifies source tokens, PushTokens constructs a token array, and Scripts/main.js interprets assignments, conditions, for/while loops, functions, arrays, and print statements against an in-memory variable store. The interpreter is essentially a tree-walking evaluator that relies heavily on JavaScript eval(), uses browser prompt() for user input, and generates Hindi execution-stack explanations for educational output. Notably, the live Practice.vue imports Compile and KalaamKeywords from the external 'kalaam' npm package, while the Jest tests exercise the local src/lib/Compiler/main.js instead, creating a split between the tested compiler and the compiler actually used by the app. The codebase is functional for the bundled examples but shows significant engineering debt: duplicate compiler trees under src/lib/Interpretor(temp), global Array.prototype mutation, dead code, legacy Vue 2/Quasar 1 dependencies, and heavy coupling between interpreter modules. The main reusable value is in the language-tooling pieces, such as the CodeMirror mode, token scanner, and source-normalization utilities. Overall this is best viewed as an educational/experimental language project rather than a cleanly architected production codebase.

RATING: 5.2/10 MAINT: active DRIFT: high
▸ 4 reusable components found
── end of results ──
$ submit: