From 453c8548d19ed3a912b2fb63aaa61341b5f6c118 Mon Sep 17 00:00:00 2001 From: liguochuan <292761894@qq.com> Date: Wed, 26 Aug 2026 17:21:16 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9A=20docs:=20=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E6=96=B0=E5=A2=9E=20flow2spec-qoder-plugin=20?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=EF=BC=88Qoder=20=E6=8F=92=E4=BB=B6=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - topics/flow2spec-qoder-plugin.md:新建主题(feature/inferred, tags: module),覆盖构建脚本、dsh host 适配、hooks 渲染、zip 打包与使用前提 - matchers/m-flow2spec-qoder-plugin.json:新建 7 词触发分片 - manifest-routing.json:topicPaths / taskToTopicRules / topicMetadata 各新增一条 - index.md:主题一览新增一行 - kb build / kb check 校验通过(19 topics,0 issues) --- .Knowledge/index.md | 1 + .Knowledge/manifest-routing.json | 18 ++++++++++- .../matchers/m-flow2spec-qoder-plugin.json | 14 ++++++++ .Knowledge/topics/flow2spec-qoder-plugin.md | 32 +++++++++++++++++++ 4 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 .Knowledge/matchers/m-flow2spec-qoder-plugin.json create mode 100644 .Knowledge/topics/flow2spec-qoder-plugin.md diff --git a/.Knowledge/index.md b/.Knowledge/index.md index f96a46f..0c9fe49 100644 --- a/.Knowledge/index.md +++ b/.Knowledge/index.md @@ -40,6 +40,7 @@ | flow2spec-doctor | `.Knowledge/topics/flow2spec-doctor.md` | `flow2spec doctor` 只读检查环境、项目初始化、协作上下文与知识库健康 | stock:[Doctor 诊断命令](stock-docs/Flow2Spec-doctor诊断命令.md);中英文命令文档:`docs/命令说明.md` / `docs/en/commands-reference.md` | | flow2spec-dsh-adapter | `.Knowledge/topics/flow2spec-dsh-adapter.md` | `flow2spec init dsh`、DeepSeek Harness 项目技能发现与 `.dsh/` 目录适配 | 用户文档:`docs/使用说明.md` / `docs/en/usage-guide.md`;实现:`lib/dshAgentsAdapter.js` | | flow2spec-core-package | `.Knowledge/topics/flow2spec-core-package.md` | `@double-coding/flow2spec-core` 职责边界:核心实现、发包模板真源、原生插件 API 与 CLI/legacy shim 消费关系 | 开发者文档:`packages/core/README.md`;入口:`packages/core/index.js` | +| flow2spec-qoder-plugin | `.Knowledge/topics/flow2spec-qoder-plugin.md` | Qoder 插件构建、`build:qoder-plugin`、zip 打包与插件市场分发 | 构建脚本:`scripts/build-qoder-plugin.js`;内容源:`packages/core/index.js`(resources API) | 每主题保留 **1–3 条** 可点击摘要链接;全量路径对照写入 `.Knowledge/migration-report.md`(迁移场景)。 其中 **`implement-tech-design`**、**`f2s-doc-routing`**、**`config-precheck`**、**`f2s-task`** 在 `topics/` 内为**路由摘要**;执行长文见配置根 **`rules/f2s-*.md(c)`**;使用 Codex 时见 **`.codex/AGENTS.md`**、**`.codex/topics/f2s-*.md`**(`f2s-config-check` 与 `AGENTS` 前置同源,按需打开)。**`f2s-knowledge-preflight`** 与 **`f2s-kb-feedback-closing`** 是普通问答首读 / 源码补答收口门禁,作为配置根规则 / Codex 专题长文生效,不写入 `topicPaths` 或 `taskToTopicRules`;**`f2s-kb-feedback-closing`** 在 cases 1–3 建议执行 **`f2s-kb-distill`**。 diff --git a/.Knowledge/manifest-routing.json b/.Knowledge/manifest-routing.json index 98b9452..c39addc 100644 --- a/.Knowledge/manifest-routing.json +++ b/.Knowledge/manifest-routing.json @@ -33,7 +33,8 @@ "flow2spec-init-defaults": ".Knowledge/topics/f2s-init-defaults.md", "flow2spec-collaboration": ".Knowledge/topics/flow2spec-collaboration.md", "flow2spec-doctor": ".Knowledge/topics/flow2spec-doctor.md", - "flow2spec-core-package": ".Knowledge/topics/flow2spec-core-package.md" + "flow2spec-core-package": ".Knowledge/topics/flow2spec-core-package.md", + "flow2spec-qoder-plugin": ".Knowledge/topics/flow2spec-qoder-plugin.md" }, "taskToTopicRules": [ { @@ -172,6 +173,14 @@ "topics": [ "flow2spec-core-package" ] + }, + { + "task": "flow2spec-qoder-plugin", + "matcherId": "m-flow2spec-qoder-plugin", + "matcherPath": ".Knowledge/matchers/m-flow2spec-qoder-plugin.json", + "topics": [ + "flow2spec-qoder-plugin" + ] } ], "projectRev": 2, @@ -263,6 +272,13 @@ "flow2spec-core-package": { "primary": "module", "confidence": "inferred" + }, + "flow2spec-qoder-plugin": { + "primary": "feature", + "confidence": "inferred", + "tags": [ + "module" + ] } } } diff --git a/.Knowledge/matchers/m-flow2spec-qoder-plugin.json b/.Knowledge/matchers/m-flow2spec-qoder-plugin.json new file mode 100644 index 0000000..8ae97fd --- /dev/null +++ b/.Knowledge/matchers/m-flow2spec-qoder-plugin.json @@ -0,0 +1,14 @@ +{ + "includeAny": [ + "Qoder 插件", + "qoder plugin", + "qoder-plugin", + "插件构建", + "build:qoder-plugin", + "插件打包", + "插件市场" + ], + "id": "m-flow2spec-qoder-plugin", + "version": "1.0.0", + "schema": "flow2spec.matcher.v1" +} diff --git a/.Knowledge/topics/flow2spec-qoder-plugin.md b/.Knowledge/topics/flow2spec-qoder-plugin.md new file mode 100644 index 0000000..16f68dd --- /dev/null +++ b/.Knowledge/topics/flow2spec-qoder-plugin.md @@ -0,0 +1,32 @@ +--- +id: flow2spec-qoder-plugin +revision: 1 +summary: "Qoder 原生插件构建:从 Core 全量生成 skills/rules/hooks 并打包 zip" +primary: feature +confidence: inferred +tags: [module] +--- +# Qoder 插件构建与分发 + +## 适用场景 + +用于 Qoder 插件构建、`npm run build:qoder-plugin`、`output/qoder-plugin/` 产物、插件 zip 打包与插件市场分发问题。 + +## 已落地能力 + +- `scripts/build-qoder-plugin.js` 通过 `@double-coding/flow2spec-core` 的 `resources` 公共 API(`skillCatalog` / `listRules` / `listHooks` / `read` / `getVersions`)全量生成 Qoder 原生插件:18 skills + 10 rules + 3 hooks + `.qoder-plugin/plugin.json` + README + logo。 +- 采用 dsh host 适配生成内容:技能名 kebab-case(如 `f2s-kb-addRules` → `f2s-kb-add-rules`,满足 Qoder 市场命名规范),路径统一为插件根相对的 `rules/`、`skills/`,与 Qoder 插件目录布局一致。 +- hooks 占位符(`__FLOW2SPEC_*__`)按 `init` 同款规则以 Core / Template Version 渲染;`hooks/hooks.json` 用 `${QODER_PLUGIN_ROOT}` 定位脚本(SessionStart 配置摘要 + 版本检查,PreToolUse matcher `Skill` 配置兜底注入)。 +- 零依赖 ZIP 打包(Node 内置 `zlib` + 脚本内 ZIP 格式实现):产出 `output/qoder-plugin/flow2spec-.zip`,zip 根即插件根(直接包含 `.qoder-plugin/plugin.json`),满足市场上传要求。 +- 插件版本跟随 Core Version;`--locale en-US` 可生成英文版。 + +## 维护边界 + +- 构建脚本:`scripts/build-qoder-plugin.js`(npm script `build:qoder-plugin`) +- 内容事实源:`packages/core/index.js` 的 `resources` API 与 `packages/core/templates/`(包边界与版本契约见 `flow2spec-core-package` 主题) +- 产物目录:`output/qoder-plugin/`(已 gitignore;每次构建先清空重建) +- 插件使用前提:目标项目须先 `npx @double-coding/flow2spec init` 生成 `.Knowledge/` 与 `flow2spec.config.json` + +## 禁止项 + +- 手工编辑 `output/qoder-plugin/` 下产物(下次构建会整体覆盖);内容修正应改 `packages/core/templates/` 或构建脚本后重跑构建。