ys-team 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/AGENTS.md +64 -0
  2. package/CLAUDE.md +33 -0
  3. package/LICENSE +21 -0
  4. package/README.md +130 -0
  5. package/docs/project/module-index.md +61 -0
  6. package/docs/project/npm-publish.md +57 -0
  7. package/docs/project/overview.md +87 -0
  8. package/docs/project/structure.md +22 -0
  9. package/docs/roadmap/active/.gitkeep +1 -0
  10. package/docs/roadmap/cancelled/.gitkeep +1 -0
  11. package/docs/roadmap/completed/.gitkeep +1 -0
  12. package/docs/roadmap/queued/.gitkeep +1 -0
  13. package/docs/specs/active/.gitkeep +1 -0
  14. package/docs/specs/active/20260407-170500-npm-distribution-modes/control.md +121 -0
  15. package/docs/specs/active/20260407-170500-npm-distribution-modes/evidence/20260407-dual-mode-and-publish-readiness.md +58 -0
  16. package/docs/specs/active/20260407-170500-npm-distribution-modes/work-01-global-and-project-install.md +57 -0
  17. package/docs/specs/active/20260407-170500-npm-distribution-modes/work-02-doc-and-publish-readiness.md +61 -0
  18. package/docs/specs/cancelled/.gitkeep +1 -0
  19. package/docs/specs/completed/.gitkeep +1 -0
  20. package/docs/specs/completed/20260331-110000-ys-team-init-and-productization/control.md +139 -0
  21. package/docs/specs/completed/20260331-110000-ys-team-init-and-productization/evidence/20260407-closeout.md +29 -0
  22. package/docs/specs/completed/20260331-110000-ys-team-init-and-productization/work-01-method-and-skill-surface.md +70 -0
  23. package/docs/specs/completed/20260331-110000-ys-team-init-and-productization/work-02-python-java-onboarding.md +74 -0
  24. package/docs/specs/completed/20260331-110000-ys-team-init-and-productization/work-03-next-skill-surface.md +70 -0
  25. package/docs/specs/completed/20260331-110000-ys-team-init-and-productization/work-04-workflow-visibility-and-distribution.md +88 -0
  26. package/docs/specs/completed/20260407-161500-npm-skill-installer/control.md +117 -0
  27. package/docs/specs/completed/20260407-161500-npm-skill-installer/evidence/20260407-npm-installer-closeout.md +38 -0
  28. package/docs/specs/completed/20260407-161500-npm-skill-installer/work-01-cli-install-skills.md +58 -0
  29. package/docs/specs/completed/20260407-161500-npm-skill-installer/work-02-doc-and-package-surface.md +61 -0
  30. package/examples/baseline/.ys_team/README.md +5 -0
  31. package/examples/baseline/.ys_team/VERSION +1 -0
  32. package/examples/baseline/.ys_team/evolution/requests.md +12 -0
  33. package/examples/baseline/.ys_team/methods.md +54 -0
  34. package/examples/baseline/.ys_team/policy.md +81 -0
  35. package/examples/baseline/.ys_team/roles/external/db-migration-auditor.md +5 -0
  36. package/examples/baseline/.ys_team/roles/external/frontend-accessibility-reviewer.md +5 -0
  37. package/examples/baseline/.ys_team/roles/external/observability-reviewer.md +5 -0
  38. package/examples/baseline/.ys_team/roles/external/security-reviewer.md +5 -0
  39. package/examples/baseline/.ys_team/roles/internal/delivery-guard.md +5 -0
  40. package/examples/baseline/.ys_team/roles/internal/doc-spec-steward.md +5 -0
  41. package/examples/baseline/.ys_team/roles/internal/domain-integrator.md +5 -0
  42. package/examples/baseline/.ys_team/roles/internal/project-architect.md +5 -0
  43. package/examples/baseline/.ys_team/status.md +23 -0
  44. package/examples/baseline/.ys_team/team.md +34 -0
  45. package/examples/baseline/.ys_team/templates/control.md +31 -0
  46. package/examples/baseline/.ys_team/templates/roadmap-version.md +20 -0
  47. package/examples/baseline/.ys_team/templates/work.md +30 -0
  48. package/examples/baseline/.ys_team/toolbox/_candidates.md +7 -0
  49. package/examples/baseline/.ys_team/toolbox/_sources.md +7 -0
  50. package/examples/baseline/AGENTS.md +51 -0
  51. package/examples/baseline/CLAUDE.md +32 -0
  52. package/examples/baseline/README.md +54 -0
  53. package/examples/baseline/docs/project/overview.md +5 -0
  54. package/examples/baseline/docs/roadmap/active/.gitkeep +1 -0
  55. package/examples/baseline/docs/roadmap/cancelled/.gitkeep +1 -0
  56. package/examples/baseline/docs/roadmap/completed/.gitkeep +1 -0
  57. package/examples/baseline/docs/roadmap/queued/.gitkeep +1 -0
  58. package/examples/baseline/docs/specs/active/.gitkeep +1 -0
  59. package/examples/baseline/docs/specs/cancelled/.gitkeep +1 -0
  60. package/examples/baseline/docs/specs/completed/.gitkeep +1 -0
  61. package/examples/baseline/docs/specs/queued/.gitkeep +1 -0
  62. package/package.json +33 -0
  63. package/registry/frontend-react.md +10 -0
  64. package/registry/fullstack.md +10 -0
  65. package/registry/general.md +16 -0
  66. package/registry/java-backend.md +9 -0
  67. package/registry/python-backend.md +9 -0
  68. package/scripts/hooks-template.json +18 -0
  69. package/scripts/ys-team.mjs +284 -0
  70. package/skills/ys-team/SKILL.md +112 -0
  71. package/skills/ys-team-doc-build/SKILL.md +159 -0
  72. package/skills/ys-team-init/SKILL.md +161 -0
  73. package/skills/ys-team-rebuild/SKILL.md +89 -0
  74. package/skills/ys-team-spec-talk/SKILL.md +163 -0
  75. package/skills/ys-team-spec-work/SKILL.md +92 -0
  76. package/skills/ys-team-status/SKILL.md +86 -0
  77. package/skills/ys-team-submit/SKILL.md +54 -0
  78. package/skills/ys-team-talk/SKILL.md +25 -0
