mcpField
N
new-project-setup

new-project-setup

github.com/rheinmirAgent workflows10263 installsUpdated 2w ago
Repository

About new-project-setup

new-project-setup is an agent skill for bootstrapping an llmwiki/ workspace in a project, then onboarding its codebase. It coordinates template and skill setup, wiki seeding, optional WSL-only RTK configuration, and a draft report.

Key features

  1. 01Checks for an existing llmwiki/
  2. 02Syncs a template and installs skills
  3. 03Creates wiki folders and seed pages
  4. 04Configures RTK on WSL only
  5. 05Onboards codebase concepts and entities

Use cases

  1. 01Starting llmwiki/ in a new project
  2. 02Reinitializing an existing wiki after confirmation
  3. 03Creating a project wiki from README.md or go.mod

Install

Copy the command and run it in a terminal.

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

After installing, type/new-project-setupin Claude Code to confirm it loaded.

Details

From the project README

Skill: new-project-setup

WHAT

Purpose và context
  • Purpose: dựng llmwiki/ từ đầu cho một project: pull template + install skill, khung thư mục wiki, RTK (WSL), seed wiki, rồi onboard codebase.
  • Trigger (when to use): Project chưa có llmwiki/. Hoặc reset từ đầu.
  • Non-goals: không tự cài skill riêng (sync-template step 7 lo); không gọi lint riêng (onboard-codebase đã gồm); không cài RTK ngoài WSL; không tự kích hoạt (disable-model-invocation: true).
Mental model

check llmwiki → sync-template (template + skills) → khung thư mục wiki → RTK (chỉ WSL) → seed (project-requirements + log + index) → onboard-codebase (concepts + entities + lint) → output report.

Input và output contract
FieldRequired?Ý nghĩa
Inthư mục projectcóchạy tại root project
InREADME.md, package.json hoặc go.modkhôngnguồn project name + stack cho seed
Intrả lời resetkhi llmwiki/ đã tồn tạicó reset hay không
Outllmwiki/wiki/{concepts,entities,sources/draft}, llmwiki/{skills,raw}cókhung thư mục + index.md, log.md, raw/.gitkeep
Outllmwiki/wiki/sources/project-requirements.mdcófrontmatter OKF + ## Origin
OutRTK đã hookchỉ WSLrtk init -g + hook trong ~/.claude/settings.json
Outwiki đã onboard + draft output reportcóconcepts/entities do onboard-codebase sinh
Rules và capabilities
  • RULE-01 (MUST): Skill install: sync-template step 7 xử lý — không duplicate
  • RULE-02 (MUST): onboard-codebase includes lint — không gọi lint thêm
  • RULE-03 (MUST): RTK guard uname -r | grep -qi microsoft bắt buộc trước curl
  • Capabilities: ghi filesystem project; mạng (pull template, tải RTK); sửa config agent global (~/.claude/settings.json) chỉ qua rtk init -g; gọi skill con sync-template và onboard-codebase.
Failure boundaries
  • llmwiki/ đã tồn tại → clarify: hỏi user reset không; không reset thì dừng.
  • Không phải WSL → bước RTK skip (không phải lỗi).
  • Hook RTK không thấy trong settings.json → partial, in "MANUAL: add rtk hook to settings.json".
  • sync-template hoặc onboard-codebase lỗi → failed ở bước đó, báo user.

HOW

Main workflow
StepTypeInputsActionOutputs/exitFailure/next
W01deterministicproject rootCHECK llmwiki tồn tạiexists hoặc missingexists → B01
W02effectmạngINVOKE sync-template: pull template + install skillscommands + skills đã càilỗi → failed
W03effect—Init wiki folder structurekhung thư mục—
W04effectOSRTK token proxy (WSL only) — B02RTK hookedkhông WSL → skip; thiếu hook → MANUAL
W05judgmentREADME/package.json/go.modSeed wiki: project-requirements, log, indextrang seed—
W06effectcodebaseINVOKE onboard-codebaseconcepts + entities + lintlỗi → failed
W07effectkết quảOutput Report draftdraft + index + log—

Chi tiết từng bước (nguồn chân lý cho W01–W07):

1. CHECK llmwiki tồn tại:

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

exists → hỏi user reset không. Reset = xóa concepts/ + entities/, GIỮ log.md + sources/.

2. Pull template + install skills:

# 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. Init wiki folder structure:

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 token proxy (WSL only):

# 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. Seed wiki:

# Đọc README.md, package.json hoặc go.mod → project name + stack
  • Tạo llmwiki/wiki/sources/project-requirements.md — frontmatter + ## Origin
  • OKF v0.1 (R9): frontmatter là khối YAML --- có type không rỗng — copy _template.md, đừng dùng **Type:** bold (format cũ).
  • Append llmwiki/wiki/log.md: ## YYYY-MM-DD — init — <project-name>
  • Tạo llmwiki/wiki/index.md — header + empty table

6. INVOKE: onboard-codebase → populate concepts/ + entities/ + lint.

Branches
IDKindGuardHành viSkip / failureRejoin
B01conditional_requiredW01 trả existshỏi user reset; reset = xóa concepts/ + entities/, GIỮ log.md + sources/user không reset → dừngW02
B02conditional_requiredkernel chứa "microsoft" (WSL)cài RTK nếu chưa có, rtk init -g, verify hookkhông WSL → skip bước 4W05
Validation và stopping

Kiểm bằng lệnh: test -d llmwiki ra exists; trên WSL grep settings.json in "RTK hooked"; project-requirements.md có frontmatter type (R9) + ## Origin. Lint chạy trong onboard-codebase, không chạy lại. Dừng sau output report.

Examples
  • Positive: repo Go mới chưa có llmwiki/ trên macOS → W01 missing → sync-template → mkdir khung → bước RTK in "RTK install: WSL only — skip" → seed từ go.mod → onboard-codebase → draft DDMMYY-init-<project>.md.
  • Boundary/failure: chạy lại trên project đã có llmwiki/ → W01 exists → hỏi reset; user đồng ý → chỉ xóa concepts/ + entities/, log.md và sources/ còn nguyên.
Delivery — Output Report

After all main skill tasks complete, write a propose draft to the wiki.

Steps

1. Build the filename:

  • Format: DDMMYY-<ten>.md
  • DDMMYY = today (e.g., 020626 for 2 June 2026)
  • <ten> = 2–4 kebab-case words summarising what was done (e.g., landing-page-coteccons, brand-kit-fintech, ingest-auth-spec)

2. Write 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. Update wiki index & log:

  • llmwiki/wiki/index.md — append one row: | [DDMMYY-<ten>](sources/draft/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |
  • llmwiki/wiki/log.md — append: ## YYYY-MM-DD — <skill-name> — <ten>

Skip only when the skill produces zero artefacts and zero decisions (e.g., a pure display mode like /caveman-stats).

Comments

Markdown supported