mcpField
N
new-project-setup

new-project-setup

github.com/rheinmirAgent 工作流10263 次安装2 周前更新
代码仓库

关于 new-project-setup

new-project-setup 是用于在项目中初始化 llmwiki/ 并梳理代码库的 Agent 技能。它协调模板与技能设置、知识库播种、仅限 WSL 的 RTK 配置,并生成草稿报告。

主要功能

  1. 01检查是否已有 llmwiki/
  2. 02同步模板并安装技能
  3. 03创建知识库目录与种子页面
  4. 04仅在 WSL 配置 RTK
  5. 05梳理代码库概念与实体

适用场景

  1. 01在新项目中初始化 llmwiki/
  2. 02确认后重新初始化现有知识库
  3. 03根据 README.md 或 go.mod 建立项目知识库

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rheinmir/setup --skill new-project-setup

安装后在 Claude Code 中输入/new-project-setup确认已加载。

详细介绍

技能:new-project-setup

内容

用途和上下文
  • 用途: 从头为一个项目搭建 llmwiki/:拉取模板 + 安装技能、建立 wiki 目录结构、RTK(WSL)、初始化 wiki,然后接入代码库。
  • 触发条件(何时使用): 项目尚无 llmwiki/,或需要从头重置。
  • 非目标: 不单独安装技能(由 sync-template 步骤 7 处理);不单独调用 lint(onboard-codebase 已包含);不在 WSL 之外安装 RTK;不自动激活(disable-model-invocation: true)。
心智模型

检查 llmwiki → sync-template(模板 + 技能)→ 建立 wiki 目录结构 → RTK(仅 WSL)→ 初始化(project-requirements + log + index)→ onboard-codebase(概念 + 实体 + lint)→ 输出报告。

输入和输出契约
字段必填?含义
输入项目目录是在项目根目录运行
输入README.md、package.json 或 go.mod否为初始化提供项目名称和技术栈来源
输入重置确认当 llmwiki/ 已存在时是否重置
输出llmwiki/wiki/{concepts,entities,sources/draft}, llmwiki/{skills,raw}是目录结构 + index.md、log.md、raw/.gitkeep
输出llmwiki/wiki/sources/project-requirements.md是OKF frontmatter + ## Origin
输出已挂接 RTK仅 WSLrtk init -g + ~/.claude/settings.json 中的 hook
输出已接入的 wiki + 输出报告草稿是由 onboard-codebase 生成的 concepts/entities
规则和能力
  • RULE-01(必须):技能安装由 sync-template 步骤 7 处理,不要重复安装
  • RULE-02(必须):onboard-codebase 已包含 lint,不要额外调用 lint
  • RULE-03(必须):执行 curl 前必须通过 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 → 部分完成,输出 "MANUAL: add rtk hook to settings.json"。
  • sync-template 或 onboard-codebase 出错 → 在对应步骤标记为 失败,并告知用户。

操作

主工作流
步骤类型输入操作输出/退出失败/后续
W01确定性项目根目录检查 llmwiki 是否存在exists 或 missingexists → B01
W02副作用网络调用 sync-template:拉取模板 + 安装技能命令 + 已安装的技能出错 → 失败
W03副作用—初始化 wiki 目录结构目录结构—
W04副作用操作系统RTK 令牌代理(仅 WSL)— B02已挂接 RTK非 WSL → 跳过;缺少 hook → MANUAL
W05判断README/package.json/go.mod初始化 wiki:project-requirements、log、index初始页面—
W06副作用代码库调用 onboard-codebaseconcepts + entities + lint出错 → 失败
W07副作用结果输出报告草稿草稿 + index + log—

各步骤详情(W01–W07 的权威来源):

1. 检查 llmwiki 是否存在:

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

exists → 询问用户是否重置。重置 = 删除 concepts/ + entities/,保留 log.md + sources/。

2. 拉取模板 + 安装技能:

