ukagaka-doc-mcp 0.8.0 → 0.9.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.
package/NOTICE.md CHANGED
@@ -18,6 +18,7 @@ documentation sources, including:
18
18
  - 里々 docs (ukatech/satori-docs)
19
19
  - 蒼空(aosora) Wiki
20
20
  - 湊 docs (mizuki-yura/minato docs/src)
21
+ - Pasta docs (ekicyou/pasta book/src)
21
22
 
22
23
  This generated data is not re-licensed under the MIT License by this
23
24
  repository. It remains subject to the terms, permissions, and restrictions of
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  伺か(Ukagaka)の技術ドキュメントを検索する MCP サーバーです。
4
4
 
5
- UKADOC・SSP ヘルプ・YAYA docs・里々 docs・蒼空 Wiki・湊 docs のスナップショットを同梱しており、stdio モード(デフォルト)では**ランタイムで外部ネットワークにアクセスしません**。
5
+ UKADOC・SSP ヘルプ・YAYA docs・里々 docs・蒼空 Wiki・湊 docs・Pasta docs のスナップショットを同梱しており、stdio モード(デフォルト)では**ランタイムで外部ネットワークにアクセスしません**。
6
6
 
7
7
  ## 使い方
8
8
 
@@ -86,6 +86,7 @@ npx ukagaka-doc-mcp --http --host 0.0.0.0 --port 9000 # listen 先を変更
86
86
  | 里々 docs([satori-docs](https://github.com/ukatech/satori-docs)) | 里々スクリプト・ssu のリファレンス |
87
87
  | 蒼空(aosora) Wiki | 蒼空 shiori/GHOST 開発ガイド |
88
88
  | 湊 docs([minato](https://mizuki-yura.github.io/minato/)) | 湊(Minato)SHIORI のリファレンス・里々/YAYA からの移行ガイド |
89
+ | Pasta docs([pasta](https://ekicyou.github.io/pasta/)) | Pasta SHIORI の Pasta DSL 文法・Lua API・デバッグ・内部設計 |
89
90
 
90
91
  `data/index.json` として同梱済みです。週1回 CI が自動更新します。
91
92
 
@@ -144,4 +145,4 @@ npm tarball に含まれるファイル:
144
145
 
145
146
  実装コードは **MIT License**(`LICENSE` 参照)。
146
147
 
147
- 同梱の `data/index.json` は UKADOC・SSP ヘルプ・YAYA docs・里々 docs・蒼空 Wiki・湊 docs を元に生成した外部由来データです。MIT License での再ライセンスは行っていません。利用・再配布時は上流の権利関係を別途確認してください(`NOTICE.md` 参照)。
148
+ 同梱の `data/index.json` は UKADOC・SSP ヘルプ・YAYA docs・里々 docs・蒼空 Wiki・湊 docs・Pasta docs を元に生成した外部由来データです。MIT License での再ライセンスは行っていません。利用・再配布時は上流の権利関係を別途確認してください(`NOTICE.md` 参照)。
package/SPEC.md CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ### 3.1 対象ソース
20
20
 
21
- 本サーバーは以下の6ソースのみを対象とする。
21
+ 本サーバーは以下の7ソースのみを対象とする。
22
22
 
23
23
  1. UKADOC (`docs/ukadoc/manual/`)
24
24
  2. SSP ヘルプ (`docs/ukadoc/ssphelp_src/`、`https://ssp.shillest.net/ukadoc/ssphelp/`)
@@ -26,6 +26,7 @@
26
26
  4. 里々 docs (`docs/satori-docs/`、`https://github.com/ukatech/satori-docs`)
27
27
  5. 蒼空 Wiki (`https://github.com/kanadelab/aosora-shiori/wiki`)
28
28
  6. 湊 docs (`docs/minato/docs/src/`、`https://github.com/mizuki-yura/minato`)
29
+ 7. Pasta docs (`docs/pasta/book/src/`、`https://github.com/ekicyou/pasta`)
29
30
 
30
31
  ### 3.2 非スコープ
31
32
 
@@ -48,7 +49,8 @@
48
49
  4. 里々 docs をローカルMarkdownからパースする
49
50
  5. 蒼空 Wiki をGitHub Wiki取得してパースする
50
51
  6. 湊 docs をローカルMarkdownからパースする
51
- 7. 6ソースを統合して `data/index.json` を生成する
52
+ 7. Pasta docs をローカルMarkdownからパースする
53
+ 8. 7ソースを統合して `data/index.json` を生成する
52
54
 
53
55
  ### 4.2 ランタイム
54
56
 
@@ -64,7 +66,7 @@
64
66
  ### 5.1 Source
65
67
 
66
68
  ```ts
67
- type Source = 'ukadoc' | 'ssp_help' | 'yaya_docs' | 'satori_docs' | 'aosora_wiki' | 'minato_docs';
69
+ type Source = 'ukadoc' | 'ssp_help' | 'yaya_docs' | 'satori_docs' | 'aosora_wiki' | 'minato_docs' | 'pasta_docs';
68
70
  ```
69
71
 
70
72
  ### 5.2 Category
@@ -103,7 +105,13 @@ type Category =
103
105
  | 'minato_grammar'
104
106
  | 'minato_talk'
105
107
  | 'minato_other'
106
- | 'minato_migration';
108
+ | 'minato_migration'
109
+ | 'pasta_startup'
110
+ | 'pasta_grammar'
111
+ | 'pasta_lua'
112
+ | 'pasta_debug'
113
+ | 'pasta_reference'
114
+ | 'pasta_internals';
107
115
  ```
108
116
 
109
117
  ### 5.3 DocEntry
@@ -118,6 +126,7 @@ type DocEntry = {
118
126
  category: Category;
119
127
  content: string;
120
128
  url: string;
129
+ rawUrl?: string;
121
130
  };
122
131
  ```
123
132
 
@@ -128,6 +137,7 @@ type DocEntry = {
128
137
  - `content` は全文でなければならない
129
138
  - `content` は保存時に要約化してはならない
130
139
  - `url` はそのエントリの元ページまたは元セクションを指さなければならない
140
+ - `rawUrl` は元のソースが Markdown のソース(YAYA docs・里々 docs・蒼空 Wiki・湊 docs・Pasta docs)の全エントリに付与し、元の Markdown を指さなければならない。元のソースが HTML のソース(UKADOC・SSP ヘルプ)には付与してはならない
131
141
 
132
142
  ### 5.4 SearchEntry
133
143
 
@@ -141,6 +151,7 @@ type SearchEntry = {
141
151
  category: Category;
142
152
  summary: string;
143
153
  url: string;
154
+ rawUrl?: string;
144
155
  };
145
156
  ```
146
157
 
@@ -152,6 +163,7 @@ type SearchEntry = {
152
163
  - 省略時の `summary` は `content.slice(0, 500) + "..."` と等価でなければならない
153
164
  - `summary` 生成時に改行や空白の追加正規化を行ってはならない
154
165
  - `summary` はインデックスの正規データではなく派生値であること
166
+ - `rawUrl` は `DocEntry` に `rawUrl` がある場合に限り含めること
155
167
 
156
168
  ### 5.5 IndexFile
157
169
 
@@ -213,6 +225,12 @@ type IndexFile = {
213
225
  - `path` は mdBook のソースディレクトリ `docs/src/` からの相対パスから拡張子 `.md` を除いたもの(例: `minato:include`、`minato:README`)とする
214
226
  - 対象ページは上流サイトの目次 `docs/src/SUMMARY.md` から決め、カテゴリは `path` の先頭要素から決める
215
227
 
228
+ #### Pasta docs
229
+
230
+ - 1ページ1エントリとし、`pasta:{path}` とする(例: `pasta:grammar/markers`)
231
+ - `path` は mdBook のソースディレクトリ `book/src/` からの相対パスから拡張子 `.md` を除いたもの(例: `pasta:introduction`、`pasta:lua/modules/enc`)とする
232
+ - 対象ページは上流サイトの目次 `book/src/SUMMARY.md` から決め、カテゴリは `path` の先頭要素から決める
233
+
216
234
  ## 7. 収集・正規化仕様
217
235
 
218
236
  ### 7.1 リンク正規化
@@ -300,7 +318,7 @@ Wikiリンクは取得前に正規化しなければならない。
300
318
 
301
319
  `npm run build:index` は、以下をすべて満たしたときのみ成功してよい。
302
320
 
303
- - 必須6ソースの取得・パースが完了している
321
+ - 必須7ソースの取得・パースが完了している
304
322
  - 重複 `id` が存在しない
305
323
  - 無効ページが含まれていない
306
324
  - 各ソースが空でない
@@ -324,7 +342,7 @@ Wikiリンクは取得前に正規化しなければならない。
324
342
 
325
343
  ### 9.4 部分成功の禁止
326
344
 
327
- - UKADOC だけ成功、SSP ヘルプ/YAYA/里々/蒼空/湊失敗のような部分成功を正規成果物として出力してはならない
345
+ - UKADOC だけ成功、SSP ヘルプ/YAYA/里々/蒼空/湊/Pasta失敗のような部分成功を正規成果物として出力してはならない
328
346
  - ビルドは fail-open ではなく fail-closed でなければならない
329
347
 
330
348
  ## 10. ランタイム仕様