用途
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。
- 构建文件名:格式
DDMMYY-<ten>.md;DDMMYY 为当天日期(如 020626 表示 2026 年 6 月 2 日);<ten> 为 2–4 个 kebab-case 单词概括所做的事(如 landing-page-coteccons、brand-kit-fintech、ingest-auth-spec)。 - 写入 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 填充)。 - 更新索引与日志: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。