# INVOKE: sync-template
# sync-template tự pull từ rheinmir/setup@orca và install skills vào:
#   .claude/commands/           → Claude Code
#   ~/.agents/skills/*/SKILL.md → OpenCode / Antigravity

3. 初始化 wiki 目录结构:

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

4. RTK 令牌代理(仅 WSL):

# Guard — chỉ chạy trong WSL:
uname -r | grep -qi microsoft || { echo "RTK install: WSL only — skip"; exit 0; }

# CHECK đã cài chưa:
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
}

# Init global config + patch ~/.claude/settings.json:
rtk init -g

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

5. 初始化 wiki:

# Đọc README.md, package.json hoặc go.mod → project name + stack
  • 创建 llmwiki/wiki/sources/project-requirements.md — frontmatter + ## Origin
  • OKF v0.1 (R9): frontmatter 是非空 type 的 YAML --- 块 — 复制 _template.md,不要使用粗体 **Type:**(旧格式)。
  • 追加到 llmwiki/wiki/log.md:## YYYY-MM-DD — init — <project-name>
  • 创建 llmwiki/wiki/index.md — 标题 + 空表格

6. 调用 onboard-codebase → 填充 concepts/ + entities/ + lint。

分支
ID类型守卫条件行为跳过 / 失败重新汇合
B01conditional_requiredW01 返回 exists询问用户是否重置;重置 = 删除 concepts/ + entities/,保留 log.md + sources/用户不重置 → 停止W02
B02conditional_required内核包含“microsoft”(WSL)如果尚未安装 RTK,则安装,然后运行 rtk init -g 并验证 hook非 WSL → 跳过步骤 4W05
验证与停止

通过命令检查:运行 test -d llmwiki 得到 exists;在 WSL 上 grep 检查 settings.json 中是否包含 "RTK hooked";project-requirements.md 包含 frontmatter type(R9)和 ## Origin。在 onboard-codebase 中运行 Lint,不要重复运行。输出报告后停止。

示例
  • 正向: macOS 上一个没有 llmwiki/ 的全新 Go 仓库 → W01 返回 missing → sync-template → 创建框架目录 → RTK 步骤输出“RTK install: WSL only — skip” → 从 go.mod 初始化 → onboard-codebase → 起草 DDMMYY-init-<project>.md。
  • 边界 / 失败: 在已有 llmwiki/ 的项目上重新运行 → W01 返回 exists → 询问是否重置;用户同意 → 仅删除 concepts/ + entities/,保留 log.md 和 sources/。
交付 — 输出报告

完成所有主要技能任务后,向 Wiki 写入一份提案草稿。

步骤

1. 构建文件名:

  • 格式:DDMMYY-<ten>.md
  • DDMMYY = 今天的日期(例如,2026 年 6 月 2 日为 020626)
  • <ten> = 用 2–4 个 kebab-case 单词概括所完成的工作(例如,landing-page-coteccons、brand-kit-fintech、ingest-auth-spec)

2. 写入 llmwiki/wiki/sources/draft/DDMMYY-<ten>.md:

---
type: draft
title: "DDMMYY-<ten>"
status: proposed
tags: [<skill-name>, output-report]
timestamp: YYYY-MM-DD
---

# DDMMYY-<ten>
**Type:** draft
**Status:** proposed
**Tags:** <skill-name>, output-report
**Proposed:** YYYY-MM-DD

## What
<One sentence — what this skill invocation produced or decided>

## Output
<Key artefacts, files created/modified, or decisions made>

## Files
| File | Action |
|------|--------|
| `path/to/file` | created / modified |

## Notes
- Invoked via: `/<skill-name>` skill

## Origin
- **Draft:** `wiki/sources/draft/DDMMYY-<ten>.md`
- **Commit:** _(filled by verify-before-commit)_
- **Date promoted:** _(filled by verify-before-commit)_

3. 更新 Wiki 索引和日志:

  • 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)。

评论

支持 Markdown