{
    "registry": "TEDI Extensions",
    "version": 1,
    "updated_at": "2026-11-14T16:17:01Z",
    "source": "https://tedi.ilhamriski.com/extensions/",
    "submit": "https://tedi.ilhamriski.com/extensions/submit/",
    "counts": {
        "official": 11,
        "unofficial": 1,
        "total": 12,
        "tiers": {
            "user_input": 1,
            "verified": 0,
            "optimized": 0
        }
    },
    "official": [
        {
            "id": "ai-usage",
            "name": "TEDI.ai-usage",
            "version": "0.2.0",
            "publisher": "IlhamriSKY",
            "description": "Shows Claude Code and Codex (ChatGPT) usage in the status bar as a progress bar with a detail tooltip: the 5-hour rolling window and the weekly limit for each, a reset countdown, and a year of your daily activity drawn as a contribution grid. Click a meter to refresh it now. Each meter can be hidden from Settings. Reads local CLI credentials/sessions/history and checks each provider's current usage endpoint.",
            "repository": "https://github.com/IlhamriSKY/TEDI.ai-usage",
            "icon": "https://tedi.ilhamriski.com/assets/extensions/ai-usage.png",
            "license": "Apache-2.0"
        },
        {
            "id": "api-client",
            "name": "TEDI.api-client",
            "version": "0.4.11",
            "publisher": "IlhamriSKY",
            "description": "Postman-style API workbench: collections, environments and variables, request builder with auth (Bearer / Basic / API key / OAuth 2.0), path and query parameters, every body mode, a Code tab that edits the whole request as a runnable .http document, response viewer with a JSON path filter, pre-request and test scripts, a collection runner, Markdown and OpenAPI docs, and Postman / OpenAPI / cURL import-export. Toggle with Ctrl+Alt+A.",
            "repository": "https://github.com/IlhamriSKY/TEDI.api-client",
            "icon": "https://tedi.ilhamriski.com/assets/extensions/api-client.png",
            "license": "Apache-2.0"
        },
        {
            "id": "beautify",
            "name": "TEDI.beautify",
            "version": "0.3.0",
            "publisher": "IlhamriSKY",
            "description": "VSCode-style beautify for the active editor buffer. Formats JSON/JSONC, JS/TS/JSX/TSX, HTML, Vue, Svelte, Astro, Jinja, CSS/SCSS/LESS/Sass, Markdown, XML/SVG, YAML, TOML and SQL via a native sidecar, including the script, style and fenced-code blocks embedded inside them. Click the wand icon next to the markdown-preview button or press Ctrl+Alt+F.",
            "repository": "https://github.com/IlhamriSKY/TEDI.beautify",
            "icon": "https://tedi.ilhamriski.com/assets/extensions/beautify.png",
            "license": "Apache-2.0"
        },
        {
            "id": "dev-environment",
            "name": "TEDI.dev-environment",
            "version": "0.1.44",
            "publisher": "IlhamriSKY",
            "description": "A complete local development environment managed from inside TEDI, on Windows, macOS and Linux. Downloads and manages its own PHP, Node.js, MySQL, MariaDB, PostgreSQL, Redis, Mailpit, Nginx, Apache and Composer, none of it shared with anything already on the machine. PHP and Node.js install side by side at any number of versions, and a project pins its own without touching the global default, so a terminal opened in that project resolves the runtime the project asked for. Virtual hosts are generated per project with a configurable suffix, HTTPS is issued from a local CA that is trusted once, hosts entries are written for you under a single elevation prompt, and ports are allocated around whatever is already listening. Scheduled jobs run on real cron expressions and resolve each job's runtime from the folder it runs in. Nothing is hardcoded: every version list, download URL and path is metadata resolved at runtime.",
            "repository": "https://github.com/IlhamriSKY/TEDI.dev-environment",
            "icon": "https://tedi.ilhamriski.com/assets/extensions/dev-environment.png",
            "license": "Apache-2.0"
        },
        {
            "id": "discord-rich-presence",
            "name": "TEDI.discord-rich-presence",
            "version": "1.6.0",
            "publisher": "IlhamriSKY",
            "description": "Shares your TEDI activity as a Discord status: active workspace, file, open terminals across all workspaces, and elapsed time. Requires the Discord desktop app to be running.",
            "repository": "https://github.com/IlhamriSKY/TEDI.discord-rich-presence",
            "icon": "https://tedi.ilhamriski.com/assets/extensions/discord-rich-presence.png",
            "license": "Apache-2.0"
        },
        {
            "id": "process-monitor",
            "name": "TEDI.process-monitor",
            "version": "0.4.0",
            "publisher": "IlhamriSKY",
            "description": "A task manager scoped to TEDI, drawn as a tree with connector lines: TEDI itself, every WebView2 process it renders in (renderer, GPU, utility) and each extension sidecar it runs, then the PTY daemon, the terminals you opened and the AI CLIs running in them (Claude Code, Codex, Gemini, opencode and friends). Nothing is hidden, only summed - the conhosts and everything a shell or an agent went on to start are added to the row that owns them, so the column still adds up to the entire tree. Memory is the private working set, the same number Task Manager shows, so the two agree instead of differing by the shared Chromium pages seven WebView2 processes hold in common. Because a total that size is mostly what you started rather than what TEDI costs, the app's own share - the window, its WebView2 processes and the PTY daemon - is captioned under the memory trend in both places it is drawn - the pane's chart and the status-bar hover - and a row's tooltip says what the process it names weighs on its own: a shell reading 1.9G is a 36M shell holding an agent. The status bar carries the tree total and a live CPU reading; clicking it opens the rows. Reads the OS process table once per poll through TEDI itself, so nothing is spawned to do it; on a TEDI older than 0.4.61 it falls back to the shell sampler it used to run. Nothing is written or sent anywhere, and the pane never kills: the one way to end a process is an AI agent's process_monitor kill call, which names a pid, needs confirm: true and refuses TEDI's own processes.",
            "repository": "https://github.com/IlhamriSKY/TEDI.process-monitor",
            "icon": "https://tedi.ilhamriski.com/assets/extensions/process-monitor.png",
            "license": "Apache-2.0"
        },
        {
            "id": "remote-access",
            "name": "TEDI.remote-access",
            "version": "0.13.0",
            "publisher": "IlhamriSKY",
            "description": "Mirror your open TEDI terminals to a browser anywhere, via your self-hosted relay.",
            "repository": "https://github.com/IlhamriSKY/TEDI.remote-access",
            "icon": "https://tedi.ilhamriski.com/assets/extensions/remote-access.png",
            "license": "Apache-2.0"
        },
        {
            "id": "rtk-bridge",
            "name": "TEDI.rtk-bridge",
            "version": "0.4.4",
            "publisher": "IlhamriSKY",
            "description": "Routes the AI agent's git, npm, docker and other tool commands through RTK (Rust Token Killer) for 60-90% token savings, and tells the agent so it never has to go looking. Configurable per project via .tedi/rtk.json. RTK must be installed on PATH separately.",
            "repository": "https://github.com/IlhamriSKY/TEDI.rtk-bridge",
            "icon": "https://tedi.ilhamriski.com/assets/extensions/rtk-bridge.png",
            "license": "Apache-2.0"
        },
        {
            "id": "screenshot",
            "name": "TEDI.screenshot",
            "version": "0.6.0",
            "publisher": "IlhamriSKY",
            "description": "Captures the entire TEDI window to PNG, saves it to Downloads, and copies it to the clipboard. Click the status bar camera icon or press Ctrl+Alt+S.",
            "repository": "https://github.com/IlhamriSKY/TEDI.screenshot",
            "icon": "https://tedi.ilhamriski.com/assets/extensions/screenshot.png",
            "license": "Apache-2.0"
        },
        {
            "id": "secondary-folder-tree",
            "name": "TEDI.secondary-folder-tree",
            "version": "0.2.0",
            "publisher": "IlhamriSKY",
            "description": "Adds a second folder tree on the right side of the workspace for browsing files outside the active project. Toggle with Ctrl+Shift+E.",
            "repository": "https://github.com/IlhamriSKY/TEDI.secondary-folder-tree",
            "icon": "https://tedi.ilhamriski.com/assets/extensions/secondary-folder-tree.png",
            "license": "Apache-2.0"
        },
        {
            "id": "sql-explorer",
            "name": "TEDI.sql-explorer",
            "version": "0.6.10",
            "publisher": "IlhamriSKY",
            "description": "Browses and queries MySQL, PostgreSQL, and SQLite databases: schema tree with a per-node menu, query editor with run-selection / explain / history, inline row edit, indexes + foreign keys + DDL, and CSV / JSON / SQL export. Toggle with Ctrl+Alt+D.",
            "repository": "https://github.com/IlhamriSKY/TEDI.sql-explorer",
            "icon": "https://tedi.ilhamriski.com/assets/extensions/sql-explorer.png",
            "license": "Apache-2.0"
        }
    ],
    "unofficial": [
        {
            "id": "tedi.browser",
            "name": "Browser",
            "version": "0.5.0",
            "publisher": "IlhamriSKY",
            "description": "A real browser pane inside TEDI, on the engine TEDI itself runs on; Windows only in this version. The page is a child webview with no bridge into TEDI, placed on the pane that owns it, so there is no second browser to find or download, no foreign window to adopt, and nothing to keep alive: a pane's page lives exactly as long as the pane. It works the same in a split and on the canvas, where the canvas scales the page itself rather than reflowing it; a float window is the one place it cannot go, and says so, because one webview cannot be owned by two windows. Menus and dialogs opened over it are cut out of the webview so they stay visible and clickable. The pane draws the browser chrome itself: back, forward, reload and stop, an address bar that searches and shows whether the connection is encrypted, find-on-page, and zoom; the page keeps its own right-click menu, which is where Save, Print and Inspect live. The AI agent drives it over the DevTools Protocol reached in-process, with the ",
            "repository": "https://github.com/IlhamriSKY/TEDI.browser",
            "icon": "https://tedi.ilhamriski.com/api/market/icon/tedi.browser.png?v=2f4f385069a41b93",
            "license": "Apache-2.0",
            "tier": "user_input",
            "channel": "community",
            "stars": 1,
            "engines": {
                "tedi": ">=0.4.80"
            },
            "listed_at": "2026-09-21T22:47:31Z",
            "updated_at": "2026-11-14T16:17:01Z"
        }
    ]
}
