SuperAPI AI 工具集

new-project-setup

编程与开发

查看项目

更新于 10-16 10:08

技能介绍

用途

new-project-setup 用于从零为一个新项目搭建 llmwiki/。适用触发场景为:项目尚未有 llmwiki/ 目录,或需要从头重置。

其明确非目标(Non-goals)包括:不自行单独安装技能(由 sync-template 第 7 步处理);不单独调用 lint(onboard-codebase 已包含);不在 WSL 之外安装 RTK;不自行触发(disable-model-invocation: true)。

主要能力与心智模型

整体流程为:check llmwiki → sync-template(模板 + 技能)→ wiki 目录骨架 → RTK(仅 WSL)→ seed(project-requirements + log + index)→ onboard-codebase(concepts + entities + lint)→ output report。

输入与输出契约:

  • 输入:项目目录(必需,在项目 root 运行);README.md、package.json 或 go.mod(可选,用于提取项目名与栈做 seed);当 llmwiki/ 已存在时对重置问题的回答(必需,决定是否 reset)。
  • 输出:llmwiki/wiki/{concepts,entities,sources/draft} 与 llmwiki/{skills,raw} 目录骨架,含 index.md、log.md、raw/.gitkeep;llmwiki/wiki/sources/project-requirements.md(含 frontmatter OKF 与 ## Origin);RTK 已 hook(仅 WSL,rtk init -g 及 ~/.claude/settings.json 中的 hook);已完成 onboard 的 wiki 及 draft output report(concepts/entities 由 onboard-codebase 生成)。

规则与限制

  • RULE-01(MUST):技能安装由 sync-template 第 7 步处理,不重复。
  • RULE-02(MUST):onboard-codebase 已包含 lint,不再额外调用。
  • RULE-03(MUST):RTK 安装前必须先用 uname -r | grep -qi microsoft 守卫。

能力范围:写入项目文件系统;访问网络(拉取模板、下载 RTK);仅通过 rtk init -g 修改全局 agent 配置(~/.claude/settings.json);调用子技能 sync-template 与 onboard-codebase。

失败边界:llmwiki/ 已存在时先澄清是否重置,若不重置则停止;非 WSL 环境跳过 RTK 步骤(不算错误);settings.json 中未发现 RTK hook 时为 partial,打印 "MANUAL: add rtk hook to settings.json";sync-template 或 onboard-codebase 出错则在相应步骤 failed 并告知用户。

使用方式

主工作流(W01–W07):

  • W01:检查 llmwiki 是否存在,返回 exists 或 missing(exists 则进入 B01)。
  • W02:调用 sync-template,拉取模板并安装技能;出错则 failed。
  • W03:初始化 wiki 目录骨架。
  • W04:RTK token 代理(仅 WSL,见 B02);非 WSL 则跳过,hook 缺失则标记 MANUAL。
  • W05:seed wiki(project-requirements、log、index)。
  • W06:调用 onboard-codebase,生成 concepts + entities + lint;出错则 failed。
  • W07:输出 Output Report 草稿、index 与 log。

关键命令示例:

检查目录:

test -d llmwiki && echo exists || echo missing

初始化目录结构:

mkdir -p llmwiki/wiki/{concepts,entities,sources/draft} llmwiki/{skills,raw}
touch llmwiki/wiki/index.md llmwiki/wiki/log.md llmwiki/raw/.gitkeep

RTK(仅 WSL):

# Guard — 仅在 WSL 中运行:
uname -r | grep -qi microsoft || { echo "RTK install: WSL only — skip"; exit 0; }

# 检查是否已安装:
rtk --version 2>/dev/null || {
  curl -fsSL https://github.com/rtk-ai/rtk/releases/latest/download/rtk-x86_64-unknown-linux-musl.tar.gz \
    | tar xz -C /usr/local/bin
}

# 初始化全局配置并 patch ~/.claude/settings.json:
rtk init -g

# 校验 hook:
grep -q "rtk hook claude" ~/.claude/settings.json && echo "RTK hooked" || echo "MANUAL: add rtk hook to settings.json"

Seed:读取 README.md、package.json 或 go.mod 获取项目名与栈;创建 llmwiki/wiki/sources/project-requirements.md(frontmatter + ## Origin)。OKF v0.1(R9):frontmatter 为 YAML --- 块且 type 非空——复制 _template.md,勿使用 **Type:** 加粗旧格式。向 llmwiki/wiki/log.md 追加 ## YYYY-MM-DD — init — <project-name>,并创建含 header 与空表格的 llmwiki/wiki/index.md。

分支:B01 由 W01 返回 exists 触发——询问用户是否重置;重置 = 删除 concepts/ 与 entities/,保留 log.md 与 sources/;用户不重置则停止,否则回到 W02。B02 由内核包含 "microsoft"(WSL)触发——若未安装则安装 RTK,执行 rtk init -g 并校验 hook;非 WSL 则跳过第 4 步,回到 W05。

适用场景

适用于新仓库(如 macOS 上尚无 llmwiki/ 的新 Go 仓库)的初次搭建:W01 missing → sync-template → mkdir 骨架 → RTK 步骤打印 "RTK install: WSL only — skip" → 从 go.mod seed → onboard-codebase → 生成 draft DDMMYY-init-<project>.md。也适用于在已有 llmwiki/ 的项目上重跑并选择重置的场景。

输出报告交付

所有主技能任务完成后,向 wiki 写入 propose draft。

  1. 构建文件名:格式 DDMMYY-<ten>.md;DDMMYY 为当天日期(如 020626 表示 2026 年 6 月 2 日);<ten> 为 2–4 个 kebab-case 单词概括所做的事(如 landing-page-coteccons、brand-kit-fintech、ingest-auth-spec)。
  2. 写入 llmwiki/wiki/sources/draft/DDMMYY-<ten>.md,frontmatter 为 type: draft、title、status: proposed、tags: [<skill-name>, output-report]、timestamp,正文含 **Type:**、**Status:**、**Tags:**、**Proposed:**,以及 ## What、## Output、## Files(表格 File / Action)、## Notes(Invoked via: /<skill-name> skill)、## Origin(Draft、Commit 由 verify-before-commit 填充、Date promoted 由 verify-before-commit 填充)。
  3. 更新索引与日志:llmwiki/wiki/index.md 追加一行 | [DDMMYY-<ten>](sources/draft/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |;llmwiki/wiki/log.md 追加 ## YYYY-MM-DD — <skill-name> — <ten>。

仅当技能产生零工件且零决策时(例如纯展示模式如 /caveman-stats)才跳过此交付。

校验与停止

用命令校验:test -d llmwiki 返回 exists;在 WSL 上 grep settings.json 打印 "RTK hooked";project-requirements.md 具有 frontmatter type(R9)与 ## Origin。Lint 在 onboard-codebase 内运行,不重复运行。在输出报告后停止。

限制

收费、价格、平台支持等细节资料暂未提供。非 WSL 环境不安装 RTK。技能不自行触发,不重复安装技能或重复 lint。