@fugui200/llmwiki 0.1.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: llmwiki-connector
3
+ description: 连接 LLM Wiki 与当前项目。用于明确提到 LLM Wiki、个人知识库、召回历史经验、归档到 llmwiki、沉淀开发/产品/设计/个人知识的任务。
4
+ ---
5
+
6
+ # LLM Wiki Connector
7
+
8
+ ## 概述
9
+
10
+ 本 skill 连接 `~/.llmwiki/` 与当前项目。它不把 `llmwiki` CLI 作为新能力入口,而是直接读取和维护仓库内的 `wiki/` 知识层。
11
+
12
+ 核心能力:
13
+ - **Recall**:按任务召回开发、产品、设计、个人知识
14
+ - **Archive**:将新经验写回 `wiki/`
15
+ - **Lint**:运行仓库维护脚本检查健康度
16
+
17
+ ## 召回顺序
18
+
19
+ 不要在启动、`/clear` 或普通提问时自动读取全局 wiki 页面。只有用户明确要求召回/归档,或当前任务明显需要历史项目知识时,才按需读取:
20
+
21
+ 1. 先运行 `llmwiki classify` 判断当前项目归属。
22
+ 2. 优先读取当前 `archiveProjects` 对应页面。
23
+ 3. 按关键词读取相关 `patterns/tools/concepts` 页面。
24
+ 4. 必要时再读取 `~/.llmwiki/purpose.md`、`~/.llmwiki/schema.md`、`~/.llmwiki/wiki/overview.md`、`~/.llmwiki/wiki/index.md` 作为全局索引。
25
+
26
+ 必要时回溯 `~/.llmwiki/raw/sources/`。
27
+
28
+ ## Recall
29
+
30
+ 根据当前任务定位页面:
31
+
32
+ - 项目名 → `wiki/projects/<project>/`
33
+ - 构建、调试、踩坑 → `wiki/patterns/`
34
+ - 产品需求、PRD、验收 → `wiki/concepts/`、`wiki/products/`
35
+ - 设计体系、视觉契约 → `wiki/design/` 或项目内设计页面
36
+ - 工具经验 → `wiki/tools/`
37
+ - 历史会话 → `wiki/sessions/`
38
+
39
+ 推荐命令:
40
+
41
+ ```bash
42
+ cd ~/.llmwiki
43
+ rg -n "<关键词>" purpose.md schema.md wiki raw/sources
44
+ ```
45
+
46
+ 回答时区分:
47
+ - 已沉淀结论
48
+ - 从页面推导出的判断
49
+ - 待验证假设
50
+
51
+ ## Workspace Classification
52
+
53
+ 如果当前项目或父目录存在 `.llmwiki.json`,归档前先判断项目归属:
54
+
55
+ ```bash
56
+ llmwiki classify
57
+ llmwiki classify <changed-or-discussed-path>...
58
+ ```
59
+
60
+ 规则:
61
+
62
+ - 一个子项目命中 → 写入 `wiki/projects/<project>/`
63
+ - 未列入配置但命中 workspace 下 git 仓库 → 写入 `wiki/projects/<repo>/`
64
+ - 多个服务通过 `projectAliases` 映射到同一业务项目 → 写入 `wiki/projects/<alias>/`
65
+ - 多个子项目命中 → 写入 `wiki/synthesis/`
66
+ - 仅 workspace 根目录命中 → 写入 `wiki/projects/<defaultProject>/`
67
+
68
+ `classify` 是只读建议;最终仍由 Agent 根据证据和内容决定具体页面。
69
+
70
+ ## Archive
71
+
72
+ 归档时遵循:
73
+
74
+ 1. 优先更新已有页面,避免重复创建相似页面。
75
+ 2. 如果有 `.llmwiki.json`,先按 workspace classification 判断项目归属。
76
+ 3. 单项目事实写入 `wiki/projects/<project>/`。
77
+ 4. 跨项目经验写入 `wiki/patterns/`,多子项目链路优先写入 `wiki/synthesis/`。
78
+ 5. 产品、设计、个人知识分别写入 `wiki/products/`、`wiki/design/`、`wiki/personal/`。
79
+ 6. 新页面必须包含 YAML frontmatter。
80
+ 7. 页面之间使用 Markdown 相对链接,不新增双中括号样式的 Wiki 链接。
81
+ 8. 更新 `wiki/index.md`。
82
+ 9. 追加 `wiki/log.md`。
83
+ 10. 运行 `npm run wiki:lint`。
84
+
85
+ ## Frontmatter
86
+
87
+ ```yaml
88
+ ---
89
+ title: 页面标题
90
+ type: project | pattern | session | concept | decision | rule | tool | product | design | personal | source | synthesis | query
91
+ project: 可选项目名
92
+ updated: YYYY-MM-DD
93
+ status: active
94
+ confidence: high | medium | low
95
+ sources: []
96
+ tags: []
97
+ ---
98
+ ```
99
+
100
+ `sources` 只记录可确认的 `raw/sources/` 路径。不确定时保持空数组。
101
+
102
+ ## 维护命令
103
+
104
+ ```bash
105
+ cd ~/.llmwiki
106
+ npm run wiki:lint
107
+ npm run wiki:overview
108
+ npm run wiki:graph
109
+ llmwiki classify
110
+ llmwiki init --agent claude-code
111
+ llmwiki init --agent codex
112
+ llmwiki init --agent gemini
113
+ llmwiki init --agent all
114
+ ```
115
+
116
+ `llmwiki init` 在交互终端中会依次询问 agent、是否 workspace、profile(personal/team/local)和 wikiRoot;非交互环境必须显式传参。`claude-code` 写入 `.claude/settings.json` 归档提醒 hook,并在 `CLAUDE.md` 写入按需召回规则;`codex` 写入 `.llmwiki.json` 项目标记并安装全局 Codex hooks;`gemini` 写入 `GEMINI.md` 项目上下文入口;`all` 同时导入三者。三种接入默认只使用项目归属元数据和按需召回规则,不在启动、`/clear` 或普通提问时自动加载全局 wiki 页面。
117
+
118
+ ## 注意事项
119
+
120
+ - 不改写 `raw/` 原始资料。
121
+ - 不把聊天原文直接保存成 wiki 页面。
122
+ - 大范围改动前先列出影响页面。
123
+ - 归档完成必须说明新增/修改页面和 lint 结果。
@@ -0,0 +1,27 @@
1
+ #!/bin/bash
2
+ # LLM Wiki helper script for skill hooks
3
+
4
+ WIKI_DIR="${LLMWIKI_DIR:-$HOME/.llmwiki}"
5
+
6
+ case "$1" in
7
+ pull)
8
+ cd "$WIKI_DIR" && git pull --rebase -q 2>&1
9
+ ;;
10
+ index)
11
+ cat "$WIKI_DIR/index.md"
12
+ ;;
13
+ search)
14
+ shift
15
+ grep -rn --include="*.md" "$@" "$WIKI_DIR/" | grep -v ".git/" | head -20
16
+ ;;
17
+ push)
18
+ cd "$WIKI_DIR" && git push origin main 2>&1
19
+ ;;
20
+ status)
21
+ cd "$WIKI_DIR" && git status --short
22
+ ;;
23
+ *)
24
+ echo "Usage: wiki.sh {pull|index|search|push|status}"
25
+ exit 1
26
+ ;;
27
+ esac