[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2895":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},2895,"termdraw","benvinegar\u002Ftermdraw","benvinegar","Agent-friendly ASCII illustrator for the terminal","",null,"TypeScript",201,11,124,1,0,38,40,73,114,90.54,"MIT License",false,"main",true,[],"2026-06-12 04:00:16","\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Flogo.webp\" alt=\"termDRAW logo\" width=\"420\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">termDRAW!\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbenvinegar\u002Ftermdraw\u002Factions\u002Fworkflows\u002Fci.yml?query=branch%3Amain\">\n    \u003Cimg alt=\"CI status\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fbenvinegar\u002Ftermdraw\u002Fci.yml?branch=main&style=for-the-badge&label=CI\" \u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbenvinegar\u002Ftermdraw\u002Freleases\">\n    \u003Cimg alt=\"Latest release\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fbenvinegar\u002Ftermdraw?style=for-the-badge&label=release\" \u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\n    \u003Cimg alt=\"MIT License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg?style=for-the-badge\" \u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fbun.sh\">\n    \u003Cimg alt=\"Bun 1.3+\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBun-1.3%2B-black?style=for-the-badge&logo=bun\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  A terminal drawing editor for developers who want editable diagrams, UI mocks, and text graphics without leaving the terminal.\n\u003C\u002Fp>\n\n## Packages\n\n- `@termdraw\u002Fapp` — the standalone terminal app with the `termdraw` command\n- `@termdraw\u002Fopentui` — embeddable OpenTUI components and renderables\n- `@termdraw\u002Fpi` — Pi package that opens termDRAW in a Pi overlay\n\n## Install the app\n\nRequirements:\n\n- [Bun](https:\u002F\u002Fbun.sh) 1.3+\n- A terminal with mouse support\n\n```bash\nnpm install --global @termdraw\u002Fapp\n```\n\n## Quick start\n\n```bash\ntermdraw\n```\n\nDraw something, then press `Enter` or `Ctrl+S` to export the rendered art to stdout.\n\nPress `Ctrl+D` to save the editable diagram as a native `.td.json` document. If you opened a diagram with `--load`, termDRAW reuses that path by default; otherwise it prompts for one inside the app.\n\n## App usage\n\n```bash\n# open an editable native document from a file\ntermdraw --load architecture.td.json\n\n# open an editable native document from stdin\n# requires a controlling terminal for the interactive editor session\ncat architecture.td.json | termdraw --load -\n\n# save the rendered art directly to a file\ntermdraw --load architecture.td.json --output diagram.txt\n\n# save plain text directly to a file\ntermdraw --output diagram.txt\n\n# export a fenced Markdown code block\ntermdraw --fenced > diagram.md\n\n# show CLI help\ntermdraw --help\n```\n\ntermDRAW! outputs terminal text, not SVG or bitmap graphics.\n\nUse native `.td.json` documents when you want to reopen and keep editing a drawing. Plain-text output remains an export format and does not preserve the original object metadata.\n\n## Use it in Pi\n\n```bash\npi install npm:@termdraw\u002Fpi\n```\n\nThen inside Pi:\n\n```text\n\u002Ftermdraw\n```\n\n## Embed in an OpenTUI app\n\n```bash\nnpm install @termdraw\u002Fopentui @opentui\u002Fcore @opentui\u002Freact react\n```\n\n```tsx\nimport { createCliRenderer } from \"@opentui\u002Fcore\";\nimport { createRoot } from \"@opentui\u002Freact\";\nimport { TermDrawApp } from \"@termdraw\u002Fopentui\";\n\nconst renderer = await createCliRenderer({\n  useMouse: true,\n  enableMouseMovement: true,\n  autoFocus: true,\n  screenMode: \"alternate-screen\",\n});\n\ncreateRoot(renderer).render(\n  \u003CTermDrawApp\n    width=\"100%\"\n    height=\"100%\"\n    autoFocus\n    initialDocument={existingDocument}\n    diagramPath=\"architecture.td.json\"\n    onSave={(art) => {\n      console.log(art);\n    }}\n    onSaveDiagram={async (document, path) => {\n      await Bun.write(path, `${JSON.stringify(document, null, 2)}\\n`);\n    }}\n    onCancel={() => {\n      renderer.destroy();\n    }}\n  \u002F>,\n);\n```\n\nAlso exported from `@termdraw\u002Fopentui`:\n\n- `TermDrawApp`\n- `TermDrawEditor`\n- `TermDraw`\n- `TermDrawAppRenderable`\n- `TermDrawEditorRenderable`\n- `TermDrawRenderable`\n- `formatSavedOutput`\n- `buildHelpText`\n- `parseDrawDocument`\n\n## Docs\n\n- App package: [`packages\u002Fapp`](https:\u002F\u002Fgithub.com\u002Fbenvinegar\u002Ftermdraw\u002Ftree\u002Fmain\u002Fpackages\u002Fapp)\n- OpenTUI package: [`packages\u002Fopentui`](https:\u002F\u002Fgithub.com\u002Fbenvinegar\u002Ftermdraw\u002Ftree\u002Fmain\u002Fpackages\u002Fopentui)\n- Pi package: [`packages\u002Fpi`](https:\u002F\u002Fgithub.com\u002Fbenvinegar\u002Ftermdraw\u002Ftree\u002Fmain\u002Fpackages\u002Fpi)\n\n## Contributing\n\nContributions are welcome.\n\nBefore opening a PR:\n\n- keep the change focused\n- run `bun run check`\n- add or update tests when editor behavior changes\n- open an issue first for larger UX or API changes\n\n## Security\n\nPlease report security issues privately through GitHub Security Advisories:\n\n- \u003Chttps:\u002F\u002Fgithub.com\u002Fbenvinegar\u002Ftermdraw\u002Fsecurity\u002Fadvisories\u002Fnew>\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","termDRAW 是一个面向开发者的终端绘图编辑器，用于在终端内创建可编辑的图表、UI 原型和文本图形。它支持通过鼠标进行交互式编辑，并且能够输出纯文本或 Markdown 代码块格式的内容。主要功能包括直接在终端中绘制图形、保存为 `.td.json` 格式的可编辑文件以及将渲染后的艺术作品导出到标准输出或文件中。项目使用 TypeScript 编写，并依赖于 Bun 1.3+ 运行环境。适合需要快速生成简单图形而无需切换到其他图形编辑工具的开发者工作流场景，特别适用于远程服务器操作或仅限文本界面的环境中。",2,"2026-06-11 02:51:32","CREATED_QUERY"]