fuz repos (单位)
管理许多重置工具 qq repos.fuz.dev (英语)
fuz repos是比较松散的情侣重新持有的单列图案的替代品:
- 能够实现跨套接字的自动化,而不要求它们在同一单列中
- 允许从多个 fus repos 工程管理每个 repo
- 在您的机器上运行自动化, 并赋予您全能的控制和能见度 (与 GitHub 动作相比,双向大取舍)
使用fuz repos 您可以:
- 动态重置
- 获取关于 repos 收藏的元数据并导入为 typesafet JSON ()
repos.ts时gro task src/lib/gitops_sync.task.ts(中文(简体) ) - 为您的 repos 收藏发布一个生成的 docs 网站
- 导入其组件以查看和与 repo 收集元数据交互
- 为其他用户和工具发布关于您所收集的再存到网络的元数据
- 按依赖顺序发布多个相互依存的软件包,并自动更新依赖性
范围
fuz repos 运行 确定、配置驱动的一组已申报的行动
重置权 ——循环中没有LLM,而回波集来自一个已声明列表
联合国 repos.toml 登记和a gitops.config.ts 命名其密钥的子集。 出版是它的旗舰能力,不是整个
身份证明 鲁斯特 repos 工具在此 repo (crates/fuz_repos报告
每一个声明的 repo 的 git 状态 (repos status),同步它们(repos sync, (中文(简体) ),
并且是网关代理 推动通过(repos push) (中文(简体) ).
故意超出范围:单重工(即 单元格, (中文(简体) ), 工作,其分辨率每回波不同,需要判断、机器和服务器 状态,以及 隐藏 ——fuz repos 永远不储存,运输,或阅读秘密 作为数据的材料,包括env文件内容。 它自己的 GitHub API 令牌 (注下)是它用来认证自己的证书.
见 克劳德·姆德 能力等级,什么
repos 从来没有,TS/Rust分裂.
使用量
npm i -D @fuzdev/fuz_repos
-
安装
repos二进制, 任务读取 repo 状态从 - 它不在 npm 软件包: 在复选中,cargo install --path crates/fuz_repos --locked -
配置
gitops.config.ts作为repos.toml登记密钥 - 每个 repo 的 dir, URL, 分支, 可见度, 和 CI 都来自注册 :import type { GitopsConfig } from '@fuzdev/fuz_repos/gitops_config.ts'; const config: GitopsConfig = { repos: ['fuz_util', 'gro', 'fuz_ui'] }; export default config;任务找到注册方式
repos是的,从阴茎上走,或拿--registry <path>; 登记簿的重播, 但磁盘缺少则被复制repos sync <key>。 。 。 . -
fuz repos 使用环境变量调用 GitHub API
SECRET_GITHUB_API_TOKEN授权, 是一个 经典 GitHub 令牌 (有"公众访问"供公众重置,没有选择选项) 或一个 gitHub 符号(β) (与"Public Repositories (read-only)"选中) 任意process.env,项目 - 当地.env,或父目录../.env(单位:千美元)gro task src/lib/gitops_sync.task.ts需要它,您需要选择选项支持私有重置) -
通过创建文件在
src/lib/数字 :// gitops_sync.task.ts export * from '@fuzdev/fuz_repos/gitops_sync.task.ts'; // gitops_analyze.task.ts export * from '@fuzdev/fuz_repos/gitops_analyze.task.ts'; // gitops_plan.task.ts export * from '@fuzdev/fuz_repos/gitops_plan.task.ts'; // gitops_release.task.ts export * from '@fuzdev/fuz_repos/gitops_release.task.ts'; // gitops_validate.task.ts export * from '@fuzdev/fuz_repos/gitops_validate.task.ts'; // gitops_run.task.ts export * from '@fuzdev/fuz_repos/gitops_run.task.ts'; -
运行
gro task src/lib/gitops_sync.task.ts从回收站生成仪表板的数据
建筑
gitops.config.ts (registry keys) → repos status --json → local repos → GitHub API → repos.ts → UI components
- 业务模式: 副作用的依赖性注射(git、npm、fs,
repos(中文(简体) ) - 固定测试: 内部固定装置,预期出版结果
- 更改集驱动: 自动版本凸起和依赖性更新
见 克劳德·姆德 详细文件.
快速启动
运行到重置位置的命令
gro task src/lib/gitops_run.task.ts "npm test" # run tests in all repos (parallel, concurrency: 5)
gro task src/lib/gitops_run.task.ts "npm audit" --concurrency 3 # limit parallelism
gro task src/lib/gitops_run.task.ts "git status" --format json # JSON output for scripting
特征 :
- 与可配置货币平行执行(违约:5)
- 继续错误行为( 显示所有结果)
- 结构化输出格式(文本或 JSON)
- 使用轻量级重传路径分辨率通过
repos status页:1 配置缺失的 repo 失败运行, 命名它
生成仪表板的数据
gro task src/lib/gitops_sync.task.ts # fetch, check each repo, then write repos.json + repos.ts
gro task src/lib/gitops_sync.task.ts --check # the readiness report alone: no fetch, no token, nothing written
gro task src/lib/gitops_sync.task.ts --allow_dirty # read repos off their branch, dirty, or mid-operation as they sit, warning instead
它在坐着时读取每个回波,从来不会移动或安装回波(英语:repos sync
因此,它拒绝从它的注册分支收回, 肮脏的,或
中期操作——该站点将显示树上除原产地CI以外的模块——
或缺少已安装的依赖关系
一个落后的来源.
诊断命令( 只读)
gro task src/lib/gitops_validate.task.ts # run all validation checks (analyze + plan + CI reconcile)
gro task src/lib/gitops_analyze.task.ts # analyze dependency graph, levels, and cycles
gro task src/lib/gitops_plan.task.ts # the release's waves, version changes, and cascades, offline
gro task src/lib/gitops_release.task.ts # preview a release step: the rewrites it would commit and the wave to publish
这些读取每个repo的工作树 恰好它坐在磁盘上,没有分支
切换、拉动或安装——这样它们就可以安全运行
分支检查和未承诺的更改。 每个打印重置
不休息(在他们的登记分支,肮脏,中基,或不同步)
源代码为上次获取; 运行 repos sync 首先在
休养.
释放包
发行版以波浪形式发布——波浪的套件不相依赖——
和出版是你的: gro publish 在一个npm 2FA内
窗口。 波之间的工具步骤 :
gro task src/lib/gitops_release.task.ts --wetrun # rewrite released dependencies' dependents, name the wave to publish
# publish the wave it names
gro task src/lib/gitops_release.task.ts --wetrun --wait # wait out the registry, then the same for the next wave
每个步骤都源于它所观察到的释放之处——变化点,
每个 package.json,以及登记册显示的内容——因此它没有状态和
随处取出 包括人工释放 它会得到
先重置,再重写或公布在登记册上
分支、清洁、闲置、与原产地同步或提前命名固定点;
它不会移动回波到那里(参见 文件/出版.md) (中文(简体) ).
这个 repos 工具
一个Rust CLI 代替重置 repos.toml 登记申报。 动了就换了
没有作者——取出,快取出,克隆出,推出——并重塑了一种分化的
在安全的地方 登记分支进入上游
(单位:千美元)文献/档案 说什么时候),停止任何
冲突。 它从不承诺新的内容, 解决冲突,合并
除了一个快速前进的, 强力的,或推进标记。 需要点钱
2.44 或更新,和Linux 用于检测 Claude 代码的现场会话.
cargo install --path crates/fuz_repos --locked # install the `repos` binary
repos status # git state of every entry, from local refs
repos status --fetch # fetch from origin first (remote-tracking refs only)
repos sync # fetch, then fast-forward, rebase, push, and clone what's safe
repos push # push the branch checked out here, as a fast-forward (rebased first if it diverged)
联合国
- 克劳德·姆德 - 建筑、命令、测试模式
- 高科技 高科技 - 福兹堆栈共享编码惯例
- 文件/出版.md - 发布步骤,改变et 语义,例
- 文档/故障射击 - 常见错误和 调试提示
- 文献/档案 - 那个
repos命令引用
开始做Dev? 开始 格罗 编辑 Fuz 模板。 。 。 .
开始
- 解析自动化比手工操作更好
gro task src/lib/gitops_sync.task.ts - 显示速率限制信息
- 考虑Fuz repos如何使用 GitHub 动作和 Forgejo 动作