
【免费下载链接】ghuiA GitHub TUI项目地址https://gitcode.com/gh_mirrors/gh/ghui点击查看免费下载ghui 是一款运行在终端里的 GitHub Pull Request TUITerminal UI本文是面向新手的 ghui 开发者指南带你快速跑通 Bun 本地开发环境、bun test 测试体系以及基于 Changesets 的完整发布流程从第一次bun install到参与一次真实发版。1. 为什么值得上手 ghui一套现代化的 TUI 技术栈先看看 ghui 用了什么心里有数后再动手会快很多Bun TypeScriptstrict运行、构建、测试、打包全部由 Bun 一个工具链承担无需 Node 构建配置React 19 opentui/react用 React 声明式地写终端界面Effect状态管理基于 Effect 的 Atom 响应式管线SQLite 缓存由effect/sql-sqlite-bun驱动Monorepo 结构根包 packages/keymap/实验性键位绑定库bindings as data完整依赖声明见 package.json领域术语Item、Surface、App-shell 等可以先读 CONTEXT.md 建立心智模型。2. 环境准备3 步完成 Bun 开发环境初始化2.1 快速克隆并安装依赖git clone https://gitcode.com/gh_mirrors/gh/ghui cd ghui bun installbun install会同时解析 workspacesworkspaces: [., packages/*]把子包ghui/keymap以 workspace 依赖链接进来。2.2 可选用 Nix 一键统一工具链如果你用 Nix仓库自带 flakeflake.nix 的 devShell 内置了bun、gh、git、nodejs_24四个工具保证 CI 与本地环境一致nix develop bun install bun run dev2.3 本地配置.env 与 Mock 模式复制 .env.example 为.env可按需调整GHUI_PR_FETCH_LIMIT拉取 PR 数量上限默认 200GHUI_AUTHOR作者身份标记GHUI_MOTEL_PORT/GHUI_OTLP_ENDPOINT本地可观测性可选 没有 GitHub 登录态也能开发bun run dev:mock会生成 200 条 mock PR、4 个 mock 仓库适合纯 UI 调试。3. 本地开发日常watch 模式与调试探针3.1 用bun run dev获得秒级热更新bun run dev这个脚本定义在 package.json 的scripts.dev做了三件事--watch监听源码、GHUI_DEBUG_LOG/tmp/ghui-debug.log落盘调试日志、GHUI_MOTEL_PORT默认 27686暴露本地观测端口。改一行代码终端界面立即重绘。3.2 无界面调试 Effect Atom 管线ghui 的数据流是activeViewAtom → pullRequestsAtom → ... → visiblePullRequestsAtom的 Atom 链。遇到数据异常但不想盯着 TUI 复现时可以用 dev/probe-atom-pipeline.ts 这类 headless 探针脚本bun dev/probe-atom-pipeline.ts owner/repo它会逐步切换视图打印每个 Atom 切换后的状态配合/tmp/ghui-debug.log快速定位坏数据从哪个 Atom 来的。同目录下还有 dev/probe-filter.ts 用于过滤器排查。3.3 代码风格oxfmt oxlint 双工具bun run format # 格式化 src/ test/ dev/ bun run format:check # CI 同款检查 bun run lint # oxlint 静态检查 bun run typecheck # tsc --noEmit风格规则集中在 .oxfmtrc.json180 列宽、使用 Tab、不加分号——和主流 prettier 项目不太一样提交前跑一次format:check能避免 CI 挂掉。TypeScript 侧开启strict、verbatimModuleSyntax等严格选项并挂了effect/language-service插件Effect 用户在编辑器里能拿到专用补全见 tsconfig.json。4. 测试体系bun test 一键跑通4.1 运行主测试套件bun run test # 等价于 bun test testtest/ 下约有 40 个测试文件覆盖缓存cacheService.test.ts、diff 渲染、主题存储、工作区布局等核心逻辑秒级跑完。4.2 别忘了子包测试bun run test:keymap # 进入 packages/keymap 单独跑 bun testpackages/keymap/ 是独立的实验性子包含自己的 README.md 与迁移文档 MIGRATION.md测试与主包分开执行两个都要跑。4.3 对照 CI 检查项自查CI 工作流 ci.yml 在每次 PR 上执行bun install --frozen-lockfile→format:check→typecheck→lint→test→test:keymap→package:smoke。本地提交前照这份清单过一遍PR 就不会在 CI 上红。5. Changesets 发布流程从改动到 npm 上线5.1 每个用户可见的改动都要留 changesetghui 采用 Changesets 管理版本。规则很简单完整规范见 AGENTS.mdbun run changeset # 交互创建选包、选 patch/minor/major、写说明 bun run changeset:status # 查看待发布 changeset 列表 bun run changeset:version # 消费 changesetbump 版本号 生成 CHANGELOGchangeset 通过npm exec调用固定版本2.31.0的 CLI本地零安装配置文件 .changeset/config.json 指定baseBranch为main且commit: false不自动产生 changeset commit。最终产出的版本记录会写入 CHANGELOG.md。5.2 发版前的完整检查清单在提交 version bump 之前按 AGENTS.md 的要求依次执行bun run format:check bun run typecheck bun run lint bun run test bun run package:smoke其中 dev/package-smoke.ts 是发布前的冒烟测试打包 npm 主包 平台二进制包分别在干净的 npm 和 bun 项目中安装断言版本号一致、不含私有 workspace 依赖、ghui --version可执行、SQLite 缓存服务能正常打开——等于在本地预演了用户npm install -g的全过程。5.3 发版自动化GitHub Actions 可信发布把 version bump 推送到main并创建vversionRelease 后一切交给 publish.ymlverify校验 Release tag 与package.json版本严格一致standalone4 平台矩阵darwin-arm64 / darwin-x64 / linux-arm64 / linux-x64目标清单见 dev/release-targets.ts用bun build --compile编译独立二进制dev/build-standalone.ts 平台二进制 npm 包dev/build-npm-packages.ts逐个npm publish并上传 release 资产publish主包发布全程使用 Trusted PublisherOIDCid-token provenance不需要也不应配置 NPM_TOKEN最后自动 dispatch Homebrew tap 更新brew install kitlangton/tap/ghui的用户即可升级另外注意根package.json里的prepublishOnly是个防呆开关直接在源码目录npm publish会被主动拦下确保只发布dist/npm/main构建产物。6. 一分钟回顾常用命令速查表场景命令安装依赖bun install开发watch 调试日志bun run dev开发mock 数据bun run dev:mock测试 / 子包测试bun run test/bun run test:keymap类型检查bun run typecheck格式 / Lintbun run format:check/bun run lint发布冒烟bun run package:smoke创建 changesetbun run changeset应用 changeset 升版bun run changeset:version掌握 dev → test → changeset 这条主线后你可以从任意一个 plans/ 下规划中的功能入手提交 PR——祝开发顺利欢迎在终端里把 GitHub 玩出花 赞分享【免费下载链接】ghuiA GitHub TUI项目地址https://gitcode.com/gh_mirrors/gh/ghui点击查看免费下载相关推荐VoltAgent 贡献者开发指南pnpm Lerna 单仓环境搭建、测试与 Changesets 版本发布全流程VoltAgent 贡献者开发指南pnpm Lerna 单仓环境搭建、测试与 Changesets 版本发布全流程 本文基于 VoltAgent 官方贡献人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆Agent 工作流AI 评测MCP 服务MCP Clients语音Webamp NPM 包开发指南本地开发、构建产物、测试与版本发布全流程Webamp NPM 包开发指南本地开发、构建产物、测试与版本发布全流程 Webamp 是一个用 HTML5、TypeScript 与 React 重新实现前端音视频Cline 开源贡献开发指南Bun 单体仓库中的本地开发、测试与 PR 提交全流程Cline 开源贡献开发指南Bun 单体仓库中的本地开发、测试与 PR 提交全流程 本文基于 Cline 仓库根目录的 CONTRIBUTING.md htt人工智能AI Agent代码智能体AI 应用开发工具MCP Clients创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考