feat: add opentui interface for opencode

- Add comprehensive TUI interface with React Ink components
- Implement session management, model selection, and command dialogs
- Add theme system with customizable colors and styling
- Integrate with existing opencode server and SDK
- Add todo management and file browsing capabilities
- Include proper TypeScript support and error handling
This commit is contained in:
Dax Raad 2025-09-19 17:21:04 -04:00
commit 02848a350c
69 changed files with 3240 additions and 349 deletions

View file

@ -4,10 +4,11 @@
"name": "opencode",
"type": "module",
"private": true,
"randomField": "xyz789",
"scripts": {
"typecheck": "tsc --noEmit",
"build": "./script/build.ts",
"dev": "bun run --conditions=development ./src/index.ts"
"dev": "bun run --conditions=development --conditions=browser ./src/index.ts",
"build": "./script/build.ts"
},
"bin": {
"opencode": "./bin/opencode"
@ -32,15 +33,18 @@
"@hono/standard-validator": "0.1.5",
"@hono/zod-validator": "catalog:",
"@modelcontextprotocol/sdk": "1.15.1",
"@openauthjs/openauth": "0.4.3",
"@openauthjs/openauth": "catalog:",
"@opencode-ai/plugin": "workspace:*",
"@opencode-ai/sdk": "workspace:*",
"@opentui/core": "0.0.0-20250918-7ff2578a",
"@opentui/solid": "0.0.0-20250918-7ff2578a",
"@standard-schema/spec": "1.0.0",
"@zip.js/zip.js": "2.7.62",
"ai": "catalog:",
"chokidar": "4.0.3",
"decimal.js": "10.5.0",
"diff": "8.0.2",
"fuzzysort": "3.1.0",
"gray-matter": "4.0.3",
"hono": "catalog:",
"hono-openapi": "1.0.7",
@ -48,11 +52,15 @@
"jsonc-parser": "3.3.1",
"minimatch": "10.0.3",
"open": "10.1.2",
"partial-json": "0.1.7",
"remeda": "catalog:",
"solid-js": "catalog:",
"tree-sitter": "0.22.4",
"tree-sitter-bash": "0.23.3",
"tree-sitter-highlight": "1.0.1",
"tree-sitter-typescript": "0.23.2",
"turndown": "7.2.0",
"ulid": "3.0.1",
"ulid": "catalog:",
"vscode-jsonrpc": "8.2.1",
"web-tree-sitter": "0.22.6",
"xdg-basedir": "5.1.0",