JorgeX堆栈
共享配置 Claude Code, Codex CLI, OpenCode v2和官方Pi: 15个本地技能、6个子代理和本地集成,通过每个运行时自己的机制应用。Stack不安装第二个Pi运行时,也不保留私有提供商合同或收据。
快速启动
你需要 节点>= 22.5 和 规划. 首先通过官方渠道安装你想要的运行时;Stack配置它们,而不是安装它们。
运行它(推荐)
pnpm dlx jorgex-stack@latest
这是大多数人需要的唯一命令。它将最新发布的版本下载到pnpm的临时缓存中,并打开交互菜单。没有任何东西被全局安装,也没有任何东西被添加到您的 PATH,因此以后不需要更新或删除旧副本。
PNPM将下载的内容重复使用一天(dlxCacheMaxAge),因此重复运行立即开始并离线工作。一天之后,下一次运行再次检查注册表,如果有新版本,则选择新版本。
将其作为永久命令安装(可选)
pnpm add -g jorgex-stack@latest
这将安装一个全局 jorgex-stack 命令;运行 jorgex-stack 打开相同的菜单。副本保留在您安装的版本:菜单的 Actualizar action更新运行时的配置,而不是Stack本身。要更新Stack,运行相同的 pnpm add -g jorgex-stack@latest 再一次。要删除它,请运行 pnpm remove -g jorgex-stack。
使用单个包管理器。使用npm或其他工具安装的第二个全局副本可以放在您的 PATH 在没有任何警告的情况下运行旧版本。
什么打开
这两个命令打开相同的西班牙语菜单。它不接受子命令或标志(甚至不接受) --version 或 --yes),并且没有无头模式。如果没有交互式终端,它不修改文件,也不等待输入。发行版本存在于 package.json 并且在注册表中,而不是在安装程序别名中。
| 菜单项 | 它是做什么的 |
|---|---|
| 安装/配置 | 将Stack的技能、子代理和配置应用到您选择的运行时。 |
| Actualizar | 通过本机通道更新运行时配置并重新应用Stack的资源。 |
| 医生 | 本地配置的只读检查。 |
| Desinstalar | 删除您选择的托管资源,并进行确认和备份。 |
| Limpiar | 删除早期版本和旧备份的剩余内容(细节). |
前四个条目提供了Todo(所有内容)、Skills comppartidas(共享技能)、Configuración糟糕的运行时(每个运行时配置)和Subagentes(子代理)部分。Limpiar既不选择section也不选择runtime。
那就选个目标和单位 Aplicar. 导航或返回永远不会运行安装。编辑子代理的模型或工作有它自己的特性 Guardar,独立于应用程序:当您返回时保存的更改保留,当您离开编辑器时未保存的草稿将被丢弃。失败使应用的和挂起的单元可见;没有全局回滚,也没有自动重试。
打开屏幕时不会安装丢失的运行时。更新配置使用本机通道(claude update, codex update, opencode upgrade, pi update --all 和官方包注册);仅更新技能或子代理不会更新工具。医生比较本地配置不安装,下载,启动浏览器或写入内存。它并不证明运行时实际加载了资源,对模型具有访问权限,或者执行了权限。
共享的佳能
技能: 诊断,拷问,着陆-发布,精益代码,mcp构建者,协调者,有机增长,项目架构师,复古,第二意见,技能创造者,规范,视觉总监,等等,还有xreview。他们是完整复制的 stack/skills 来 ~/.agents/skills,没有外部存储库的更新程序,也没有技能pin。Pi、Codex和OpenCode都是自己发现的;克劳德每个技能使用一个来自其原生路径的链接,而不是另一个副本。
子代理: 实现者、分析者、审查者、安全审核员、简化者和通才。主代理属于运行时,并将编排器作为技能加载。没有层级,没有工厂模型或努力,Stack也不会强加 defaultProvider, defaultModel 或 defaultThinkingLevel 在π。实现者拥有代码和测试;Simplifier总是只读的。模型保存在每个代理的本机文件中,保留主体和权限。
单个配置文件同时服务于人员和程序使用。原生api (SDK/CLI, Codex应用服务器,OpenCode v2服务器,Pi RPC)允许根据每个主机进行结构化操作,而不是普遍接管开放TTY。Herdr既不安装也不配置:它保留了现有的个人集成。
规范的工作流是 协调器 这里没有重复。视觉指导,复古和什么保持他们的手动调用限制。这个 活动视觉指导 便携式;它的 历史档案 不是运行时依赖项,也不包含在NPM包中。同样, 历史登陆发射档案 不是运行时依赖项,也没有打包;它是用麻省理工学院(MIT)的营销技巧公司(Marketing Skills)的材料建造的,该公司的通知会寄来 栈/技能/登陆艇/ NOTICE.md。这个 历史项目架构师档案 遵循同样的规则;其决策记录模板源自MADR (MIT OR CC0-1.0),见 栈/技能/项目建筑师/ NOTICE.md. 在有机增长中提到的程序化页面也适用于营销技巧(MIT) 栈/技能/有机增长/ NOTICE.md。
配置和集成
| 运行时 | 堆栈资源和集成 |
|---|---|
| 克劳德代码 | 本地子代理,技能链接, ~/.agents/AGENTS.md 用最小的桥 ~/.claude/CLAUDE.md,以及新的权限;官方Engram插件/MCP没有额外的浏览器。 |
| 食典委 | TOML代理,共享技能,全局指令和新权限;官方Engram插件/hooks/MCP。没有添加桌面浏览器。 |
| OpenCode v2 | 本地代理/权限,服务器 opencode.json(c)、客户端 cli.json,本地面板 ./tui/subagents;完整的官方Engram设置和浏览器控制。不支持V1版本。 |
| 官方π | 具有项目和全局上下文、指令、本地标头、MCP配置和新许可策略的代理;Pi安装的本地扩展,包括Engram和compact-tools。没有强加的主题和没有jorgex-pi安装程序。 |
有效路径尊重每个运行时的本机配置和环境变量。Context7使用空占位符,因此每个用户都连接自己的帐户;凭证永远不会分发。这个 的写作风格 投影到所有运行时,没有编程覆盖。
官方的印迹
应用安装或配置更新可以解决 最新官方稳定版本. Stack在激活二进制文件之前验证已发布资产的实时元数据、其名称和平台、大小和SHA-256。如果没有网络或有效的元数据,它将失败关闭,没有静态回退。如果当前二进制文件已经是最新的,则不会再次下载它。旧的二进制文件只有在明确同意和备份二进制文件后才会被替换,而不需要导出内存(engram export 仍然可以本地使用)。它被安装在 ~/.local/bin/engram 或者类似的平台,没有Brew或Go,没有触摸 ~/.engram。
本机步骤(运行时更新程序、包注册表、Engram设置)是同步的,可能需要一段时间。每一个都有一个“Paso native en curso”行,只显示二进制文件,它的子命令,如果有的话,正在处理的包或插件;不要使用路径、标志或子进程输出。在《克劳德代码》中,英格拉姆的设置是 --protocol=slim 所以开始钩子不会重复MCP指令已经传递的协议。如果Engram已经记录了Claude Code的模式(engram setup claude-code --protocol=full|slim),斯塔克尊重它。全新的克劳德法典 settings.json 还设置 ENGRAM_NUDGE_COOLDOWN_SECS=3600,因此插件的保存提醒最多每小时重复一次;现有的 settings.json 未修改。
Claude、Codex和OpenCode使用完整的官方设置;π使用 gentle-engram 作为本地工具和挂钩,而不是一个额外的Engram MCP。Stack不修补插件,TypeBox或 <private>. 在OpenCode中,它通过配置删除了额外的监视器 opencode-subagent-statusline 使用v2面板;Engram的插件,钩子和MCP完好无损。上游捕获限制嵌套 <private> 不被认为是固定的: 原始报告. 组合测试不执行整个内存协议或个人Windows安装。
浏览器和模型
浏览器控制 仅在OpenCode和Pi中可用,通过提供商的官方CLI/MCP和Chromium扩展,并且需要Node >= 22.19。它需要明确的标签采用,不能退回到剧作家或DevTools。堆栈不监督继电器或附加配置文件。看到 限制和安全。
模型目录是本地的:官方Claude SDK, Codex应用服务器,OpenCode v2 /api/model, Pi RPC。如果缺少身份验证或目录,Stack将显示一个通知,并允许继承或手动ID。只提供模型认可的努力;没有精心策划的目录,也没有权利的承诺。看到 模型。
保存和移除
备份
在更改现有配置之前,Stack将备份写入 ~/.jorgex-stack/backups. 备份不会自动修剪,并且可以占用增长空间:它们一直保留,直到您在菜单中选择Limpiar›Backups antiguos,确认后保留每个标签的3个最新快照,或者直到您手动删除它们。在删除快照之前,检查其中包含哪些原件,哪些需要恢复更改;请勿在活动操作期间删除。
每个操作备份一次原始清单,而每个单元保留所有权,以保留部分故障的证据。Markdown标记和JSON/TOML upserts保存的内容不是Stack的;Stack自己的文件记录在最小的本地清单中。没有重新设置现有的权限配置;只上报漂移,不上报转储内容。 不可读的文件、无效的清单、链接路径或所有权冲突阻塞了受影响的单元;它永远不会被读取为空状态。
在Engram设置之前的备份(engram-setup)只复制setup重写的文件:
- 克劳德代码:
settings.json和.claude.json。 - 食典委:
config.toml,engram-instructions.md和engram-compact-prompt.md。 - OpenCode:
opencode.json[c],tui.json[c]和plugins/engram.ts。
2.0.9之前的版本复制了运行时目录的每个顶级文件,包括凭证(Codex的) auth.json)、历史记录和日志。手动检查和删除任何旧的 *-engram-setup 不需要的快照。
卸载
卸载程序仅删除选定的托管资源,并进行确认和备份。技能有一个 共享全球 范围,申请前公布。它保留运行时、共享工具、默认情况下的Engram、数据库和内存、凭证、会话、浏览器和配置文件,以及任何不属于Stack的东西。Stack拥有的文件可以通过备份删除,即使它被修改;修改后的配置项被保留并释放。清单不会验证所有者是否被篡改:如果您怀疑不一致,请在发生任何突变之前检查或恢复其备份。
文件堆栈没有记录
已经存在于路径Stack项目(子代理,管理技能的文件,Pi头,OpenCode客户端资源)的文件,并且清单不记录被视为其他人的,即使较早的堆栈版本安装了它。它没有被碰触,applicar和Doctor都报告了它是“与经典相同”还是“与经典不同”。
要将其重新置于管理之下,请从installar / configurar或Actualizar应用受影响的单元。Stack逐个文件请求,默认为No。如果你接受:
- 另一个文件被备份到
adopt-<runtime>快照,被佳能取代,被记录为斯塔克的。被采用的子代理保留它所拥有的模型和工作,就像Stack创建的那样。 - 只记录一个相同的文件,没有写入,也没有备份。
从那时起,Stack更新并删除它,就像它自己的资源一样。如果你的回答是否定的,文件仍然属于你,通知会重复;医生不会因此而失败。符号链接、目录和完整的外国技能永远不会被采用。
对于历史装置,没有通用的迁移器。显式删除jorgex-pi包和Stack自己注册的脚本和插件不会迁移会话或历史。备份可以在检查其内容后手动恢复到原始路径;没有公共Restore命令。
早期版本的残余
早期的Stack版本留下了当前版本不再读取的文件和目录。Doctor在每次运行时列出它们,包括路径、大小、类和移除它们的步骤,并进行总结 ~/.jorgex-stack/backups 包含快照数量和总大小。它是只读的:它不删除任何内容,并且它的结果不会因为剩余或备份而改变。检测只靠路径的存在性;每个运行时的 updatedAt 中的,仅在其行更改时更新。
私人:它们只存在于Stack创建的目录中。它们被Limpiar›Residuos de versiones preiores去除。
| 基地 | 路径 |
|---|---|
~/.jorgex-stack/ | install-mode.json, model-map.json, primary-model.json, pi-receipt.json, pi-projection-receipt.json, playwright-cli.json, devtools-mcp.json, packages/, .browser-managed/ |
| π的配置 | stage-* 目录, jorgex-pi/, npm/jorgex-pi-managed/ |
在用户配置中: Stack列出它们并且永远不会删除它们,因为没有清单,它无法证明它们仍然是自己的。在手动删除它们之前,请检查是否没有自定义它们。
| 基地 | 路径 |
|---|---|
| OpenCode配置 | plugins/stack-hooks.ts, commands/xreview.md |
| π的配置 | prompts/lean-audit.md, extensions/jorgex-compact-tools/ |
Limpiar(清理)
Limpiar菜单动作有两个单位。它既不选择section也不选择运行时,永远不会自己运行,并且在没有显式确认的情况下不删除任何内容,默认为No,并说明将删除多少项及其总大小。如果无事可做,它只说不问。
- 以前版本的残留 (早期版本的剩余物):只删除上面表格中的私有剩余物。文件首先备份到
~/.jorgex-stack/backups下cleanup标签;目录在没有备份的情况下被删除,并且确认信息是这样显示的。作为符号链接的剩余部分既不跟随也不移除,以及外部的路径~/.jorgex-stack或者跳过Pi配置;报告了这两起案件。剩饭剩菜不移走,而其settings.json还是注册jorgex-pi或者无法读取:在应用Pi配置之前,它们是正在使用的代码。用户配置中的剩余部分与其手动步骤一起显示,并且保持不变。 - 备份性逗留 (旧备份):保留每个标签的3个最新快照和清单损坏的每个快照,并删除其余的快照。它只删除内部的快照目录
~/.jorgex-stack/backups. 删除的备份无法恢复。
Limpiar不会接触印痕、会话、凭证或斯塔克的清单。
文件中的值医生没有检测到它们,因为它没有检查内容。手动检查和删除它们:
- 这个
chrome-devtoolsOpenCode和Codex配置中的MCP服务器。 theme: "JorgeX"在Pi配置中。- 这个
pi-mcp-adapterPi的依赖关系npm/package.json。
开发和CI
pnpm install --frozen-lockfile
pnpm exec vitest run tests/cli.test.ts
pnpm typecheck
pnpm build
pnpm test
pnpm cli
中声明了开发工具链 package.json;操作使用Node 24和pnpm 11.1.1。没有绒毛或 qa:quality. 看到 测试. 包裹运送一箱(dist/cli.js), stack/,附有许可证和通知;它不输出质量验证者,私人收据或能力,或研究档案。 Quality gate 为每个PR运行真正的类型检查、测试和构建;发布再次验证候选对象。
出版
版本在PR中准备;大大小小的颠簸都需要乔治做出明确的决定。 publish.yml 在合并到时自动发布新版本 main. 一个已经发布并带有有效标签的版本不会产生另一个版本,即使代码或文档发生了变化:合并后没有自动补丁,也没有版本提交。
验证运行 contents:read不可变SHA的主要,类型检查/测试/构建和一个单一的 pnpm pack. 该tarball、它的包和版本标识以及它的SHA-512 SRI作为工件交付发布。OIDC的工作(id-token:write(没有存储库写访问权限)发布这些字节 npm publish --ignore-scripts --provenance 和确认 dist.integrity npm。只有在没有签出和产品执行使用的情况下才会执行任务 contents:write 来创建不可变标记 v<version> 在同一个SHA上。没有bump App,也没有额外的GitHub版本。并发性不会取消活动发布;也不要手动取消。
恢复: workflow_dispatch 主要需要一个满 release_sha (40个十六进制字符),是main的祖先。只有当重建的tarball与其SRI匹配时,才能恢复现有版本;版本永远不会重新发布,标签也永远不会移动。带有已发布版本但没有标记的普通推送需要显式恢复。再次运行发布作业查询npm,如果字节已经匹配,则跳过发布;标记重新运行将保留已确认的SHA。新的历史版本或过时的候选版本因此被阻止 latest 从不后退。没有此脚本和契约的历史版本不能保证兼容性。
只有404表示版本不存在:身份验证、网络或无效元数据错误无法关闭。版本仍然缺席的重新运行失败关闭:等待元数据并在开始另一次发布之前澄清先前的结果。发布后,readback每15秒轮询一次npm,直到它总共等待了5分钟,并且只在注册表因为传播而回答404时等待; 任何其他结果(身份验证或不确定的HTTP、网络、无效的元数据、不同的完整性)都失败,不需要重试。如果超出限制,则版本将不带标记。这并不授权重新发布:一旦npm列出它, gh run rerun <id> --failed 跳过发布,验证SRI并创建标记,而运行的工件仍然保留(7天);之后,使用recovery with release_sha. 如果GitHub实际上拒绝了标签(例如403),npm会保持发布,并且故障是部分的,可以用确切的SHA恢复,而不会自动提升令牌。对于混合工作流和产品没有预防性否决,也不保证任何历史引用的权限。
受信任的发行商,以前的应用资源和秘密,环境和规则集仍然在所有者的管理之下:从代码中删除它们的使用既不会改变它们也不会证明外部权限。禁止将发布作为探测,禁止修改历史包和用户数据。
参考文献
参考文件是用西班牙语写的。
许可证
麻省理工学院的Stack。保留包含在技能和第三方材料中的许可和归属。档案保存了项目本身的历史研究;它分析的外部材料不是存储库的一部分。