product-planning(同步 26 改 65 新)
- 目录约定:docs/pm/<项目>/ ⇒ <工作区>/项目/<产品slug>/ 为产品根,下分 产品规划/ 与 产品原型/{designs,pages}
- ④段骨架六节 ⇒ 七节(新增「原型地址」;后两节改「页面导航」「原型状态取值」)
- ③段新增真机组件库;结案「源站只有暗色主题」,tokens.css(亮色)标为不可用于生产
- ③段改版规则反转为「一个产品只用一套原型、只留当前态」;②段新增 产品规划模板.md(表头唯一定义处)
- scripts:产品根定位重写(含 .registry/current-project 指针),新增 check_terms.py 与 selftest_product_root.py
session-mechanism(同步 3 改 2 新)
- references/06-技能优化规程.md 新增 §5「要求落在生成时看得见的面上」,总表 16 ⇒ 17 条;SKILL.md 同步
- scripts/collabctl.py 取回 _find_board() 候选定位(旧版写死 scripts/board.py,而看板已搬进 boards/会话看板/ ⇒ 旧版本就是坏的)
element-picker(新装)
- 按用户口径作「独立功能加入 product-planning」,非独立全局技能
- 修掉它自身三处路径漂移(技能根写法 ⇒ 同目录;README 两处旧落点;剪贴板示例文案与代码对齐)
工具归拢到技能级 assets/
- diagram-design / design-capture / element-picker / video-capture 从各段 assets/ 移到技能包 assets/
- 新增红线:本包有两处 assets/(技能级工具箱 vs 段内资产),引工具一律写「技能级 assets/<工具名>/」
- 路径口径由两类改三类(技能级工具箱 / 本段自带资产 / 同根技能)
不入库(磁盘保留)
- design-system-tiaoyue 整个目录(用户 2026-10-16 令):git rm -r --cached + .gitignore,理由=14 MB 且可 CDP 重采;
已在 ③段 SKILL.md 注明「取仓后这一层是空的属正常,用自带套需另取或重采」
- element-picker 的运行期存档 marks/(服务自己会建目录)
108 lines
6.1 KiB
Plaintext
108 lines
6.1 KiB
Plaintext
# ══════════════════════════════════════════════════════════════════════════
|
||
# 🔴🔴 白名单:本仓**只收录对外发布的那几个技能**(用户 2026-10-09 令:「肯定要收回」)
|
||
# 写法=先把根下一律挡掉(`/*`),再逐个放行。⛔ 这样"新冒出来的技能目录"
|
||
# 不会被任何 `git add -A` 顺手捎进仓库 —— 2026-10-08 那 9 个就是这么混进来的。
|
||
# 本轮从索引撤出(**本地文件一律保留**):AI HOT、draw-ui、dsh-diagnose、dsh-knowledge、
|
||
# dsh-local-env、dsh-opensource-release、dsh-workflow、oil-motion、skills-security-check
|
||
# ⚠️ 保留 oil-ui-pro:它是 product-planning 第③段的**功能依赖**(撤了两边都会悬空)。
|
||
# ══════════════════════════════════════════════════════════════════════════
|
||
/*
|
||
!/.gitignore
|
||
# 🔴 2026-10-14 加:行尾符策略文件。它跟 `.gitignore` 一样是**仓级规则**,必须入库 ——
|
||
# ⛔ 不入库的话别的机器取仓后仍按各自 `core.autocrlf` 各行其是,本仓的行尾符约定形同虚设。
|
||
!/.gitattributes
|
||
!/改包纪律.md
|
||
!/browser-harness/
|
||
!/humanizer/
|
||
!/oil-ui-pro/
|
||
!/open-design/
|
||
!/product-planning/
|
||
!/session-mechanism/
|
||
# 🔴 2026-10-12 加(用户当轮令「可以加入」):新建的全局技能 `video-capture`(取视频 + 抽帧)要入库。
|
||
# 判据=product-planning 第③段已把它当**依赖**引用(交接说明指向它)⇒ 仓里有引用、仓里就该有实体;
|
||
# ⛔ 否则别的机器从本仓还原会拿到一个「指向装不出来的技能」的悬空引用。
|
||
# ⚠️ 它目录内的 `env/`、`logs/` 仍被下面那几条本机配置规则挡着 —— 那部分照旧各机器自建。
|
||
!/video-capture/
|
||
|
||
# 🔴 不入库:运行期产物与备份
|
||
# 判据(记忆铁律):技能包=**可复制的资产**;⛔ 运行日志/缓存/备份/本机部署副本一律不入库。
|
||
|
||
# 运行日志(install.py 每次跑都写)
|
||
*.log
|
||
install.log
|
||
*_collabd.log
|
||
# 缓存
|
||
__pycache__/
|
||
*.pyc
|
||
*.pyo
|
||
# 备份(⛔ 备份不是资产,是历史)
|
||
*.bak-*
|
||
*.bak
|
||
*.orig
|
||
*.rej
|
||
*.mutbak
|
||
# 编辑器
|
||
.DS_Store
|
||
Thumbs.db
|
||
*.swp
|
||
*~
|
||
|
||
# 🔴 2026-10-09 改(用户令:「A 肯定要收回」+「别的电脑取仓时不要影响已有文件」):
|
||
# 下面两份是 **install.py 在本机生成**的 ⇒ ⛔ 撤出仓库、改为本机各自生成。
|
||
# 为什么必须撤(实测):别的电脑取仓时「同名覆盖」会把它们换成**我们这台机器**的路径
|
||
# ⇒ 那台机器的机制脚本会去找不存在的目录(`roots.env` 里就是本机绝对路径)。
|
||
session-mechanism/references/manifest.md
|
||
|
||
# 🔴🔴 2026-10-11 加(用户令:「脚本是脚本 配置是配置」⇒「**每个技能 需要环境配置的 都有自己的 env文件夹**」):
|
||
# **每台机器各不同**的配置一律放**该技能包自己的 `env/`**;`scripts/` 只留通用代码。
|
||
# 本仓收录的每个技能 —— 其 `env/` 下**只入库 `*.example` 样例**,真配置一律本机生成、不入库
|
||
# (理由同上面那条:入库 ⇒ 别的电脑取仓时被本机路径覆盖 ⇒ 机制去找不存在的目录)。
|
||
# ⚠️ 三行三种层级都写,避免"某个深度漏挡"(`**/env/*` 覆盖任意层,另两行是它的保守冗余)。
|
||
env/*
|
||
!env/*.example
|
||
*/env/*
|
||
!*/env/*.example
|
||
**/env/*
|
||
!**/env/*.example
|
||
# 兼容旧位置(2026-10-11 之前的布局):包根那份 `roots.env` 也是本机真身 ⇒ 同样不许入库。
|
||
# ⚠️ `roots.env` 不带斜杠 ⇒ 按**文件名**匹配任意层级,正好把「包根旧位置」一并兜住。
|
||
roots.env
|
||
|
||
# 📌 刻意**入库**的(⛔ 别误删):
|
||
# assets/*.png —— 文档配图,是内容不是产物
|
||
|
||
# 🔴 凭据类一律不入库(2026-10-06 发现「当前版本仍跟踪」)
|
||
.neodata_token
|
||
|
||
# 🔴 2026-10-07 补(本目录改成 git 工作区后新增,按实测盘点)
|
||
# 运行期目录(session-mechanism/logs 里是钩子日志,不是资产)
|
||
logs/
|
||
tmp/
|
||
# 机制运行时写的**域锁目录**(handoff-guard 的 `.locks`)—— 运行时产物,⛔ 不入库
|
||
# ⚠️ 用 `**/` 兜两种落点:脚本在 `<技能包>/scripts/` 时 ROOT 算成 `<技能包>` ⇒ 是
|
||
# `<技能包>/05-交接单/`;脚本被整体拷到别处时也可能落成 `<技能包>/scripts/05-交接单/`。
|
||
# ⚠️ 与**文档库仓**的同名目录不冲突:那边的 `05-交接单/` 是锁根、**要**入库,本规则只在本仓生效。
|
||
**/05-交接单/
|
||
# 宿主写的技能库迁移标记(每次启动可能重写,⛔ 不是内容)
|
||
.disable_to_model_invocation_migration.json
|
||
.model_invocation_to_override_migration.json
|
||
.user_invocable_only_to_off_migration.json
|
||
_bm_skillid_migration.json
|
||
# 本机虚拟环境与构建产物(browser-harness 等)
|
||
.venv/
|
||
*.egg-info/
|
||
uv.lock
|
||
node_modules/
|
||
# 本机部署副本与状态(`.workbuddy/` 是**工作区**的东西,⛔ 不该出现在技能库)
|
||
.workbuddy/
|
||
|
||
# 🔴 2026-10-16 用户令:「design-system-tiaoyue」**整个目录不入库**(磁盘保留、照常用)。
|
||
# 判据=体积(14 MB:真机组件库 13 MB + 整站样式合并 1.1 MB)+ 可再采(CDP 直连真机重采即可)。
|
||
# 已入库的 9 个文件用 `git rm -r --cached` 移出(⛔ 磁盘保留)。
|
||
# ⚠️ 取仓后③段 D1 定调拿不到自带套 ⇒ 按 `product-planning/references/stage-delivery/SKILL.md` §供给 另取或重采。
|
||
# 🔴 本行必须留在文件末尾:白名单是「先 /* 全挡、再逐个放行」,否则 `!/product-planning/` 会把它放回来。
|
||
/product-planning/references/stage-delivery/assets/design-systems/design-system-tiaoyue/
|
||
|
||
# 运行期存档(`element-picker` 拾取器每次点「确认」都会往这里追加;服务自己会建目录,不入库)
|
||
/product-planning/assets/element-picker/marks/
|