ARTICLE DETAIL

资讯详情

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

EcoPaste 本地 Spec 结构定制指南:如何为 AI 工作流扩展规范层、Monorepo 包映射与任务上下文

EcoPaste 本地 Spec 结构定制指南:如何为 AI 工作流扩展规范层、Monorepo 包映射与任务上下文 桌面应用【免费下载链接】EcoPaste跨平台的剪贴板管理工具 | Cross-platform clipboard management tool项目地址https://gitcode.com/ayangweb/EcoPaste点击查看免费下载导读EcoPaste 的工程实践不仅存在于代码本身还沉淀在仓库根目录的.trellis/目录中——这是一套驱动 AI 工程师遵循既定工程约定engineering conventions的本地工作流体系。本文以官方参考文档《Change Local Spec Structure》为核心完整讲解如何通过编辑.trellis/spec/与.trellis/config.yaml为 AI 新增规范层spec layer、调整 Monorepo 包映射、控制 Spec 扫描范围并让具体任务通过 JSONL 清单显式读取新规范。读完本文你将掌握一套可落地、可验证的本地规范结构变更流程并能结合 EcoPaste 仓库中真实存在的 backend / frontend / guides 三层 Spec 结构与配套 Python 脚本get_context.py、task.py理解其底层工作机制。何时需要修改本地 Spec 结构当出现以下需求之一时就需要编辑.trellis/spec/和.trellis/config.yaml调整 AI 遵循的工程约定例如希望 AI 在写前端代码前先检查无障碍a11y要求、在写 Rust 命令时遵循某种事件命名规范新增 Spec 层为后端、前端、文档或测试补充独立的规范目录调整 Monorepo 包映射新增、删除或重命名 config 中声明的 packages改变默认包与扫描范围调整default_package、spec_scope让某个任务读取新规范在任务的implement.jsonl/check.jsonl中追加引用。在动手编辑之前官方文档建议先读完以下四类文件避免在信息不完整的情况下破坏现有约定.trellis/config.yaml—— 全局配置决定了包映射与各类开关.trellis/spec/—— 现有规范目录用于判断新层的放置位置与命名风格.trellis/workflow.md—— 规划产物planning artifact约定与 Phase 3.3 规范更新流程当前任务的implement.jsonl/check.jsonl—— 现有任务已经引用了哪些规范。常见需求与对应编辑位置速查官方文档给出了一张需求 → 编辑位置对照表这是整个变更流程的决策入口需求编辑位置新增后端/前端/文档/测试规范层.trellis/spec/layer/或.trellis/spec/package/layer/新增共享思维指南shared thinking guides.trellis/spec/guides/调整 Monorepo 包映射.trellis/config.yaml中的packages更改默认包.trellis/config.yaml中的default_package控制 Spec 扫描范围.trellis/config.yaml中的spec_scope让某个任务读取新规范任务目录中的implement.jsonl/check.jsonl这套结构在 EcoPaste 仓库中有完整实例.trellis/spec/下真实存在backend/含architecture.md、clipboard-pipeline.md、commands-and-events.md等、frontend/含directory-structure.md、component-guidelines.md、state-management.md等以及guides/含code-reuse-thinking-guide.md、cross-layer-thinking-guide.md根部的 .trellis/spec/index.md 承担索引职责并明确说明当 Spec 与AGENTS.md内容重叠时以AGENTS.md为项目级权威Spec 文件补充源码级细节。新增一个 Spec 层从单仓库到 Monorepo目录结构单仓库single-repository下新增一个安全规范层的目录形如.trellis/spec/security/ ├── index.md └── auth.mdMonorepo 下规范层按包隔离目录形如.trellis/spec/webapp/security/ ├── index.md └── auth.md两种形态的唯一区别是是否带包名前缀。结合 EcoPaste 的config.yaml注释与 .trellis/scripts/common/config.py 中的get_spec_base实现可以确认这一规则单仓库模式返回specMonorepo 且指定包时返回spec/package。index.md 的必备要素官方文档要求每个新规范层的index.md至少包含四部分适用代码范围What code this layer applies to——明确该规范约束哪些模块开发前检查清单Pre-Development Checklist——编码开始前必须逐项确认的事项质量检查项Quality Check——交付前的验证标准指向具体规范文件的链接Links to specific guideline files——让 AI 与人类都能快速深入。可参考 EcoPaste 现有backend/index.md、frontend/index.md的写法层索引用一张 Markdown 表格列出各指南文件及其适用场景再补充层规则Layer Rule与主要参考文件Primary References直接指向src/App.tsx、src/stores/settings.ts等真实源码路径。更新任务上下文让任务真正读取新规范新增 Spec 层不等于每个任务都会自动读取它。官方文档特别强调当前任务必须在 JSONL 清单中显式引用该规范python3 ./.trellis/scripts/task.py add-context task implement .trellis/spec/webapp/security/index.md Security conventions python3 ./.trellis/scripts/task.py add-context task check .trellis/spec/webapp/security/index.md Security review rules两条命令分别把规范写入任务目录下的implement.jsonl供实现阶段的 Agent 编码前阅读与check.jsonl供检查阶段的 Agent 审查时参考。从 .trellis/scripts/common/task_context.py 的cmd_add_context实现可以看到细节jsonl_name支持缩写未带.jsonl后缀会自动补齐路径会被解析为仓库根目录下的绝对路径若路径既不是文件也不是目录会直接报错目录类型会在 JSONL 条目中标记type: directory并在路径末尾补/同一路径重复添加会打印 Warning 并跳过避免清单膨胀实际写入的 JSONL 行形如{file: path, reason: Security conventions}。在 EcoPaste 仓库中任务清单的真实形态可见 .trellis/tasks/archive/2026-06/06-18-windows-capability-permissions/implement.jsonl任务创建时会自动播种一行自描述式的_example种子记录真正的条目由规划阶段由 AI 填写task.py的校验逻辑会跳过这种无file字段的种子行。与任务上下文配套的常用校验/查看命令python3 ./.trellis/scripts/task.py validate dir # 校验 implement.jsonl / check.jsonl 中引用的路径真实存在 python3 ./.trellis/scripts/task.py list-context dir # 列出任务已引用的所有上下文条目及添加原因调整 Monorepo 包映射官方文档给出的.trellis/config.yaml示例packages: webapp: path: apps/web api: path: apps/api default_package: webapp编辑后需要运行python3 ./.trellis/scripts/get_context.py --mode packages用其输出确认 AI 能够看到正确的包与规范层。从 .trellis/scripts/common/config.py 的解析逻辑看packages映射中每个包名的配置需为 dict可含path、type: submodule、git: true等字段标量条目会被过滤get_default_package决定未指定--package时使用的默认包。get_context.py --mode packages的实际输出由 .trellis/scripts/common/packages_context.py 生成单仓库模式直接输出Spec layers:列表Monorepo 模式则逐个列出包名、路径、(default)标记、[submodule]/[git repo]类型、该包下的 Spec 层列表以及共享指南Shared Guides目录。控制 Spec 扫描范围spec_scopespec_scope位于config.yaml的session小节控制get_context.py输出 PACKAGES 上下文时扫描哪些包的 Spec。合法取值从 .trellis/scripts/common/config.py 看有两类字符串active_task只扫描当前激活任务所属的包解析逻辑见_resolve_scope_set优先取任务task.json的package字段缺失时回退到default_package字符串列表如[webapp, api]显式限定允许扫描的包集合列表中无效的包名会被过滤全部无效时回退到任务包或默认包未配置None全量扫描所有包。在get_context.py --mode packages输出中被排除在作用域外的包会标注(out of scope)方便肉眼核对配置是否生效。变更后的收尾检查官方文档在 Notes 部分给出四条纪律前三条关于信息归属Specs 是用户项目的约定可以根据项目需要随时变更不要把临时任务信息写进 Spec——临时信息应放在任务内不要把长期约定只放在 agents 或 commands 里——必须沉淀到 Specs 中这与.trellis/workflow.md的 Phase 3.3Spec update [required · once]相呼应该阶段要求 AI 在任务结束后把新发现的模式、踩过的坑、新技术决策写回.trellis/spec/。最后一条是结构变更后的硬性自检检查现有任务的 JSONL 文件是否仍指向真实存在的文件。这可以用task.py validate dir批量完成——它会逐行解析implement.jsonl/check.jsonl对每条真实条目跳过种子行验证引用的文件或目录是否存在任何失效引用都会以红色✗报错。由于 Spec 目录的移动或包名重命名很容易产生幽灵引用这条自检应当成为每次结构变更的固定收尾动作。在 EcoPaste 中的实际落点规范索引.trellis/spec/index.md 定义了 backend / frontend / guides 三层的职责边界并给出了编辑前的指引如涉及系统剪贴板、持久化、内容检测、OS 集成时从 Rust 层开始前端规范实例.trellis/spec/frontend/index.md 展示了层索引的推荐写法——指南表格 层规则 主要参考文件其中React 只渲染命令结果、不复制数据库状态的 Layer Rule 就是新层index.md可直接借鉴的模板共享思维指南.trellis/spec/guides/index.md 说明跨 Rust、React、SQLite、Tauri 事件、TypeScript 边界的变更应先查阅对应指南并强调用rg搜索后再新增常量或契约的习惯配置解析实现.trellis/scripts/common/config.py 是无第三方依赖的简单 YAML 解析器packages、default_package、session.spec_scope、hooks、session_auto_commit等键的读写行为均可在此验证上下文输出实现.trellis/scripts/common/packages_context.py 对应get_context.py --mode packages的文本/JSON 输出是验证包映射与扫描范围是否生效的最直接工具任务清单管理.trellis/scripts/task.py 的add-context/validate/list-context三个子命令覆盖了让任务读取新规范与变更后自检两个环节。整套流程的关键心智模型是Spec 是长记忆任务是短记忆config 是路由表——长期约定沉淀在.trellis/spec/任务级上下文写在 JSONL包与扫描范围由.trellis/config.yaml统一路由三者通过get_context.py与task.py两个脚本衔接成闭环。赞分享桌面应用【免费下载链接】EcoPaste跨平台的剪贴板管理工具 | Cross-platform clipboard management tool项目地址https://gitcode.com/ayangweb/EcoPaste点击查看免费下载相关推荐EcoPaste 本地 Spec 结构定制指南Trellis 工程规范库的分层、任务关联与包映射调整EcoPaste 本地 Spec 结构定制指南Trellis 工程规范库的分层、任务关联与包映射调整 EcoPaste 通过 Trellis 在本仓库内维护了桌面应用EcoPaste 工程规范结构定制指南用 Trellis 管理 .trellis/spec/ 与 config.yamlEcoPaste 工程规范结构定制指南用 Trellis 管理 .trellis/spec/ 与 config.yaml Trellis 是一套内嵌于仓库桌面应用EcoPaste 中的 Trellis 本地上下文加载定制指南让 AI 准确读取任务、规格与工作区状态EcoPaste 中的 Trellis 本地上下文加载定制指南让 AI 准确读取任务、规格与工作区状态 导读 本文以 EcoPaste 仓库内置的 Trell桌面应用上一篇Create React App 测试指南react-scripts 与 Jest 深度集成全解下一篇如何用开源工具Unlock-Music三分钟解锁音乐加密文件免费终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表