ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何为Pebrel贡献代码:从本地构建到一致性测试套件的开发者完全指南

如何为Pebrel贡献代码:从本地构建到一致性测试套件的开发者完全指南 如何为Pebrel贡献代码从本地构建到一致性测试套件的开发者完全指南【免费下载链接】pebrelAI-native, GPU-accelerated terminal emulator for Windows with SSH, persistent sessions, split panes, and first-class AI CLI workflows.项目地址: https://gitcode.com/gh_mirrors/neb0ula57/pebrelPebrel 是一款 AI 原生的 GPU 加速终端模拟器Windows 为主同时支持 macOS 与 Linux内置 SSH 工作区、持久会话、分屏面板和 AI CLI 工作流。本文为第一次参与 Pebrel 开源贡献的开发者提供了完整路径环境准备、本地构建、架构检查、Runtime API 一致性测试套件直到提交 PR 的全流程。 贡献 Pebrel 的 6 个阶段在深入细节前先给出整体路线图帮助你建立全局认知读规则— 贡献指南、架构图与工程约束三份文档备环境— 固定 Rust 工具链 Python 3.11本地构建— 一条 cargo 命令出真机产品跑本地门禁— 架构检查器、行数预算、i18n 契约跑一致性测试套件— 用公开 Runtime API 验证可见行为提交 PR— 小步提交等待五平台原生矩阵Pebrel 的模块边界清晰应用与 UI 在 nebula_app/终端核心与 PTY 在 nebula_terminal/设置与语言注册在 nebula_settings/。贡献前务必先读目标路径最近的 AGENTS.md规则按目录分层生效。️ 环境准备安装固定工具链Pebrel 在 rust-toolchain.toml 中固定了 Rust 版本克隆仓库后 rustup 会自动切换到正确工具链git clone https://gitcode.com/gh_mirrors/neb0ula57/pebrel cd pebrel各平台依赖要点详见 INSTALL.md平台关键依赖WindowsWindows 10 1809 / 11受支持的 Rust linker 工具链macOSXcode 命令行工具 macOS SDK 26Liquid Glass 窗口控件Linux依赖包清单见发布 workflowglibc 2.35另外本地快速检查器要求Python 3.11且不需要任何第三方 Python 包。⚡ 第一次本地构建一条命令出产品不要构建被替换的旧版可执行文件始终构建真正的 GPUI 产品cargo build --locked -p nebula --bin pebrel --features gpui-shell构建成功后你会得到带分屏、SSH 标签页和 AI 会话支持的原生终端。开发迭代时可以用更快的检查模式cargo check -p nebula --bin pebrel --features gpui-shell --tests --locked✅ 本地门禁清单PR 合并前的快速验证Pebrel 用工程合同代替口头约定行数预算与依赖方向由 architecture/ 目录声明检查脚本统一读取同一来源。提交 PR 前运行以下命令Windows 上如python是你的解释器请替换python3python3 scripts/check_architecture.py --base PR-base-commit python3 -m unittest scripts.tests.test_architecture_budgets scripts.tests.test_architecture_dependencies scripts.tests.test_architecture_governance cargo test --manifest-path tools/i18n-contract/Cargo.toml --locked cargo test -p nebula-settings cargo test -p nebula --test file_line_budget cargo fmt --all -- --check几条容易踩坑的规则来自 CONTRIBUTING.md 与 docs/project-constraints.md2000 行是硬上限800 行只是建议拆分的提示线既有超限文件按实测值冻结不给增长空间禁止靠抬高预算、删测试、压缩格式或机械分片让门禁通过规则本身有缺陷时提交窄范围政策修订 正反测试而不是--skip绕过一个 PR 只做一件事改动超过1500 行源码文档、lockfile、资源不计pr-size检查会失败请拆分而不是申请豁免 一致性测试套件用 Runtime API 验证可见行为这是 Pebrel 最有特色的部分scripts/conformance/ 提供了一个仅用标准库的测试套件它不碰内部 API而是通过公开 Runtime API 验证用户可见行为——启动一个隔离应用进程私有配置目录通过回环 TCP JSONL 端点驱动它结束后只清理自己拉起的进程。套件按固定顺序运行 10 个用例boot启动与 API 发现、echo跨 shell 命令输入、resize分屏比例传播、split嵌套布局、scrollback600 行滚动历史、session自动保存与冷恢复、paste多行 bracketed-paste、cjk_roundtripUTF-8/CJK 回环、close5 秒内关窗放在最后因为它会终止应用。跨平台黄金基线对比每次运行都会校验 golden/common.json 通用不变量如果某平台已有评审过的黄金基线会自动比对。首次在新平台跑通后可用--update-golden生成基线有失败用例时该命令会拒绝写入python3 scripts/conformance/run.py \ --app target/release/pebrel \ --platform linux-x86_64 \ --output dist/conformance/linux-report.json多平台报告可直接横向对比只有 golden/whitelist.json 中声明的字段允许差异——这让Windows 上能跑和三平台行为一致成为可验证的事实而不是口头承诺。 理解 CI 矩阵你的 PR 会跑哪些测试PR 触发哪些原生测试由权威选择器 scripts/ci_plan.py 统一规划覆盖五类 runnerubuntu、windows-x64、macos、windows-arm64、macos-intel。策略是按路径分级改动类型验证范围文档专用 PR保留仓库合同不构建原生应用普通共享代码完整 Linux 套件平台路径 / Rust 条件编译追加相应原生架构依赖、工具链、CI、打包等全部五平台必需检查包括architecture-contracts、lint、pr-size、五个Tests (os)任务和两个Release workspace (os)任务外加 Code Owner 审批。PR 只跑测试与编译检查不构建发行包首次 fork 贡献者需维护者审批 workflow 后才能开跑。 提交 PR像维护者一样思考最后让 PR 一次通过评审的几个关键点先说用户问题再谈实现跨层依赖、持久化格式、线程模型变更要先讨论补上针对缺陷会失败的回归测试并说明你实际跑了什么、没跑什么非平凡决策记录到 architecture/notes/ 下对应路径普通小修复不用写涉及 UI 文案时遵循 docs/internationalization.md 的语言注册合同不要附带构建产物、含密钥的截图或无关生成文件总结为 Pebrel 贡献代码的核心是小步、可验证、有证据一条命令本地构建一套门禁脚本本地验证一致性测试套件保证跨平台行为一致五平台原生矩阵把关最后关。从阅读 CONTRIBUTING.md 和 docs/architecture.md 开始提交你的第一个 PR 吧官方贡献入口CONTRIBUTING.md 架构地图docs/architecture.md 工程约束docs/project-constraints.md 一致性套件scripts/conformance/README.md【免费下载链接】pebrelAI-native, GPU-accelerated terminal emulator for Windows with SSH, persistent sessions, split panes, and first-class AI CLI workflows.项目地址: https://gitcode.com/gh_mirrors/neb0ula57/pebrel创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表