[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-647":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},647,"wterm","vercel-labs\u002Fwterm","vercel-labs","A terminal emulator for the web","https:\u002F\u002Fwterm.dev",null,"TypeScript",3220,140,8,23,0,15,54,314,45,28.45,"Apache License 2.0",false,"main",true,[],"2026-06-12 02:00:16","# wterm\n\nA terminal emulator for the web.\n\nwterm (\"dub-term\") renders to the DOM — native text selection, copy\u002Fpaste, find, and accessibility come for free. The core is written in Zig and compiled to WASM for near-native performance.\n\n## Packages\n\n| Package | Description |\n|---|---|\n| [`@wterm\u002Fcore`](packages\u002F@wterm\u002Fcore) | Headless WASM bridge, `TerminalCore` interface, WebSocket transport |\n| [`@wterm\u002Fdom`](packages\u002F@wterm\u002Fdom) | DOM renderer, input handler — vanilla JS terminal |\n| [`@wterm\u002Freact`](packages\u002F@wterm\u002Freact) | React component + `useTerminal` hook (TypeScript) |\n| [`@wterm\u002Fvue`](packages\u002F@wterm\u002Fvue) | Vue 3 component + template ref API |\n| [`@wterm\u002Fghostty`](packages\u002F@wterm\u002Fghostty) | Full-featured VT emulation core powered by libghostty |\n| [`@wterm\u002Fjust-bash`](packages\u002F@wterm\u002Fjust-bash) | In-browser Bash shell powered by just-bash |\n| [`@wterm\u002Fmarkdown`](packages\u002F@wterm\u002Fmarkdown) | Render Markdown in the terminal |\n\n## Features\n\n- **Pluggable cores** — built-in lightweight Zig core (~12 KB) or opt-in [libghostty](packages\u002F@wterm\u002Fghostty) backend (~400 KB) for full VT compliance\n- **Zig + WASM core** — VT100\u002FVT220\u002Fxterm escape sequence parser compiled to a ~12 KB `.wasm` binary (release build)\n- **DOM rendering** — native text selection, clipboard, browser find, and screen reader support\n- **Dirty-row tracking** — only touched rows are re-rendered each frame via `requestAnimationFrame`\n- **Themes** — CSS custom properties with built-in Default, Solarized Dark, Monokai, and Light themes\n- **Alternate screen buffer** — `vim`, `less`, `htop`, and similar apps work correctly\n- **Scrollback history** — configurable ring buffer\n- **24-bit color** — full RGB SGR support\n- **Auto-resize** — `ResizeObserver`-based terminal resizing\n- **WebSocket transport** — connect to a PTY backend with binary framing and reconnection\n\n## Development\n\n### Prerequisites\n\n- [Zig](https:\u002F\u002Fziglang.org\u002F) 0.16.0+\n- [Node.js](https:\u002F\u002Fnodejs.org\u002F) 20+\n- [pnpm](https:\u002F\u002Fpnpm.io\u002F) 10+\n\n### Setup\n\n```bash\npnpm install\n```\n\n### Build the WASM binary\n\n```bash\nzig build\n```\n\nFor a release build:\n\n```bash\nzig build -Doptimize=ReleaseSmall\n```\n\n### Build all packages\n\n```bash\npnpm build\n```\n\n### Run the vanilla demo\n\nServe the `web\u002F` directory with any static file server:\n\n```bash\ncd web && python3 -m http.server 8000\n```\n\n### Run the Next.js example\n\nAll dev servers use [portless](https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fportless) to avoid hardcoded ports. Each app is served at a `.localhost` URL (e.g. `nextjs-example.wterm.localhost`).\n\n```bash\ncp web\u002Fwterm.wasm examples\u002Fnextjs\u002Fpublic\u002F\npnpm --filter nextjs dev\n```\n\n### Run Zig tests\n\n```bash\nzig build test\n```\n\n## License\n\nApache-2.0\n","wterm 是一个基于Web的终端模拟器。它利用Zig编译为WASM来实现接近原生的性能，并通过DOM渲染提供诸如文本选择、复制粘贴等原生浏览器功能。项目支持多种前端框架，包括React和Vue 3组件，并且提供了丰富的特性，如可插拔的核心（轻量级Zig核心或全功能VT兼容的libghostty后端）、24位颜色支持、自动调整大小以及WebSocket传输等。适用于需要在网页上集成命令行环境的各种场景，比如开发工具、在线编程教育平台或是任何希望增强用户体验的Web应用。",2,"2026-06-11 02:38:21","CREATED_QUERY"]