@freelog-cli/cli2 0.5.5 → 0.5.6

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.
@@ -15,7 +15,8 @@
15
15
  | 线上已有发行版本 | `bind <资源ID或username/name> --artifact <文件或构建目录>`,再 `version draft pull` 和 `update-version` | 用 `create-version` 再发 1.0.0。 |
16
16
  | 已有本地身份和未提交工作稿 | `version show --local` 后继续编辑或丢稿 | 手工编辑工作稿 JSON。 |
17
17
  | 同一工程有多份资源身份 | 先用 `status --resource id:<资源ID>`、`name:<标识>` 或 `artifact:<文件>` 确认目标,再在后续命令沿用同一 `--resource` | 用 `--artifact` 上传参数、标题或状态文件顺序猜测目标。 |
18
- | 只改展示信息、策略或上下架 | 进入资源管理命令 | 为此创建新版本或新资源壳。 |
18
+ | 只改展示信息、策略或上下架 | 进入资源管理命令 | 为此创建新版本或新资源壳。 |
19
+ | 创建或管理合集 | 阅读[合集使用教程](./合集/README.md),以线上已上架单资源作为单品 | 把本地素材、主题工程或单资源工作稿直接当作合集单品。 |
19
20
 
20
21
  ## 场景一:从空目录发行普通文件首版
21
22
 
@@ -123,7 +124,7 @@ freelog-cli update-version --bump patch --yes --env dev
123
124
 
124
125
  首版先 `create-version --prepare`,更新版先 `version draft pull`,之后再用 `version attr`、`version dep` 和 `version draft description` 编辑;仅当当前类型支持时才用 `version option`。依赖签约时从对方显示的**全部启用策略**中选择;签约成功后才写入工作稿。文件分析变化出现待复核附加属性时,先 `version attr review`,逐项决定保留等待恢复或 `review discard <key>`。详情见 [版本工作稿](./04-版本工作稿.md)。
125
126
 
126
- 展示信息、策略、上架和下架不属于版本工作稿;按 [资源管理](./05-资源管理.md) 单独操作。合集、批量资源、前端库/package 模板和支付不在本期单资源 CLI 范围内。
127
+ 展示信息、策略、上架和下架不属于版本工作稿;按 [资源管理](./05-资源管理.md) 单独操作。合集有独立的[使用教程](./合集/README.md),不与单资源工作稿混用;批量资源、前端库/package 模板和支付不在本期单资源 CLI 范围内。
127
128
 
128
129
  ## 场景九:只修改一个已发布版本的说明
129
130
 
@@ -1,6 +1,6 @@
1
1
  # 完整命令参考
2
2
 
3
- 本页是发布包内的命令索引:列出当前 CLI 的全部公开命令、何时使用以及它会不会改变线上资源或本地文件。首次完成任务请优先看[按场景操作](./09-按场景操作.md);执行已知命令、编写脚本或排查影响时以本页为准。
3
+ 本页是单资源命令索引:列出当前单资源 CLI 命令、何时使用以及它会不会改变线上资源或本地文件。合集命令和场景请查独立的[合集使用教程](./合集/README.md);首次完成单资源任务请优先看[按场景操作](./09-按场景操作.md)。
4
4
 
