This repository provides a comprehensive shell script (`install-php-extensions`) that automates the installation of PHP extensions in official Docker PHP images (both Alpine and Debian variants). The script handles dependency resolution, version pinning, source-based compilation, and cleanup of build artifacts. It supports over 160 extensions, including those bundled with PHP source, PECL packages, and proprietary agents (New Relic, Blackfire, Datadog). The repo also includes a structured compatibility database (`data/supported-extensions`, `data/dependencies.json`) that tracks extension-to-PHP-version mappings, library version pins, and detection mechanisms. CI workflows automatically test extension installation across a large matrix of PHP versions and distros, and a daily update checker monitors new releases and runs tests, notifying maintainers via Telegram if issues arise. The project is a developer utility, not a service or library, and is distributed as a Docker image and standalone script.
This repository is the frontend client suite for daily.dev, a developer-focused content and community platform. It is structured as a monorepo using pnpm workspaces, containing three primary packages: `packages/webapp` (Next.js application), `packages/extension` (browser extension), and `packages/shared` (shared UI components, hooks, and GraphQL logic). The system aggregates developer content, manages user profiles and communities (Squads), handles monetization (Plus subscriptions, Cores), and provides career opportunities. Key entry points include the Next.js pages router in `packages/webapp/pages` and the extension background/content scripts in `packages/extension/src`. Data flows primarily through GraphQL queries to an external `daily-api` service, with client-side state managed via TanStack Query and Jotai. External dependencies include Paddle for payments, GrowthBook for feature flags, and Cloudinary for media. The architecture emphasizes code sharing and consistency across platforms, with `packages/shared` serving as the core library for UI primitives, business logic, and API abstractions. The webapp utilizes Next.js for server-side rendering and static generation, while the extension leverages web extension APIs for browser integration. The codebase demonstrates strong engineering practices with strict TypeScript typing, comprehensive testing (Jest, Playwright), and a robust design system. However, the heavy reliance on feature flags and the use of a non-LTS Node version (v24.18) introduce some technical debt and potential compatibility risks. The platform supports multiple user journeys including content consumption, community engagement, and monetization. It features a sophisticated feed system with infinite scrolling, personalized recommendations, and content preferences. The extension provides companion features like new tab pages and frame embedding, requiring careful synchronization with the web app's authentication and permission models. The codebase is well-structured but complex, with deep nesting of contexts and modals that could impact maintainability if not carefully managed.
Eclipse Open VSX is a full-stack, vendor-neutral open-source registry for VS Code extensions, serving as an alternative to the Visual Studio Marketplace. The system comprises three main components: a Java/Spring Boot server that manages extension publishing, security scanning, rate limiting, download analytics, and trusted publishing via OIDC; a React/TypeScript web UI (MUI, TanStack Query) for browsing, searching, and administering extensions; and a Node.js CLI for publishing, verifying, and managing extensions. The server uses PostgreSQL with Flyway migrations, optional Elasticsearch for search, TimescaleDB for time-series download analytics, and Valkey/Redis for caching and rate limiting. Storage is abstracted over local filesystem, AWS S3, Azure Blob, and Google Cloud Storage. The architecture is a monolith with background job processing via JobRunr, and it exposes both a custom REST API and a VS Code Gallery-compatible API for seamless integration with VS Code and other editors.
This repository is a Visual Studio Code extension that provides a comprehensive file and folder icon theme using the Catppuccin pastel color palette. It offers icons for over 300 file types and numerous folder types, split across four flavor variants (Latte, Frappé, Macchiato, Mocha). The extension is built with TypeScript and modern tooling (tsup, pnpm, eslint), featuring a modular architecture with separate concerns for configuration, icon compilation, theme generation, and build scripts. Users can customize settings such as monochrome mode, specific folder icons, and custom associations via VS Code settings. The codebase is well-structured, actively maintained, and includes CI/CD pipelines, integrity checks, and preview generation scripts.
This repository implements a WakaTime language server extension for the Zed editor. It consists of two Rust crates: a Zed extension (src/lib.rs) that manages downloading and launching the wakatime-ls language server and the wakatime-cli binary, and the language server itself (wakatime-ls/src/main.rs) that translates editor document events (open, change, save) into heartbeats sent to the WakaTime API via the external CLI. The extension uses Zed's extension API for lifecycle management and binary caching, while the language server is built with tower-lsp and tokio, providing robust async handling of LSP notifications. The architecture is a clean plugin-plus-LSP design where the extension is a thin orchestrator and the language server does the actual event processing and API communication. The codebase is well-structured, uses modern Rust patterns, and includes CI/CD configuration for cross-platform releases.
This is a Visual Studio Code extension providing comprehensive language support for Garry's Mod Lua (GLua). It delivers syntax highlighting, autocompletion, hover documentation, signature help, go-to-definition, find references, color picker, type hints, file previews (VTF/PNG), workspace scanning, global variable optimization, and a bytecode heatmap generator. The extension is built as a single Node.js process using the VS Code API, with a custom Lua parser (gluaparse) for AST analysis and a bundled gluac binary for LuaJIT bytecode manipulation. It downloads wiki data from a remote server and caches it locally. The codebase is well-organized into providers and commands, but is tightly coupled to the VS Code extension model and Garry's Mod-specific data sources, limiting direct reuse outside this context. A Python-based generator script for scraping the Facepunch wiki is also included as a separate tool.
The repository serves as the official website and resource hub for the Noi desktop application. It contains the documentation site built with Docusaurus and Tailwind CSS, localization files for the application's UI, a prompt library for AI-assisted workflows, and example configuration files. While the core desktop application source is not present in this repository, the provided resources demonstrate good practices in internationalization, configuration-driven design, and prompt management. The documentation site is a well-crafted web application that effectively communicates the features and usage of the Noi desktop app.
A browser extension (ImprovedTube) that provides 80+ configuration options to customize YouTube's appearance and behavior. It injects CSS and JavaScript into YouTube pages to modify the player, sidebar, comments, thumbnails, themes, and more. Features include ad blocking, forced playback parameters, keyboard shortcuts, a blocklist for channels/videos, smart speed based on heatmap data, and integration with Return YouTube Dislike. The extension uses a message-passing architecture between content scripts and page-world scripts via custom DOM events, and a custom Satus UI framework for the settings panel. It is localized into 40+ languages but has a high number of open issues and dependencies on fragile YouTube DOM structures. The codebase is functionally comprehensive but shows signs of maintenance drift with hardcoded API keys, heavy use of !important CSS, and incomplete locale coverage.
This repository is a VS Code extension that provides a rich, configurable todo list system using a custom plain-text format (.todo, .todos, .task, etc.). It enables users to create, edit, toggle states (box, done, cancelled), archive tasks, track time with a timer, generate project statistics, and scan embedded todos within code files using external search tools (ag, rg). The extension contributes two custom activity bar views (Files and Embedded) and status bar items, all driven by a comprehensive configuration system for symbols, colors, tags, and formatting. The architecture follows a modular design with a clear separation of concerns: document parsing into typed items (Todo, Project, Comment, Tag, etc.), decorator classes for syntax highlighting, utility modules for file operations, time formatting, statistics computation, and embedded code scanning. The item classes form a clean class hierarchy with static `is()` methods for identification and state manipulation methods. The embedded providers abstract over multiple search backends (JavaScript, ag, rg) with a common interface, and the base TreeDataProvider uses an event emitter pattern to notify view updates. The extension is written in TypeScript, bundled with webpack, and relies on several utility libraries (lodash, moment, micromatch, etc.). While the codebase demonstrates solid engineering practices—reusable components, consistent naming, and a config-driven design—it has notable maintenance risks: heavy reliance on complex regexes for parsing, a moderately large dependency list, and no visible test infrastructure (no test files found in the file tree). The changelog mentions regressions and a fundraising prompt, indicating limited maintenance bandwidth. Overall, it is a functional and feature-rich extension that does its job well, but its internal complexity and lack of tests could hinder long-term reliability.
Gitlantis is a VS Code extension that turns the traditional file explorer into an interactive 3D ocean world. Users control a boat to navigate a seascape where directories appear as lighthouses and files as buoys, making code exploration more engaging. The extension communicates via webview with a React Three Fiber interface, offering features like branch switching, file opening, and settings customization. It also supports a standalone browser mode for demo purposes using sample data. Architecturally, the extension consists of a VS Code extension host that handles workspace and Git operations, and a rich webview application built with React 18, Three.js, React Three Fiber/Drei, and Zustand for state management. The 3D scene includes dynamic ocean tiling, boat physics (using React Three Cannon), collision-based node interaction, a compass, minimap, and ambient audio. The UI layer provides splash screens, loading states, settings modals with multiple tabs, and mobile joystick support. The codebase demonstrates modern frontend practices and creative use of 3D in a developer tool. However, it has several maintainability concerns: many @ts-expect-error comments for Three.js types, hardcoded demo data for browser mode, a complex dual-build setup, and no automated tests. Some components, like the settings modal and the dynamic backdrop, are well-abstracted and potentially reusable in other Three.js projects.
This repository is a Visual Studio Code extension for developing, debugging, and simulating Apache Cordova and Ionic mobile applications. It provides a comprehensive debug adapter that supports launching and attaching to Android, iOS, browser, and simulated targets. The extension integrates with the Chrome DevTools Protocol (CDP) via a custom proxy to enable sourcemap rewriting and cross-platform debugging, and it offers IntelliSense for Cordova plugin APIs and Ionic framework components. It also includes commands for building, running, preparing, and cleaning Cordova/Ionic projects, as well as telemetry and localization support across 14 languages. The architecture is modular: the core debug session (`CordovaDebugSession`) delegates to platform-specific implementations (`AndroidPlatform`, `IosPlatform`, `BrowserPlatform`) that inherit from abstract base classes (`AbstractPlatform`, `AbstractMobilePlatform`). A CDP proxy layer (`CordovaCDPProxy`) intercepts and transforms messages between the debugger and the target runtime, with specialized message handlers for Chrome and Safari runtimes. Target management is handled by `MobileTargetManager` subclasses (`AndroidTargetManager`, `IOSTargetManager`) that enumerate devices and emulators. The extension also includes a plugin simulator (`PluginSimulator`) that serves the app via `cordova-simulate` and a Socket.IO connection. Key entry points include the extension activation (`src/extension/cordova-extension.ts`), the debug configuration provider (`src/extension/debugConfigurationProvider.ts`), and the debug session class (`src/debugger/cordovaDebugSession.ts`). External dependencies include the Cordova CLI, Ionic CLI, Android SDK, iOS toolchain (Xcode, ios-webkit-debug-proxy), and npm packages like `cordova-simulate`, `socket.io-client`, and `vscode-js-debug-browsers`. The codebase is written in TypeScript and uses Gulp and Webpack for building. While the extension is functionally complete and well-structured, it shows signs of technical drift: many dependencies are outdated (e.g., `applicationinsights` 0.15.6, `socket.io-client` 2.4.0), the Cordova ecosystem has declined in favor of Capacitor, and the large i18n file set (200+ files) adds maintenance overhead. The code contains some legacy patterns (e.g., `eval` for custom require, extensive use of `any` types) and hardcoded timeouts. Despite this, the core abstractions for platform handling and CDP message processing are well-designed and potentially reusable.