{"id":47790409,"url":"https://github.com/beorn/terminfo.dev","last_synced_at":"2026-04-03T15:33:47.146Z","repository":{"id":348586409,"uuid":"1189904678","full_name":"beorn/terminfo.dev","owner":"beorn","description":"Can your terminal do that? — caniuse.com for terminal emulators. 250+ pages, 133 features, 19 terminals. CC BY 4.0.","archived":false,"fork":false,"pushed_at":"2026-04-02T03:31:06.000Z","size":1361,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-02T07:32:32.337Z","etag":null,"topics":["ansi","caniuse","cli","compatibility","escape-sequences","feature-detection","open-data","terminal","terminal-capabilities","terminal-emulator","terminal-testing","vitepress","vt100","xterm"],"latest_commit_sha":null,"homepage":"https://terminfo.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/beorn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-23T19:30:09.000Z","updated_at":"2026-04-02T03:31:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/beorn/terminfo.dev","commit_stats":null,"previous_names":["beorn/terminfo.dev"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/beorn/terminfo.dev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beorn%2Fterminfo.dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beorn%2Fterminfo.dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beorn%2Fterminfo.dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beorn%2Fterminfo.dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beorn","download_url":"https://codeload.github.com/beorn/terminfo.dev/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beorn%2Fterminfo.dev/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31360803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T15:19:21.178Z","status":"ssl_error","status_checked_at":"2026-04-03T15:19:20.670Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansi","caniuse","cli","compatibility","escape-sequences","feature-detection","open-data","terminal","terminal-capabilities","terminal-emulator","terminal-testing","vitepress","vt100","xterm"],"created_at":"2026-04-03T15:33:46.484Z","updated_at":"2026-04-03T15:33:47.133Z","avatar_url":"https://github.com/beorn.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terminfo.dev\n\n**Can your terminal do that?** Feature support tables for terminal emulators — powered by automated testing.\n\nLive at **[terminfo.dev](https://terminfo.dev)**\n\n## Test Your Terminal\n\n```bash\nnpx terminfo.dev test              # test your terminal's feature support\nnpx terminfo.dev submit            # test + submit results to terminfo.dev\nnpx terminfo.dev detect            # what terminal am I running in?\n```\n\nOr without Node.js: `curl -sL terminfo.dev/test | sh`\n\n### What does this do?\n\nIt runs feature tests by sending standard terminal escape sequences (the same ones vim, htop, and every TUI app send) and checking how your terminal responds. For example, it sends `ESC[38;2;255;0;0m` (truecolor red) and asks \"where is the cursor?\" — if the terminal responds, the feature is supported.\n\nIt does **not** write files, install software, or send data over the network. Results are printed as JSON to your terminal. You can read the [script source](https://terminfo.dev/test) before running it.\n\nSee the full [contributor guide](https://terminfo.dev/contribute).\n\n## What It Is\n\nterminfo.dev is the \"caniuse.com for terminal emulators.\" It shows which terminals support which features (SGR styling, cursor modes, Kitty keyboard, sixel graphics, OSC 8 hyperlinks, etc.) based on automated probe results from [termless](https://termless.dev).\n\nCurrently testing **161 features** across **19 terminals and backends**.\n\n## How It Works\n\n1. **Probes** (`packages/probe-defs/`) define tests with dual callbacks — headless (sync) and TTY (async)\n2. **Results** are collected as pass/fail per feature per backend\n3. **The site** (`docs/`) renders an interactive matrix at build time via VitePress\n\n## Links\n\n- **Site**: [terminfo.dev](https://terminfo.dev)\n- **API**: [terminfo.dev/api](https://terminfo.dev/api) — JSON data + SVG badges\n- **Contribute**: [terminfo.dev/contribute](https://terminfo.dev/contribute)\n- **Termless**: [termless.dev](https://termless.dev) — headless terminal testing\n- **Silvery**: [silvery.dev](https://silvery.dev) — React TUI framework\n\n## Development\n\n```bash\n# Install dependencies\nbun install\n\n# Run probes probes (requires termless backends installed)\nbun run probes:run\n\n# View results\nbun run probes:report\n\n# Local dev server\nbun run dev\n\n# Build for production\nbun run build\n```\n\n## probes CLI\n\n```bash\nbun run probes:run                # Run probes + show report\nbun run probes:run --force        # Re-run even if cached\nbun run probes:run xtermjs/*      # All xtermjs versions\nbun run probes:run xtermjs/5.4.0  # Specific version\nbun run probes:report             # Show cached results\nbun run probes:status             # Config, backends, cache info\n```\n\n## Backends Tested\n\n| Backend        | Engine                  | Type            |\n| -------------- | ----------------------- | --------------- |\n| xtermjs        | @xterm/headless 5.5     | JS              |\n| ghostty        | ghostty-web 0.4         | WASM            |\n| vt100          | Pure TypeScript         | JS              |\n| alacritty      | alacritty_terminal 0.26 | Native (Rust)   |\n| wezterm        | tattoy-wezterm-term     | Native (Rust)   |\n| vt100-rust     | vt100 0.15              | Native (Rust)   |\n| libvterm       | neovim/libvterm 0.3     | WASM (C)        |\n| ghostty-native | libghostty-vt 1.3       | Native (Zig)    |\n| kitty          | kitty 0.40              | Native (C, GPL) |\n| peekaboo       | OS automation           | macOS           |\n\n## Deployment\n\nBuilt with [VitePress](https://vitepress.dev), deployed via [Cloudflare Pages](https://pages.cloudflare.com).\n\n- **Build command**: `bun install \u0026\u0026 bun run build`\n- **Output**: `docs/.vitepress/dist`\n- **Custom domain**: terminfo.dev\n\n## Related\n\n- **[termless](https://termless.dev)** — headless terminal testing library (powers the probes)\n- **[Silvery](https://silvery.dev)** — React TUI framework\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeorn%2Fterminfo.dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeorn%2Fterminfo.dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeorn%2Fterminfo.dev/lists"}