package/AGENTS.md ADDED
@@ -0,0 +1,64 @@
1
+ # ys-team Repository Instructions
2
+
3
+ 本仓用于沉淀 `ys-team` 方法论、skills、模板和示例文档,目标是为不同技术栈项目提供低侵入接入方式。
4
+
5
+ ## 最高优先级工作流
6
+
7
+ 本仓库使用 `ys-team` 排他工作流。
8
+
9
+ **任何请求必须先经过 `ys-team` 路由。**
10
+
11
+ **如果当前回复末尾没有出现 `ys-team` 可见标志,视为不在 ys-team 工作流中,必须立即切回路由。**
12
+
13
+ ## Primary Rule
14
+
15
+ - 本仓自身使用 `ys-team`。
16
+ - 所有非 trivial 改动先讨论,再以 `docs/specs/` 中的 spec 为准执行和验收。
17
+ - 文档必须反映仓库当前真实状态;实现变化时,同次交付内同步更新。
18
+
19
+ ## Skill 排他规则
20
+
21
+ **禁止自动触发 `.ys_team/toolbox/` 以外的任何 skill。**
22
+
23
+ 已内化的工具清单见 `.ys_team/toolbox/_sources.md`。
24
+ 仅这些工具的能力(以内化后的版本为准)在工作流中可用。
25
+
26
+ 用户如需临时使用未内化的 skill,必须显式指定(如 `/skill-name`)。
27
+ 此时 ys-team 记录该使用行为,作为下次 rebuild 的内化候选。
28
+
29
+ ## 例外
30
+
31
+ 用户在 CLAUDE.md 中显式声明的全局 skill 不受此规则限制。
32
+
33
+ ## 可见标志规则
34
+
35
+ 只要正在执行 `ys-team` 工作流,回复末尾必须出现以下其一:
36
+
37
+ - 路由判断:`` `ys-team` · [判断结果] → [下一步] ``
38
+ - discussion / spec-talk:`**[主持人]** ys-team · spec-talk`
39
+ - spec-work:`**[执行中]** ys-team · spec-work`
40
+ - submit:`**[验收]** ys-team · submit`
41
+ - status:`**[状态]** ys-team · status`
42
+
43
+ 如果缺少这些标志,直接要求:
44
+
45
+ `请先进入 ys-team 工作流,并给出当前阶段标志。`
46
+
47
+ ## Repository Scope
48
+
49
+ - `skills/`:对外发布的 skill 包。
50
+ - `.ys_team/`:本仓自用的 ys-team 本地工作流配置。
51
+ - `docs/project/`:仓库现状、结构和方法论说明。
52
+ - `docs/specs/`:本仓关于 ys-team 后续演进的 spec。
53
+
54
+ ## 现实索引
55
+
56
+ 项目现实索引位于 `docs/project/module-index.md`。
57
+
58
+ 在讨论影响范围、编写 spec 或评估改动风险时,先读取该索引,而不是直接探索代码库。
59
+
60
+ ## Delivery Rules
61
+
62
+ - 默认优先保持方法论简洁,不堆叠过度解释。
63
+ - skill 文案优先写"原则"和"边界",避免把方法论写成硬流程。
64
+ - README 面向使用者,文档要说明 Python / Java 项目如何低成本开始使用。
package/CLAUDE.md ADDED
@@ -0,0 +1,33 @@
1
+ # CLAUDE.md
2
+
3
+ 本仓库默认使用 `ys-team` 排他工作流。
4
+
5
+ ## 第一优先级
6
+
7
+ - 任何非 trivial 请求,先执行 `ys-team` 路由判断,再决定是 discussion、spec、work 还是 submit。
8
+ - 如果当前回复没有出现 `ys-team` 可见标志,视为还没进入工作流;此时应立即切回 `ys-team` 路由。
9
+
10
+ ## 可见标志
11
+
12
+ 只要正在执行 `ys-team` 工作流,回复末尾必须出现以下其一:
13
+
14
+ - 路由判断:`` `ys-team` · [判断结果] → [下一步] ``
15
+ - discussion / spec-talk:`**[主持人]** ys-team · spec-talk`
16
+ - spec-work:`**[执行中]** ys-team · spec-work`
17
+ - submit:`**[验收]** ys-team · submit`
18
+ - status:`**[状态]** ys-team · status`
19
+
20
+ 如果缺少这些标志,直接切回:
21
+
22
+ `请先进入 ys-team 工作流,并给出当前阶段标志。`
23
+
24
+ ## 排他规则
25
+
26
+ - 禁止自动触发 `.ys_team/toolbox/` 以外的任何 skill
27
+ - 用户在本文件中显式声明的全局 skill 例外
28
+
29
+ ## 当前仓库约束
30
+
31
+ - 现实索引优先读取 `docs/project/module-index.md`
32
+ - 非 trivial 改动先讨论,再按 `docs/specs/` 执行和验收
33
+ - 文档、skills、baseline 与状态文件必须同次交付同步
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ys
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,130 @@
1
+ # ys-team
2
+
3
+ `ys-team` 是一组用于组织 AI 员工工作的 skills,以及围绕这些 skills 的项目本地化方法论。
4
+
5
+ 当前仓库按三层组织:
6
+
7
+ - `ys-team`:方法论本体
8
+ - `examples/baseline/`:默认工作流骨架
9
+ - `ys-team-init` / `ys-team-rebuild`:把默认骨架落到具体项目,或在项目变化后重估本地规则
10
+
11
+ ## The Zen of ys-team
12
+
13
+ - 现实先于生成。
14
+ - 规格先于执行。
15
+ - 讨论归于收敛。
16
+ - 证据胜于感觉。
17
+
18
+ ## 这是什么
19
+
20
+ `ys-team` 不是固定流程图,也不是重型治理平台。
21
+
22
+ 它提供的是一组稳定约束:
23
+
24
+ - 项目必须有能反映真实状态的共享现实索引。
25
+ - 非 trivial 工作先收敛为 spec,再依据 spec 执行和验收。
26
+ - 多角色讨论用于覆盖风险并形成收敛结论。
27
+ - 交付结果必须可验证、可追溯。
28
+
29
+ ## 当前推荐使用方式
30
+
31
+ 当前版本建议只记两步:
32
+
33
+ 1. 获取本仓 `skills/` 下的技能目录,并安装到你的本地 skills 目录。
34
+ 2. 说 “帮我安装/更新 https://github.com/dwp7399/ys-team 这里的 skills,然后用里面的 init,初始化我的项目。然后更新 agents.md 和 claude.md,使用 ys-team 作为最优先使用工作流”
35
+
36
+ 对 Python / Java 项目,当前起步动作保持一致:
37
+
38
+ - Python 项目:先安装 skills,再用 `ys-team-init` 生成项目本地 `.ys_team/`、`docs/specs/` 和现实索引
39
+ - Java 项目:同样先安装 skills,再用 `ys-team-init` 落地本地基线;Java 差异主要体现在 init 对构建工具、多模块和兼容性边界的识别,而不是要求先改业务代码
40
+
41
+ ## 工作流可见标志
42
+
43
+ 只要当前回复处于 `ys-team` 工作流中,末尾必须出现明显标志:
44
+
45
+ - 路由判断:`` `ys-team` · [判断结果] → [下一步] ``
46
+ - discussion / spec-talk:`**[主持人]** ys-team · spec-talk`
47
+ - spec-work:`**[执行中]** ys-team · spec-work`
48
+ - submit:`**[验收]** ys-team · submit`
49
+ - status:`**[状态]** ys-team · status`
50
+
51
+ 如果没有这些标志,说明当前回复还没真正进入 `ys-team` 工作流,可以直接要求:
52
+
53
+ `请先进入 ys-team 工作流,并给出当前阶段标志。`
54
+
55
+ ## npm 分发现状
56
+
57
+ 当前仓库已经有 npm 包元数据,并提供两种 npm 安装模式,但还不是完整的一键初始化器。
58
+
59
+ 当前 npm 面提供的是:
60
+
61
+ - 发布 `skills/`、`examples/baseline/`、`registry/`、文档和脚本
62
+ - 一个最小 CLI 入口:`npx ys-team --help`
63
+ - 全局安装:把包内 skills 安装到 `~/.agents/skills`
64
+ - 项目级安装:把包内 skills 安装到项目的 `.agents/skills`,并下发 baseline 版 `AGENTS.md` / `CLAUDE.md`
65
+ - 支持显式目标目录、项目目录和安全覆盖控制:`--dest`、`--dir`、`--force`、`--dry-run`
66
+
67
+ 当前 npm 面还**没有**:
68
+
69
+ - 自动执行 `ys-team-init`
70
+ - 自动登录或发布到 npm registry
71
+
72
+ 全局安装模式:
73
+
74
+ ```bash
75
+ npx ys-team install-skills
76
+ ```
77
+
78
+ 全局安装到自定义目录:
79
+
80
+ ```bash
81
+ npx ys-team install-skills --dest /path/to/skills
82
+ ```
83
+
84
+ 项目级安装模式:
85
+
86
+ ```bash
87
+ npx ys-team init-project --dir /path/to/project
88
+ ```
89
+
90
+ 项目级安装会:
91
+
92
+ - 写入 `/path/to/project/.agents/skills`
93
+ - 写入 `/path/to/project/AGENTS.md`
94
+ - 写入 `/path/to/project/CLAUDE.md`
95
+
96
+ 两种模式后续都仍需在目标仓库里执行 `ys-team-init`。
97
+
98
+ ## npm 发布状态
99
+
100
+ 当前仓库已经具备**可发布到 npm registry** 的包形态,包括:
101
+
102
+ - CLI 入口
103
+ - `publishConfig.access = public`
104
+ - 可通过 `npm pack --dry-run` 验证的打包内容
105
+
106
+ 但这不等于已经完成真实发布。真实发布仍需要:
107
+
108
+ - npm 账号
109
+ - `npm login`
110
+ - 可能的 token / 2FA 配置
111
+ - 在发布环境执行 `npm publish`
112
+
113
+ ## 本仓结构
114
+
115
+ - `skills/`:对外发布的 ys-team skills
116
+ - `examples/baseline/`:默认工作流骨架
117
+ - `.ys_team/`:本仓自用工作流基线
118
+ - `docs/project/`:仓库现状说明
119
+ - `docs/specs/`:后续演进 spec
120
+
121
+ 其中 `skills/` 还包含一组静默内部能力,用于支撑默认工作流完整落地,但不要求用户主动理解或显式调用。
122
+
123
+ ## 当前边界
124
+
125
+ 当前仓库先收口四件事:
126
+
127
+ - `ys-team` 的理念入口
128
+ - `examples/baseline/` 的默认工作流表达
129
+ - `ys-team-init` 的项目初始化职责
130
+ - `ys-team-rebuild` 的本地规则重估职责
@@ -0,0 +1,61 @@
1
+ # Module Index
2
+
3
+ **Project Type**: Markdown-first method repository
4
+ **Project Scale**: Small
5
+ **Index Strategy**: Core module index
6
+ **Last Updated**: 2026-04-07
7
+
8
+ ## `skills/`(方法入口与执行能力)
9
+ **职责**:`skills/` 承载对外公开的 `ys-team` 方法入口,以及 init、rebuild、doc-build、spec-talk、spec-work、status、submit 等执行能力。它决定用户如何理解 ys-team,以及仓库如何把 baseline 和本地 reality 连接起来。
10
+
11
+ **关系**:
12
+ - 入口:`skills/ys-team/SKILL.md`, `skills/ys-team-init/SKILL.md`, `skills/ys-team-rebuild/SKILL.md`, `skills/ys-team-doc-build/SKILL.md`
13
+ - 依赖:`examples/baseline/`, `.ys_team/`, `docs/project/`, `README.md`
14
+ - 被依赖:使用 ys-team 的外部仓库、方法仓自测与演进
15
+
16
+ ## `examples/baseline/`(默认工作流骨架)
17
+ **职责**:`examples/baseline/` 是 `ys-team-init` 和 `ys-team-rebuild` 的默认来源,提供最小公开心智下的 `.ys_team/` 结构和项目目录骨架。它不是具体项目实现,而是可被项目本地化的起点。
18
+
19
+ **关系**:
20
+ - 入口:`examples/baseline/.ys_team/*`, `examples/baseline/AGENTS.md`, `examples/baseline/README.md`
21
+ - 依赖:方法论定义来自 `skills/ys-team/*` 与仓库文档
22
+ - 被依赖:`ys-team-init`, `ys-team-rebuild`, 外部项目初始化流程
23
+
24
+ ## `.ys_team/`(方法仓自用本地基线)
25
+ **职责**:本仓自己的 `.ys_team/` 用来“用 ys-team 管理 ys-team”,把方法仓的 spec、文档同步和交付约束落到仓库内部。它在 baseline 之上保留方法仓特有角色,如方法论架构、初始化接入和交付守门。
26
+
27
+ **关系**:
28
+ - 入口:`.ys_team/team.md`, `.ys_team/methods.md`, `.ys_team/policy.md`, `.ys_team/templates/*`
29
+ - 依赖:`examples/baseline/.ys_team/` 提供稳定骨架版本,`docs/project/*` 提供仓库现实
30
+ - 被依赖:本仓 specs、方法仓自身 rebuild 判断
31
+
32
+ ## `docs/project/`(方法论现实与结构说明)
33
+ **职责**:`docs/project/` 记录 ys-team 仓库现状、结构和模块职责,是本仓文档权威入口。它负责解释方法论仓库当前承载了哪些能力、哪些目录是对外骨架、哪些是仓库自用配置。
34
+
35
+ **关系**:
36
+ - 入口:`docs/project/overview.md`, `docs/project/structure.md`, `docs/project/module-index.md`
37
+ - 被依赖:`.ys_team/policy.md`, `skills/*/SKILL.md`, `README.md`
38
+
39
+ ## `README.md` / `AGENTS.md`(对外接入与协作口径)
40
+ **职责**:`README.md` 面向用户解释 ys-team 的接入方式和公开心智,`AGENTS.md` 则约束仓库内 agent 协作规则。它们是方法仓从“定义”走向“使用”的外部表面。
41
+
42
+ **关系**:
43
+ - 入口:`README.md`, `AGENTS.md`
44
+ - 依赖:`skills/`, `examples/baseline/`, `docs/project/`
45
+ - 被依赖:使用者、贡献者、仓库内协作流程
46
+
47
+ ## `CLAUDE.md` / `examples/baseline/AGENTS.md` / `examples/baseline/CLAUDE.md`(工作流可见标志下发面)
48
+ **职责**:这一组文件把 `ys-team` 排他工作流和可见标志规则下发到仓库自身与 baseline 默认骨架中,让使用者能通过响应末尾标志判断当前是否真的处于 ys-team 工作流。
49
+
50
+ **关系**:
51
+ - 入口:`CLAUDE.md`, `AGENTS.md`, `examples/baseline/AGENTS.md`, `examples/baseline/CLAUDE.md`
52
+ - 依赖:`skills/ys-team/SKILL.md`, `skills/ys-team-spec-talk/SKILL.md`, `skills/ys-team-spec-work/SKILL.md`, `skills/ys-team-submit/SKILL.md`, `skills/ys-team-status/SKILL.md`
53
+ - 被依赖:本仓协作、下游仓库初始化后的默认工作流
54
+
55
+ ## `package.json` / `scripts/`(npm 双模式安装与发布面)
56
+ **职责**:`package.json` 和 `scripts/` 提供 ys-team 当前的 npm 分发与安装能力:全局模式通过 `install-skills` 安装到 `~/.agents/skills`,项目模式通过 `init-project` 安装到项目内 `.agents/skills` 并下发 baseline 版 `AGENTS.md` / `CLAUDE.md`。同时它们承担 npm 可发布形态的元数据配置。
57
+
58
+ **关系**:
59
+ - 入口:`package.json`, `scripts/ys-team.mjs`
60
+ - 依赖:`README.md`, `skills/`, `examples/baseline/`, `registry/`
61
+ - 被依赖:npm 包使用者、分发验证
@@ -0,0 +1,57 @@
1
+ # npm 发布说明
2
+
3
+ ## 当前状态
4
+
5
+ 仓库当前已经具备 **可发布到 npm registry** 的包形态:
6
+
7
+ - `package.json` 已声明 `bin`
8
+ - `publishConfig.access` 已设为 `public`
9
+ - `npm pack --dry-run` 可通过
10
+
11
+ ## 安装模式
12
+
13
+ ### 全局模式
14
+
15
+ ```bash
16
+ npx ys-team install-skills
17
+ ```
18
+
19
+ 默认写入:
20
+
21
+ ```text
22
+ ~/.agents/skills
23
+ ```
24
+
25
+ ### 项目模式
26
+
27
+ ```bash
28
+ npx ys-team init-project --dir /path/to/project
29
+ ```
30
+
31
+ 默认写入:
32
+
33
+ - `/path/to/project/.agents/skills`
34
+ - `/path/to/project/AGENTS.md`
35
+ - `/path/to/project/CLAUDE.md`
36
+
37
+ ## 真实发布仍需的条件
38
+
39
+ 以下步骤尚未在仓库内自动化:
40
+
41
+ 1. 准备 npm 账号
42
+ 2. 执行 `npm login`
43
+ 3. 如启用 2FA,按 npm 要求完成验证
44
+ 4. 在发布环境中执行:
45
+
46
+ ```bash
47
+ npm publish
48
+ ```
49
+
50
+ ## 建议发布前检查
51
+
52
+ ```bash
53
+ node scripts/ys-team.mjs --help
54
+ node scripts/ys-team.mjs install-skills --dry-run
55
+ node scripts/ys-team.mjs init-project --dir /tmp/ys-team-project-check --dry-run
56
+ npm pack --dry-run
57
+ ```
@@ -0,0 +1,87 @@
1
+ # ys-team 项目概览
2
+
3
+ ## 项目定位
4
+
5
+ `ys-team` 是一个面向 AI 团队治理的轻量方法论仓库。
6
+
7
+ 它的目标不是提供重型流程系统,而是提供:
8
+
9
+ - 一组稳定的治理原则
10
+ - 一组可分发的 skills
11
+ - 一套可在项目内本地化的 baseline 工作流
12
+ - 一种以 Spec 为中心的工作方式
13
+
14
+ ## 当前状态
15
+
16
+ 当前仓库已完成第一版骨架,并进入收口阶段,主要承载:
17
+
18
+ - `ys-team` 理念入口 skill
19
+ - `examples/baseline/` 默认工作流骨架
20
+ - `ys-team-init` 初始化 skill
21
+ - `ys-team-rebuild` 重建 skill
22
+ - 一组支撑 discussion / spec / work / acceptance 的静默内部 skills
23
+ - 一份供本仓和下游项目共用的 baseline version / reality index 约束
24
+ - 本仓自用的 `.ys_team/` 配置
25
+ - 一组用于收口产品化细节并可继续演进的 specs
26
+
27
+ ## 核心原则
28
+
29
+ - 现实先于生成。
30
+ - 规格先于执行。
31
+ - 讨论归于收敛。
32
+ - 证据胜于感觉。
33
+
34
+ ## 目标用户
35
+
36
+ - 想在项目内使用 AI 员工协作的团队
37
+ - 想以低侵入方式给 Python 或 Java 项目接入 spec-first 工作方式的团队
38
+ - 想把项目本地规则和全局方法论分层管理的团队
39
+
40
+ ## 当前边界
41
+
42
+ 当前仓库先不追求完整的技能矩阵和自动化安装器。
43
+
44
+ 当前优先级是:
45
+
46
+ 1. 收口方法论定义
47
+ 2. 明确 baseline / init / rebuild 的职责边界
48
+ 3. 给 Python / Java 项目提供可解释、可起步的接入方式
49
+ 4. 让 init 后的项目能直接进入类似 `ai-gateway` 的默认工作流
50
+ 5. 让 ys-team 工作流在用户响应中具备稳定、明显的可见标志
51
+
52
+ ## 工作流可见标志
53
+
54
+ `ys-team` 当前要求所有工作流响应在末尾留下明显标志,用来判断是否真的处于工作流内。
55
+
56
+ - 路由判断:`` `ys-team` · [判断结果] → [下一步] ``
57
+ - discussion / spec-talk:`**[主持人]** ys-team · spec-talk`
58
+ - spec-work:`**[执行中]** ys-team · spec-work`
59
+ - submit:`**[验收]** ys-team · submit`
60
+ - status:`**[状态]** ys-team · status`
61
+
62
+ 如果缺少这些标志,应视为还没有真正进入 ys-team 工作流。
63
+
64
+ ## npm 分发边界
65
+
66
+ 仓库已提供双模式 npm 安装面:
67
+
68
+ - 全局模式:通过 `install-skills` 安装到 `~/.agents/skills`
69
+ - 项目模式:通过 `init-project` 安装到项目内 `.agents/skills`,并下发 baseline 版 `AGENTS.md` / `CLAUDE.md`
70
+
71
+ 当前 npm 面已经能完成“把 ys-team skills 装到用户级或项目级目录”这一核心动作。
72
+
73
+ 当前仍不把 npm 包定义为完整安装器;目标项目接入仍需要后续执行 `ys-team-init`。
74
+
75
+ 另一个边界是:仓库已具备可发布形态,但真实 npm registry 发布仍依赖发布者自己的 npm 账号和凭证。
76
+
77
+ ## 默认落地模型
78
+
79
+ 当前仓库的落地模型是:
80
+
81
+ - `ys-team` 提供方法论和公开入口
82
+ - `examples/baseline/` 承载默认工作流骨架
83
+ - `.ys_team/` 作为方法仓自用本地基线,并显式对齐 baseline version
84
+ - `ys-team-init` 把 baseline 按项目现实落到本地
85
+ - 静默内部 skills 支撑 discussion、spec、work、status、submit 等能力
86
+
87
+ 目标不是让用户理解全部 skill,而是让用户在 init 后直接开始工作。
@@ -0,0 +1,22 @@
1
+ # ys-team 仓库结构
2
+
3
+ - `skills/`
4
+ - 对外发布的 ys-team skills
5
+ - 同时包含支撑默认工作流的静默内部 skills
6
+ - `CLAUDE.md` / `AGENTS.md`
7
+ - 仓库级协作入口
8
+ - 明确 ys-team 排他工作流与可见标志规则
9
+ - `examples/baseline/`
10
+ - 默认工作流骨架,作为 `ys-team-init` 的默认来源
11
+ - 包含会下发到项目的 `AGENTS.md` / `CLAUDE.md` 默认约束
12
+ - `.ys_team/`
13
+ - 本仓自用的 ys-team 本地工作流基线
14
+ - `docs/project/`
15
+ - 仓库现状、结构、方法论说明和 module index
16
+ - `docs/specs/`
17
+ - 本仓后续演进 spec
18
+ - `docs/roadmap/`
19
+ - 版本或阶段级规划,当前仅保留目录
20
+ - `package.json` / `scripts/`
21
+ - npm 分发元数据和 CLI 安装入口
22
+ - 当前提供 `install-skills` 与 `init-project` 两个命令
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,121 @@
1
+ ---
2
+ Spec-Type: control
3
+ Initiative: 20260407-170500-npm-distribution-modes
4
+ Status: active
5
+ Owner-Session: ys-team
6
+ Write-Scope: []
7
+ Depends-On: []
8
+ Parallel-With: []
9
+ Blocked-By: ""
10
+ Verification: "Manual review of CLI modes, README/docs consistency, and npm dry-run output."
11
+ Integration-Gate: |
12
+ 1. 全局安装默认目录切换到 `~/.agents/skills`。
13
+ 2. npm CLI 同时支持全局安装和项目级安装两种模式。
14
+ 3. 项目级安装不依赖全局 skills,能在项目中直接获得本地 `AGENTS.md` / `CLAUDE.md` 与 `.agents/skills`。
15
+ 4. 发布文档明确区分“已具备可发布形态”和“实际发布到 npm registry 仍需账号凭证”。
16
+ ---
17
+
18
+ # npm 分发模式收口
19
+
20
+ ## Background
21
+
22
+ 当前 npm CLI 已具备最小 skills 安装能力,但默认目录还是 `~/.codex/skills`,且只覆盖全局型安装。
23
+
24
+ 用户现在需要两种分发模式:
25
+
26
+ - 全局安装:安装到用户级 skills 目录,后续在项目里运行 init
27
+ - 项目级安装:不依赖全局 skills,直接把本地 skills 和协作入口装到项目里
28
+
29
+ ## Goals
30
+
31
+ - 把全局安装默认目录改为 `~/.agents/skills`
32
+ - 增加项目级安装命令
33
+ - 明确 npm registry 发布边界与所需条件
34
+
35
+ ## Non-goals
36
+
37
+ - 本次不直接执行真实 `npm publish`
38
+ - 本次不实现远程凭证管理
39
+ - 本次不自动执行项目内的 `ys-team-init`
40
+
41
+ ## Deliverables
42
+
43
+ - 更新后的 npm CLI
44
+ - README / 项目文档中的双模式安装说明
45
+ - 发布说明或脚本入口
46
+
47
+ ## Acceptance Criteria
48
+
49
+ - `install-skills` 默认指向 `~/.agents/skills`
50
+ - 存在项目级安装命令,能落地 `.agents/skills` 与项目协作入口文件
51
+ - 文档清楚说明“当前代码已可发布,但真正发布仍需要 npm 账号/token/2FA”
52
+
53
+ ## Collaboration Summary
54
+
55
+ - Participants:
56
+ - method-architect
57
+ - product-evolution-owner
58
+ - delivery-guard
59
+ - Participant Titles:
60
+ - 方法论架构师
61
+ - 产品演进负责人
62
+ - 交付守门人
63
+ - Discussion Rounds:
64
+ - 1
65
+ - Escalations:
66
+ - None
67
+ - Reporter:
68
+ - method-architect
69
+ - Reporter Title:
70
+ - 方法论架构师
71
+ - Estimated Cost:
72
+ - 1
73
+ - Submit Recommendation:
74
+ - Yes
75
+
76
+ ## Discussion Digest
77
+
78
+ - 方法论架构师:
79
+ - 双模式安装应保持边界清晰,不让项目级安装和 init 混成同一件事。
80
+ - 产品演进负责人:
81
+ - 项目级安装必须能让用户在仓库内立即看到 ys-team 入口,不依赖全局环境。
82
+ - 交付守门人:
83
+ - 发布能力要区分“代码形态已就绪”和“真实 registry 发布已完成”。
84
+
85
+ ## Delivery Plan
86
+
87
+ - `work-01`:切换默认全局目录并新增项目级安装命令
88
+ - `work-02`:同步 README / docs / publish 说明
89
+
90
+ ## Verification
91
+
92
+ - `node scripts/ys-team.mjs --help`
93
+ - `node scripts/ys-team.mjs install-skills --dry-run`
94
+ - `node scripts/ys-team.mjs init-project --dir /tmp/ys-team-project-check --force`
95
+ - `npm pack --dry-run`
96
+
97
+ ## Acceptance Evidence
98
+
99
+ ### 文件清单
100
+
101
+ - `docs/specs/active/20260407-170500-npm-distribution-modes/control.md`
102
+
103
+ ### 验收要求
104
+
105
+ - 双模式安装和发布边界都能被人工复核
106
+
107
+ ## Documentation Updates
108
+
109
+ - `README.md`
110
+ - `docs/project/overview.md`
111
+ - `docs/project/structure.md`
112
+ - `docs/project/module-index.md`
113
+
114
+ ## Risks
115
+
116
+ - 如果项目级安装写入策略过重,可能覆盖用户已有项目入口文件
117
+ - 如果发布文案不够明确,用户会误以为已经完成 registry 发布
118
+
119
+ ## Rollback Plan
120
+
121
+ - 回退到只保留全局安装模式,并恢复文档为“可发布但未发布”
@@ -0,0 +1,58 @@
1
+ # Progress Evidence
2
+
3
+ ## Implemented
4
+
5
+ - 默认全局安装目录已切换到 `~/.agents/skills`
6
+ - `install-skills` 支持全局安装
7
+ - `init-project` 支持项目级安装,并写入:
8
+ - `.agents/skills`
9
+ - `AGENTS.md`
10
+ - `CLAUDE.md`
11
+ - README / 项目文档 / 发布说明已同步
12
+ - `package.json` 已设置 `publishConfig.access = public`
13
+
14
+ ## Verification
15
+
16
+ ### `node scripts/ys-team.mjs --help`
17
+
18
+ - 结果:PASS
19
+
20
+ ### `node scripts/ys-team.mjs install-skills --dry-run`
21
+
22
+ - 结果:PASS
23
+ - 说明:默认目标目录已显示为 `~/.agents/skills`
24
+
25
+ ### `node scripts/ys-team.mjs init-project --dir /tmp/ys-team-project-check --force`
26
+
27
+ - 结果:PASS
28
+ - 说明:已写入项目本地 `.agents/skills`、`AGENTS.md`、`CLAUDE.md`
29
+
30
+ ### `npm pack --dry-run`
31
+
32
+ - 结果:PASS
33
+ - 说明:tarball 已包含双模式 CLI、发布说明和相关文档
34
+
35
+ ### `npm whoami`
36
+
37
+ - 结果:PASS
38
+ - 说明:当前环境可识别 npm 用户 `ys7399`
39
+
40
+ ### `npm view ys-team version name`
41
+
42
+ - 结果:PASS
43
+ - 说明:返回 404,说明 `ys-team` 包名当前未被占用
44
+
45
+ ### `npm publish`
46
+
47
+ - 结果:BLOCKED
48
+ - 说明:registry 返回 `E403`,当前凭证不满足 publish 要求,需要 OTP 或带 `bypass 2fa` 的 granular access token
49
+
50
+ ## Current Conclusion
51
+
52
+ 代码形态已经 ready to publish。
53
+
54
+ 真实发布仍阻塞于:
55
+
56
+ - publish 级别凭证
57
+ - 可能的 OTP
58
+ - 或重新生成带 `bypass 2fa` 的 granular access token