open-index/open-npm huggingface dataset:
npm package: @keyflow2/create-function-kit
Description: CLI to scaffold a local Keyflow Function Kit workspace from the petite-vue starter.
Latest version: 0.1.0

# Create Function Kit

一个面向开发者的脚手架命令：把 `@keyflow2/function-kit-template-petite-vue` 解到本地目录，并直接改成你自己的 kitId。

## 用法

```powershell
npx @keyflow2/create-function-kit my-launchpad --kit-id yourscope.launchpad --name "Launchpad"
```

执行后会：

- 下载 starter 包（默认：`@keyflow2/function-kit-template-petite-vue`）
- 解到 `my-launchpad/`
- 运行 starter 自带的 `rename-starter`，同步修改：
  - `manifest.json`
  - `ui/app/main.js`
  - `ui/app/index.html`
  - `icons/*`
  - 根 `package.json` 的 `keyflow.defaultKitId`

然后你可以直接：

```powershell
cd .\my-launchpad
npm run open:kitstudio
```

如果你已经有可用的 KitStudio，也可以创建完成后直接打开：

```powershell
npx @keyflow2/create-function-kit my-launchpad --kit-id yourscope.launchpad --name "Launchpad" --open
```

## 常用参数

- `--kit-id <id>`：目标 kitId，推荐用全局唯一风格，例如 `yourscope.launchpad`
- `--name <label>`：展示名称
- `--description <text>`：覆盖 starter 默认描述
- `--template <npm-ref>`：改用其它 starter 包，默认 `@keyflow2/function-kit-template-petite-vue`
- `--kit-studio-root <path>`：配合 `--open` 使用，显式指定 KitStudio 仓库目录
- `--force`：覆盖已存在的目标目录
- `--dry-run`：只打印计划动作，不落盘

## 维护者本地开发

如果你在 `keyflow` 仓库里调这个 CLI，不想真的从 npm 拉 starter，可以直接指向本地模板目录：

```powershell
node .\templates\create-function-kit\bin\create-function-kit.mjs .\artifacts\smoke\launchpad `
  --template-dir .\templates\function-kit-template-petite-vue `
  --kit-id keyflow2.launchpad `
  --name "Launchpad"
```
npm package: @keyflow2/function-kit-template-petite-vue
Description: Starter workspace for Keyflow Function Kits with vendored runtime.js, petite-vue, shadcn-style CSS, and KitStudio launch helpers.
Latest version: 0.1.0

# Function Kit Starter Template

一个可直接下到本地、直接挂到 KitStudio 里看的 Function Kit starter。

这个模板包内置了：

- vendored `function-kit-runtime.js`
- vendored `petite-vue.iife.js`
- vendored `kit-shadcn.css`
- 一个不是空白页的 `starter-showcase` 示例：它本身就是一个小型官网式 Function Kit，同时演示 `context.read`、`input.insert`、`input.replace`、`storage.*`、`settings.open`

## 快速开始

推荐把 KitStudio clone 成 starter 包的同级目录，这样不用再配路径：

```powershell
mkdir starter-demo
cd starter-demo

npm pack @keyflow2/function-kit-template-petite-vue
tar -xf keyflow2-function-kit-template-petite-vue-0.1.0.tgz
cd .\package

git clone https://github.com/hc-tec/kitstudio.git ..\kit-studio
cd ..\kit-studio
npm install
cd ..\package

npm run open:kitstudio
```

`npm run open:kitstudio` 会：

- 把 KitStudio 的 `KITSTUDIO_FUNCTION_KITS_ROOT` 指到当前包里的 `workspace/function-kits`
- 只挂载这一个 starter kit，所以 KitStudio 打开后会自动落到示例页
- 尝试自动打开 `http://127.0.0.1:39001/`

如果你的 KitStudio 不在同级目录，先设置环境变量：

```powershell
$env:KITSTUDIO_ROOT = "D:\dev\kit-studio"
npm run open:kitstudio
```

只想先看命令而不真正启动：

```powershell
npm run open:kitstudio -- --dry-run
```

## 改成你自己的 kit

模板默认 kitId 是 `starter-showcase`。先跑一遍 rename 脚本，再开始写业务：

```powershell
npm run rename:starter -- --kit-id yourscope.launchpad --name "Launchpad"
```

这会同步更新：

- `manifest.json` 的 `id/name/description`
- `ui/app/main.js` 里的 starter 元信息
- kit 目录名

然后重点改这些文件：

- `workspace/function-kits/yourscope.launchpad/manifest.json`
- `workspace/function-kits/yourscope.launchpad/ui/app/index.html`
- `workspace/function-kits/yourscope.launchpad/ui/app/main.js`
- `workspace/function-kits/yourscope.launchpad/ui/app/styles.css`

## 目录说明

```text
workspace/
  function-kits/
    starter-showcase/
      manifest.json
      icons/starter-showcase.svg
      ui/
        README.md
        app/
          index.html
          main.js
          styles.css
        vendor/
          function-kit-runtime.js
          petite-vue.iife.js
          kit-shadcn.css
```

## 为什么这些依赖直接 vendored

为了让 starter 在 Android WebView Host 和 KitStudio 里表现一致，这个模板故意不依赖外链脚本：

- `runtime.js` 直接放在 `ui/vendor/`
- `petite-vue` 直接放在 `ui/vendor/`
- `kit-shadcn.css` 直接放在 `ui/vendor/`

这样开发者第一次打开模板时，不需要先理解 workspace mounts、shared 目录或 CDN/CSP 限制。

## 接下来做什么

1. 先在 KitStudio 里确认 starter 展示和 runtime 动作都正常。
2. 把 `starter-showcase` 重命名成自己的 kitId。
3. 删掉不需要的营销文案，保留你需要的 runtime 调用样板。
4. 再决定要不要把 vendored 资源切回 shared/workspace 版本。
npm package: @keyflow2/keyflow-kit-wx-reply
Description: 微信聊天回复助手：依赖电脑端 wechat-decrypt 本地解密服务（https://github.com/hc-tec/wechat-decrypt）读取会话，再结合宿主共享 AI 生成候选回复；不是下载后即可直接使用，需先在电脑运行该服务并让手机可访问。
Latest version: 0.2.10

ERROR: No README data found!