5
5
  所有示例省略 `freelog-cli` 前缀后的公共参数。推荐每次显式传 `--env dev` 或 `--env test`。除 `login`、`logout`、`init`、`template`、`type`、新增/接续生命周期的 `create` / `bind`、批量 `resource sync` 与由未决记录固定目标的 `resource recover` 外,**本页每一条命令都接受并在多资源工程中需要** `--resource <selector>`。`--yes` 只跳过交互确认,不会放宽校验。详细选择规则见[首页](./README.md#多资源工程先选身份再给产物)。
6
6
 
@@ -1,8 +1,8 @@
1
1
  # Freelog CLI 使用手册
2
2
 
3
- 这是一套面向**一个资源一次一条命令**的 CLI:支持普通文件、主题和插件。一个工程可以保存多份独立资源身份,但除 `resource sync` 外,一条涉及资源的命令只会处理其中一份。本手册以“先按场景完成工作,再按命令查准确行为”为组织原则;无需阅读设计文档或源码。
3
+ 这是一套面向**一个主体一次一条命令**的 CLI:单资源支持普通文件、主题和插件;合集有独立的实验性教程。一个工程可以保存多份独立资源或合集身份,但除 `resource sync` 外,一条命令只会处理其中一份。本手册以“先按场景完成工作,再按命令查准确行为”为组织原则;无需阅读设计文档或源码。
4
4
 
5
- 不在本期范围:合集、批量发行、前端库模板、支付、session 与 studio 多账号。
5
+ 单资源手册不覆盖合集的独立流程;合集教程见下方。批量发行、前端库模板、支付、session 与 studio 多账号仍不在本期范围。
6
6
 
7
7
  ## 先安装 CLI
8
8
 
@@ -37,7 +37,8 @@ freelog-cli --help
37
37
 
38
38
  | 你的目标 | 阅读 |
39
39
  |---|---|
40
- | 第一次登录并发行一个普通文件 | [快速开始](./01-快速上手.md) |
40
+ | 第一次登录并发行一个普通文件 | [快速开始](./01-快速上手.md) |
41
+ | 创建或管理合集(实验性,独立于单资源流程) | [合集使用教程](./合集/README.md) |
41
42
  | 先按自己所处的情形找到完整操作路径 | [按场景操作](./09-按场景操作.md) |
42
43
  | 创建、发新版本、接入已有资源 | [资源生命周期](./02-日常路径.md) |
43
44
  | 创建主题或插件并发布构建产物 | [主题与插件](./03-主题与插件.md) |
@@ -0,0 +1,196 @@
1
+ # 合集首次发行与发布
2
+
3
+ 本页把首次发行拆成可独立停止、重试的步骤。它不是一个“创建后自动发布”的事务:每一步只改变自己负责的事实。
4
+
5
+ 示例中的 `<...>` 都必须替换;建议先在隔离工程执行,并始终显式传入 `--env dev`。
6
+
7
+ ## 0. 准备条件
8
+
9
+ 1. 已安装 CLI 且 Node.js 为 20 或更高版本;安装与登录见[主手册](../README.md)。
10
+ 2. 已登录当前工程:
11
+
12
+ ```powershell
13
+ freelog-cli login --env dev
14
+ ```
15
+
16
+ 3. 要加入合集的单品已经各自完成“单资源创建版本 → 策略 → 上架”。合集不会替它们上传文件或创建版本。
17
+
18
+ ## 1. 创建合集壳
19
+
20
+ 创建时必须选择**合集最终叶子类型**,填写标题和授权标识短段:
21
+
22
+ ```powershell
23
+ freelog-cli collection create `
24
+ --type <合集叶子类型编号> `
25
+ --title "我的合集标题" `
26
+ --name my-collection `
27
+ --cwd . `
28
+ --env dev `
29
+ --yes
30
+ ```
31
+
32
+ 不知道类型编号时,可省略 `--type`,在交互式终端中用层级选择、搜索或直接输入最终叶子类型编号。直接输入仍会由平台重新校验:父节点、停用节点和非合集类型都不能创建。
33
+
34
+ 标题用于展示和搜索,长度不能超过 100 个字符;授权标识在创建后不可修改。成功后 CLI 输出合集 ID,并在当前工程写入一份 `subject:"collection"` 的 `.freelog/N.json`。该文件没有 `filePath`,也不记录目录或版本历史。
35
+
36
+ ### 已有线上合集时用 bind
37
+
38
+ 不要再次 create。接入已有且属于当前账号的合集:
39
+
40
+ ```powershell
41
+ freelog-cli collection bind <合集ID或username/name> --cwd . --env dev
42
+ ```
43
+
44
+ 后续示例假定本地只有这一份合集身份;多份时在每条命令追加:
45
+
46
+ ```powershell
47
+ --resource id:<合集ID>
48
+ ```
49
+
50
+ ## 2. 添加线上单资源到目录草稿
51
+
52
+ 来源必须是当前账号已经上架的单资源。以下操作只增加服务端目录草稿,尚未改变已发布合集:
53
+
54
+ ```powershell
55
+ freelog-cli collection item add `
56
+ id:<单资源ID-A> id:<单资源ID-B> `
57
+ --resource id:<合集ID> `
58
+ --cwd . --env dev --yes
59
+
60
+ freelog-cli collection item list `
61
+ --resource id:<合集ID> `
62
+ --cwd . --env dev
63
+ ```
64
+
65
+ 若某个来源资源有上游授权缺口,脚本或 `--yes` 调用必须显式指定每个上游资源对应的启用策略:
66
+
67
+ ```powershell
68
+ freelog-cli collection item add id:<单资源ID> `
69
+ --policy <上游资源ID>=<上游策略ID> `
70
+ --resource id:<合集ID> --cwd . --env dev --yes
71
+ ```
72
+
73
+ 签约成功即可继续添加;付费不会由 CLI 支付,需在浏览器端完成支付。不要把 `policyId` 当作合同 ID,也不要期待添加单品会自动发布合集。
74
+
75
+ ## 3. 补充展示信息与收录规则(可选)
76
+
77
+ 标题、简介、封面和标签立即写线上 listing,但不会发布目录、表单或上架:
78
+
79
+ ```powershell
80
+ freelog-cli collection update `
81
+ --title "我的合集标题" `
82
+ --intro "不超过 200 字的合集简介" `
83
+ --tag "设计" --tag "2026" `
84
+ --cover assets/cover.png `
85
+ --resource id:<合集ID> --cwd . --env dev --yes
86
+ ```
87
+
88
+ 封面必须位于工程内,支持 JPG/JPEG、PNG 或静态 GIF,最大 5 MiB。CLI 不裁剪图片,上传前请自行确认构图。`--clear-tags` 可清空标签,不能与 `--tag` 一起使用。
89
+ 传入一个或多个 `--tag` 时,会将线上标签设置为这次给出的完整列表;要保留旧标签,请把要保留的标签也一并传入。
90
+
91
+ 如果需要自动收录,先发布当前手工目录,再开启规则;否则 CLI 会拒绝,防止自动模式吞掉未发布的手工目录。规则示例与日常维护见[发行后管理](./02-发行后管理与边界.md#收录规则与自动收录)。
92
+
93
+ ## 4. 建立本地表单操作稿(可选)
94
+
95
+ 属性、可选配置、描述、目录展示和直接依赖都通过完整 JSON 表单维护。先从已发布快照拉取为工程内文件:
96
+
97
+ ```powershell
98
+ freelog-cli collection form pull `
99
+ --out collection-form.json `
100
+ --resource id:<合集ID> --cwd . --env dev
101
+ ```
102
+
103
+ 新合集会得到空基线。修改 `collection-form.json` 后完整写回本地操作稿:
104
+
105
+ ```powershell
106
+ freelog-cli collection form edit `
107
+ --from collection-form.json `
108
+ --resource id:<合集ID> --cwd . --env dev
109
+
110
+ freelog-cli collection form show `
111
+ --resource id:<合集ID> --cwd . --env dev
112
+ ```
113
+
114
+ 最小表单形状如下;不要添加未声明的顶层字段:
115
+
116
+ ```json
117
+ {
118
+ "$schema": "freelog-cli.collection-form.v1",
119
+ "inputs": [],
120
+ "properties": [
121
+ { "key": "author", "name": "作者", "value": "Freelog", "description": "" }
122
+ ],
123
+ "options": [
124
+ { "key": "language", "name": "语言", "kind": "select", "values": ["中文", "English"], "description": "" }
125
+ ],
126
+ "description": "合集说明",
127
+ "display": {
128
+ "sort": "ascending",
129
+ "title": "resource-title",
130
+ "number": true,
131
+ "image": true,
132
+ "description": true,
133
+ "view": "list"
134
+ },
135
+ "dependencies": []
136
+ }
137
+ ```
138
+
139
+ 可选配置仅在当前合集类型支持时可填写;不支持时带 `options` 发布会被拒绝。属性与配置的 `key`、名称、描述、值、数量和候选值均受校验,遇到错误请修改外部 JSON 后重新执行 `form edit`。
140
+
141
+ ### 添加合集自身的直接依赖(可选)
142
+
143
+ 必须先有本地表单操作稿。已有授权时无需 `--policy`;缺授权时在交互式终端选择,脚本中明确指定:
144
+
145
+ ```powershell
146
+ freelog-cli collection dep add id:<依赖单资源ID> `
147
+ --range "^1.0.0" `
148
+ --policy <依赖策略ID> `
149
+ --resource id:<合集ID> --cwd . --env dev --yes
150
+ ```
151
+
152
+ 这和“单品上游授权”不同:前者写入合集表单的 `dependencies`,后者只为某个目录单品准备授权排除映射。
153
+
154
+ ## 5. 发布目录与表单
155
+
156
+ 发布是唯一把目录草稿和本地表单操作稿提交到已发布合集快照的命令:
157
+
158
+ ```powershell
159
+ freelog-cli collection publish `
160
+ --include-items auto `
161
+ --resource id:<合集ID> --cwd . --env dev --yes
162
+ ```
163
+
164
+ `--include-items` 的选择:
165
+
166
+ | 参数 | 行为 |
167
+ |---|---|
168
+ | `auto`(默认) | 目录草稿与已发布目录不同则合并;相同则只发布表单。 |
169
+ | `yes` | 强制要求存在目录差异并合并;没有差异会拒绝。 |
170
+ | `no` | 只发布表单,不合并目录草稿。 |
171
+
172
+ 自动收录开启时不能合并手工目录草稿;请先关闭自动收录,或使用 `--include-items no` 只发布表单。发布后 CLI 会读取已发布表单和已发布目录;读回不一致时会保留本地 intent,不自动重发。
173
+
174
+ 若网络中断或结果不明确,先检查而不是再次发布:
175
+
176
+ ```powershell
177
+ freelog-cli collection publish resume `
178
+ --resource id:<合集ID> --cwd . --env dev
179
+ ```
180
+
181
+ ## 6. 上架是最后的独立步骤
182
+
183
+ `collection publish` 完成不代表对外可见。上架前必须同时满足:
184
+
185
+ 1. 合集已有已发布快照;
186
+ 2. 至少一条**合集自身**策略已启用;
187
+ 3. 合集未冻结,且不是 RSS 合集。
188
+
189
+ 当前 CLI 尚未提供 `collection policy` 管理命令。策略服务契约稳定前,需要在 Console 为该合集配置并启用策略,然后执行:
190
+
191
+ ```powershell
192
+ freelog-cli collection online `
193
+ --resource id:<合集ID> --cwd . --env dev --yes
194
+ ```
195
+
196
+ 成功后 CLI 会重读 `status:1`。如果没有启用策略,它会明确拒绝;不会替你创建策略、发布目录或绕过支付。下架使用 `collection offline`,不删除目录、表单、依赖、合同或本地身份。
@@ -0,0 +1,158 @@
1
+ # 合集发行后管理与边界
2
+
3
+ 合集的发行后管理仍由彼此独立的命令组成。先用稳定身份选中合集,再只执行要改变的那一类事实;不要因为要修改标题、目录或规则而重新发布整个合集。
4
+
5
+ ```powershell
6
+ # 多合集工程中先固定目标;下文命令均可沿用此选择器。
7
+ --resource id:<合集ID> --cwd <工程目录> --env dev
8
+ ```
9
+
10
+ ## 目录单品
11
+
12
+ `collection item list` 读取的是**服务端目录草稿**,不是已发布目录。它适合确认即将通过下一次 publish 合并的内容:
13
+
14
+ ```powershell
15
+ freelog-cli collection item list --search "关键词" --resource id:<合集ID> --cwd . --env dev
16
+ ```
17
+
18
+ 列表每行包含 `itemId`、来源 `resourceId`、合集内标题和来源授权标识。之后所有编辑使用 `itemId`,不能用可变标题或来源文件路径猜测。
19
+
20
+ ```powershell
21
+ freelog-cli collection item rename <itemId> --title "合集内显示标题" --resource id:<合集ID> --cwd . --env dev --yes
22
+ freelog-cli collection item move <itemId> --before <另一个itemId> --resource id:<合集ID> --cwd . --env dev --yes
23
+ freelog-cli collection item remove <itemId> <itemId> --resource id:<合集ID> --cwd . --env dev --yes
24
+ freelog-cli collection item sort --by title --asc --resource id:<合集ID> --cwd . --env dev --yes
25
+ ```
26
+
27
+ `--by` 可为 `added`、`title` 或 `resource-updated`;排序必须且只能给 `--asc` 或 `--desc`。删除只移除目录草稿项,不删除来源单资源。任何目录修改都要再次执行 `collection publish` 才进入已发布目录。
28
+
29
+ 可读取指定项的授权状态:
30
+
31
+ ```powershell
32
+ freelog-cli collection item auth status <itemId> --resource id:<合集ID> --cwd . --env dev
33
+ ```
34
+
35
+ 当前没有 `auth resolve`。不要自行修改目录授权字段;该能力要等合同映射的完整平台读回契约确认后才会提供。
36
+
37
+ ## 展示信息
38
+
39
+ 以下命令立即修改线上 listing,但不发布目录、不修改表单、不会上架:
40
+
41
+ ```powershell
42
+ freelog-cli collection update --title "新标题" --intro "新简介" --resource id:<合集ID> --cwd . --env dev --yes
43
+ freelog-cli collection update --tag "标签一" --tag "标签二" --resource id:<合集ID> --cwd . --env dev --yes
44
+ freelog-cli collection update --clear-tags --resource id:<合集ID> --cwd . --env dev --yes
45
+ freelog-cli collection update --cover assets/cover.png --resource id:<合集ID> --cwd . --env dev --yes
46
+ ```
47
+
48
+ 标题至多 100 字,简介至多 200 字;标签最多 20 个,每个最多 20 字且不能重复。封面只上传原图,不裁剪;只能使用工程内的 JPG/JPEG、PNG 或静态 GIF,最大 5 MiB。
49
+
50
+ ## 收录规则与自动收录
51
+
52
+ 先查看当前状态:
53
+
54
+ ```powershell
55
+ freelog-cli collection collect-rules get --resource id:<合集ID> --cwd . --env dev
56
+ ```
57
+
58
+ `serialize` 表示合集更新状态,`auto` 表示自动收录模式;它们可以独立修改:
59
+
60
+ ```powershell
61
+ freelog-cli collection collect-rules set --serialize completed --resource id:<合集ID> --cwd . --env dev --yes
62
+ freelog-cli collection collect-rules set --auto off --resource id:<合集ID> --cwd . --env dev --yes
63
+ ```
64
+
65
+ 开启自动收录时必须提供工程内规则 JSON 文件,并选择“全部条件”或“任一条件”:
66
+
67
+ ```json
68
+ [
69
+ { "field": "title", "operator": "INCLUDES", "value": "教程" },
70
+ { "field": "type", "operator": "EQUAL", "value": "<单资源最终叶子类型编号>" }
71
+ ]
72
+ ```
73
+
74
+ ```powershell
75
+ freelog-cli collection collect-rules set `
76
+ --auto all `
77
+ --rules collection-rules.json `
78
+ --resource id:<合集ID> --cwd . --env dev --yes
79
+ ```
80
+
81
+ 规则字段仅支持 `title`、`authIdentity`、`type`。`title` 与 `authIdentity` 支持 `INCLUDES`、`NOT_INCLUDES`、`STARTS_WITH`、`ENDS_WITH`;`type` 只支持 `EQUAL`。`authIdentity` 的 `STARTS_WITH` 值填写用户名后的短段,CLI 会按平台规则补上当前用户名。
82
+
83
+ 开启自动收录前,服务端目录草稿必须与已发布目录一致;有手工差异时先 publish。自动收录开启后,所有手工 `item add/rename/remove/move/sort` 和目录 merge 都被保护性拒绝。先 `--auto off` 并读回关闭成功,再恢复手工目录维护。
84
+
85
+ ## 本地表单、展示和直接依赖
86
+
87
+ 表单操作稿始终先拉取,再编辑或读取:
88
+
89
+ ```powershell
90
+ freelog-cli collection form pull --out collection-form.json --resource id:<合集ID> --cwd . --env dev
91
+ freelog-cli collection form edit --from collection-form.json --resource id:<合集ID> --cwd . --env dev
92
+ freelog-cli collection form show --resource id:<合集ID> --cwd . --env dev
93
+ ```
94
+
95
+ `form pull` 会覆盖已有本地表单操作稿时提示确认;`form edit` 从工程内完整 JSON 替换操作稿,仍不会发送发布请求。要只调整目录展示设置,可使用便捷入口:
96
+
97
+ ```powershell
98
+ freelog-cli collection display set `
99
+ --sort descending --title resource-title `
100
+ --number true --image true --description false --view card `
101
+ --resource id:<合集ID> --cwd . --env dev
102
+ ```
103
+
104
+ 直接依赖只写本地操作稿;新增或改范围后必须 publish:
105
+
106
+ ```powershell
107
+ freelog-cli collection dep list --resource id:<合集ID> --cwd . --env dev
108
+ freelog-cli collection dep range id:<资源ID> --range "^1.2.0" --policy <策略ID> --resource id:<合集ID> --cwd . --env dev --yes
109
+ freelog-cli collection dep rm <资源ID> --resource id:<合集ID> --cwd . --env dev
110
+ ```
111
+
112
+ 若当前合集尚无本地表单操作稿,`dep` 和 `display` 会要求先执行 `collection form pull`。删除依赖不会取消已存在的线上合同。
113
+
114
+ ## 再次发布、上架与下架
115
+
116
+ 每次目录草稿或本地表单操作稿改变后,按需要发布:
117
+
118
+ ```powershell
119
+ freelog-cli collection publish --include-items auto --resource id:<合集ID> --cwd . --env dev --yes
120
+ ```
121
+
122
+ 发布后仍可独立下架:
123
+
124
+ ```powershell
125
+ freelog-cli collection offline --resource id:<合集ID> --cwd . --env dev --yes
126
+ ```
127
+
128
+ 上架只在已有发布快照和启用合集策略时可用:
129
+
130
+ ```powershell
131
+ freelog-cli collection online --resource id:<合集ID> --cwd . --env dev --yes
132
+ ```
133
+
134
+ 当前策略管理命令尚未可用;没有启用合集自身策略时,CLI 的上架拒绝是预期行为。单品自身的策略、合集直接依赖的签约、以及合集自身策略不能相互替代。
135
+
136
+ ## 日志与授权合约
137
+
138
+ 发行后可以只读观察,不会修改合集:
139
+
140
+ ```powershell
141
+ freelog-cli collection log list --limit 50 --order desc --resource id:<合集ID> --cwd . --env dev
142
+ freelog-cli collection contract list --status active --all --resource id:<合集ID> --cwd . --env dev
143
+ freelog-cli collection contract show <contractId> --resource id:<合集ID> --cwd . --env dev
144
+ ```
145
+
146
+ `collection contract` 固定查询“合集作为授权方”发出的合约,不能用它查看合集作为被授权方时,为单品上游授权或直接依赖签的合同。
147
+
148
+ ## 不能做什么,以及遇到问题怎么办
149
+
150
+ | 情况 | 正确处理 |
151
+ |---|---|
152
+ | 已发布目录中看不到刚添加的单品 | 先确认 `collection item list` 中有该项,再运行 `collection publish --include-items auto`。发布成功也不等于上架。 |
153
+ | 合集状态为下架 | 已发布目录可以仍有单品;配置并启用合集自身策略后,独立运行 `collection online`。 |
154
+ | `collection online` 提示无策略 | 当前 CLI 不创建合集策略;先在 Console 完成该合集的策略配置和启用。 |
155
+ | 想把本地文件夹或主题项目整体加入合集 | 先将每个文件分别发行、设置策略并上架为单资源,再用 `collection item add` 加入。 |
156
+ | 自动收录开启后无法手工改目录 | 先 `collection collect-rules set --auto off`,读回关闭,再修改目录并 publish。 |
157
+ | 发布网络中断或读回不一致 | 运行 `collection publish resume`;它只提供诊断,不自动重发。 |
158
+ | RSS 合集 | 当前 CLI 只做防误写保护,不提供 RSS 维护、同步或上架能力。 |
@@ -0,0 +1,67 @@
1
+ # 合集使用教程(实验性)
2
+
3
+ 合集是 `subjectType=4` 的独立线上主体。它收录的是**当前账号已经上架的线上单资源**,不是本地文件夹、主题工程或一组尚未发行的素材。
4
+
5
+ 本教程与单资源手册分开维护:合集仍在完善中,已经可用的命令和仍受平台契约限制的能力会明确标注。不要把 Console 的服务端草稿、单资源版本工作稿或本地文件当作合集目录的来源。
6
+
7
+ ## 从这里开始
8
+
9
+ | 你的目标 | 阅读 |
10
+ |---|---|
11
+ | 第一次创建合集、添加单品、编辑表单并发布 | [首次发行](./01-首次发行与发布.md) |
12
+ | 已发行合集的单品、信息、规则、表单、发布和观察 | [发行后管理](./02-发行后管理与边界.md) |
13
+ | 安装 CLI、登录、环境与单资源发行 | [返回主手册](../README.md) |
14
+
15
+ ## 先理解三个独立事实
16
+
17
+ ```text
18
+ 线上合集身份 ── collection create / bind ──> .freelog/N.json(仅用于定位)
19
+ 服务端目录草稿 ── collection item ... ──────> 待发布单品目录
20
+ 本地表单操作稿 ── collection form / dep ───> 待发布属性、配置、描述、展示与依赖
21
+ \
22
+ collection publish
23
+ │
24
+ 已发布合集快照 + 已发布目录
25
+ │
26
+ collection online(另一步,且需要启用合集策略)
27
+ ```
28
+
29
+ 因此:
30
+
31
+ 1. `collection create` 只创建线上合集壳;不会上传文件、添加单品、发布或上架。
32
+ 2. `collection item add` 只改**服务端目录草稿**;单品只有经过 `collection publish` 才进入已发布目录。
33
+ 3. `collection form`、`collection dep` 和 `collection display` 只改本地表单操作稿;只有 `collection publish` 才提交这些改动。
34
+ 4. `collection publish` 不上架。上架是独立的 `collection online`,且当前必须已有一条启用的合集自身策略。
35
+
36
+ ## 当前可用范围
37
+
38
+ | 能力 | 当前情况 |
39
+ |---|---|
40
+ | 创建、绑定、目录单品增删改排、listing、收录规则、表单、直接依赖、发布、下架、日志和授权合约只读查询 | 已实现;仍应按命令的实际读回结果判断成功。 |
41
+ | `collection online` | 已实现门禁和状态读回;需要已发布合集与启用的合集自身策略。 |
42
+ | 合集自身策略的创建、模板、编译、启停 | 暂未提供 CLI 命令,等待策略后端契约稳定。当前需要先在 Console 配置并启用策略,才可用 CLI 上架。 |
43
+ | 已有目录单品的授权重处理(`collection item auth resolve`) | 暂未实现;只提供 `auth status` 查询。 |
44
+ | RSS 合集、批量单资源发行、支付、从本地文件夹自动生成合集 | 当前不支持。 |
45
+
46
+ 所有示例使用 dev 环境。生产环境当前被 CLI 拦截;请每次显式带 `--env dev` 或 `--env test`。
47
+
48
+ ## 合集如何选择
49
+
50
+ 合集命令的 `--resource` 只选择目标合集,不接受 `artifact:`:
51
+
52
+ ```powershell
53
+ --resource id:<合集ID> # 最稳定,推荐
54
+ --resource name:<username/name> # 完整授权标识
55
+ --resource file:N.json # 当前工程本地合集身份
56
+ ```
57
+
58
+ 标题可变且可以重复,不能作为选择器。工程内恰有一份合集身份时可省略 `--resource`;零份或多份时必须明确指定。`--cwd <工程目录>` 决定从哪里读取登录选择器和 `.freelog/`,不会改变线上主体。
59
+
60
+ ## 使用时的底线
61
+
62
+ - 合集单品只能是本人、当前环境、已上架且已有最新版本的线上单资源;本地是否有该资源的文件或 `N.json` 不影响资格。
63
+ - 单品上游授权、合集直接依赖、合集自身策略是三件不同的事。不要把合同 ID、策略 ID 或依赖信息手工写进 JSON。
64
+ - `collection form pull` 会以**已发布合集快照**刷新本地表单操作稿;它不会读取、覆盖或删除 Console 的服务端草稿。
65
+ - 网络请求结果不明确时,用 `collection publish resume`、`collection item list`、`collection form show` 或 `status` 读回事实;不要反复盲目重发。
66
+
67
+ 发布包会递归携带本目录。安装后运行 `freelog-cli --help`,根据输出的本机手册路径打开 `合集/README.md` 即可。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@freelog-cli/cli2",
3
- "version": "0.5.5",
3
+ "version": "0.5.6",
4
4
  "description": "Freelog CLI",
5
5
  "type": "module",
6
6
  "license": "MIT",