shiden 0.1.0 → 0.3.2

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.
Files changed (48) hide show
  1. package/.github/prompts/meta-prompt.md +22 -5
  2. package/.github/skills/theory-lookup.md +215 -210
  3. package/AGENTS.md +72 -1
  4. package/README.md +78 -10
  5. package/dist/cli/commands/theories.js +191 -0
  6. package/dist/cli/commands/theories.js.map +1 -0
  7. package/dist/cli/index.js +30 -59
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/theories/TheoryRepository.js +169 -0
  10. package/dist/theories/TheoryRepository.js.map +1 -0
  11. package/dist/theories/TheoryService.js +102 -0
  12. package/dist/theories/TheoryService.js.map +1 -0
  13. package/dist/theories/database.js +62 -0
  14. package/dist/theories/database.js.map +1 -0
  15. package/dist/theories/index.js +10 -0
  16. package/dist/theories/index.js.map +1 -0
  17. package/dist/theories/types.js +7 -0
  18. package/dist/theories/types.js.map +1 -0
  19. package/dist/types/cli/commands/theories.d.ts +12 -0
  20. package/dist/types/cli/commands/theories.d.ts.map +1 -0
  21. package/dist/types/theories/TheoryRepository.d.ts +52 -0
  22. package/dist/types/theories/TheoryRepository.d.ts.map +1 -0
  23. package/dist/types/theories/TheoryService.d.ts +48 -0
  24. package/dist/types/theories/TheoryService.d.ts.map +1 -0
  25. package/dist/types/theories/database.d.ts +20 -0
  26. package/dist/types/theories/database.d.ts.map +1 -0
  27. package/dist/types/theories/index.d.ts +8 -0
  28. package/dist/types/theories/index.d.ts.map +1 -0
  29. package/dist/types/theories/types.d.ts +132 -0
  30. package/dist/types/theories/types.d.ts.map +1 -0
  31. package/package.json +10 -3
  32. package/src/data/relations.json +464 -0
  33. package/src/data/theories.db +0 -0
  34. package/src/data/theories.db-shm +0 -0
  35. package/src/data/theories.db-wal +0 -0
  36. package/src/data/theories.json +6063 -0
  37. package/templates/.github/prompts/assessment.md +25 -11
  38. package/templates/.github/prompts/feedback.md +26 -11
  39. package/templates/.github/prompts/guidance.md +27 -13
  40. package/templates/.github/prompts/individual.md +28 -16
  41. package/templates/.github/prompts/lesson-plan.md +26 -18
  42. package/templates/.github/prompts/materials.md +25 -9
  43. package/templates/.github/prompts/meta-prompt.md +30 -6
  44. package/templates/.github/skills/context-manager.md +2 -2
  45. package/templates/.github/skills/orchestrator.md +14 -6
  46. package/templates/.github/skills/theory-lookup.md +215 -210
  47. package/templates/.vscode/mcp.json +35 -0
  48. package/templates/AGENTS.md +72 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TheoryRepository.js","sourceRoot":"","sources":["../../src/theories/TheoryRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * 教育理論サービス層
3
+ * TSK-006: TheoryService実装
4
+ * @module theories/TheoryService
5
+ */
6
+ import * as repo from './TheoryRepository.js';
7
+ /**
8
+ * 理論を検索(FTS5 trigram)
9
+ * @param query 検索クエリ
10
+ * @param options 検索オプション
11
+ * @returns 検索結果
12
+ */
13
+ export function search(query, options) {
14
+ const start = performance.now();
15
+ const { category, limit = 20 } = options || {};
16
+ let theories = repo.searchFTS(query, limit * 2); // カテゴリフィルタ用に多めに取得
17
+ if (category) {
18
+ theories = theories.filter((t) => t.category === category);
19
+ }
20
+ theories = theories.slice(0, limit);
21
+ const durationMs = performance.now() - start;
22
+ return {
23
+ theories,
24
+ total: theories.length,
25
+ query,
26
+ durationMs: Math.round(durationMs * 100) / 100,
27
+ };
28
+ }
29
+ /**
30
+ * IDで理論を取得
31
+ * @param id 理論ID
32
+ * @returns 理論またはnull
33
+ */
34
+ export function get(id) {
35
+ return repo.findById(id);
36
+ }
37
+ /**
38
+ * 全理論を取得(ページネーション対応)
39
+ * @param options 取得オプション
40
+ * @returns 理論リスト
41
+ */
42
+ export function list(options) {
43
+ return repo.findAll(options);
44
+ }
45
+ /**
46
+ * カテゴリ一覧を取得
47
+ * @returns カテゴリと件数のリスト
48
+ */
49
+ export function categories() {
50
+ return repo.countByCategory();
51
+ }
52
+ /**
53
+ * 関連理論を取得(グラフ走査)
54
+ * @param id 起点となる理論ID
55
+ * @param options 走査オプション
56
+ * @returns 関連理論リスト
57
+ */
58
+ export function related(id, options) {
59
+ const { depth = 2, relationTypes } = options || {};
60
+ let results = repo.traverseRelated(id, depth);
61
+ if (relationTypes && relationTypes.length > 0) {
62
+ results = results.filter((r) => relationTypes.includes(r.relation_type));
63
+ }
64
+ return results;
65
+ }
66
+ /**
67
+ * 総件数を取得
68
+ */
69
+ export function count() {
70
+ return repo.count();
71
+ }
72
+ /**
73
+ * 複数クエリで検索(OR検索)
74
+ * @param queries 検索クエリ配列
75
+ * @param options 検索オプション
76
+ */
77
+ export function searchMultiple(queries, options) {
78
+ const start = performance.now();
79
+ const { category, limit = 20 } = options || {};
80
+ const theoriesMap = new Map();
81
+ for (const query of queries) {
82
+ const results = repo.searchFTS(query, limit);
83
+ for (const theory of results) {
84
+ if (!theoriesMap.has(theory.id)) {
85
+ theoriesMap.set(theory.id, theory);
86
+ }
87
+ }
88
+ }
89
+ let theories = Array.from(theoriesMap.values());
90
+ if (category) {
91
+ theories = theories.filter((t) => t.category === category);
92
+ }
93
+ theories = theories.slice(0, limit);
94
+ const durationMs = performance.now() - start;
95
+ return {
96
+ theories,
97
+ total: theories.length,
98
+ query: queries.join(' OR '),
99
+ durationMs: Math.round(durationMs * 100) / 100,
100
+ };
101
+ }
102
+ //# sourceMappingURL=TheoryService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TheoryService.js","sourceRoot":"","sources":["../../src/theories/TheoryService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * SQLiteデータベース接続管理
3
+ * TSK-004: データベース接続
4
+ * @module theories/database
5
+ */
6
+ import Database from 'better-sqlite3';
7
+ import path from 'path';
8
+ import { fileURLToPath } from 'url';
9
+ import fs from 'fs';
10
+ const __filename = fileURLToPath(import.meta.url);
11
+ const __dirname = path.dirname(__filename);
12
+ let db = null;
13
+ /**
14
+ * データベースファイルのパスを取得
15
+ * npm パッケージとしてインストールされた場合と開発時の両方に対応
16
+ */
17
+ function getDatabasePath() {
18
+ // 1. まず dist/ 配下の data/ を探す(npm pack 後)
19
+ const distDataPath = path.join(__dirname, '..', 'data', 'theories.db');
20
+ if (fs.existsSync(distDataPath)) {
21
+ return distDataPath;
22
+ }
23
+ // 2. src/data/ を探す(開発時)
24
+ const srcDataPath = path.join(__dirname, '..', '..', 'src', 'data', 'theories.db');
25
+ if (fs.existsSync(srcDataPath)) {
26
+ return srcDataPath;
27
+ }
28
+ // 3. パッケージルートの src/data/ を探す(npm link 時)
29
+ const packageRootPath = path.join(__dirname, '..', '..', '..', 'src', 'data', 'theories.db');
30
+ if (fs.existsSync(packageRootPath)) {
31
+ return packageRootPath;
32
+ }
33
+ throw new Error(`Database file not found. Searched paths:\n- ${distDataPath}\n- ${srcDataPath}\n- ${packageRootPath}`);
34
+ }
35
+ /**
36
+ * SQLiteデータベース接続を取得(シングルトン)
37
+ * @returns Database instance
38
+ */
39
+ export function getDatabase() {
40
+ if (!db) {
41
+ const dbPath = getDatabasePath();
42
+ db = new Database(dbPath, { readonly: true });
43
+ db.pragma('journal_mode = WAL');
44
+ }
45
+ return db;
46
+ }
47
+ /**
48
+ * データベース接続を閉じる
49
+ */
50
+ export function closeDatabase() {
51
+ if (db) {
52
+ db.close();
53
+ db = null;
54
+ }
55
+ }
56
+ /**
57
+ * データベースパスを取得(テスト用)
58
+ */
59
+ export function getDatabasePathForTest() {
60
+ return getDatabasePath();
61
+ }
62
+ //# sourceMappingURL=database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/theories/database.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,IAAI,EAAE,GAA6B,IAAI,CAAC;AAExC;;;GAGG;AACH,SAAS,eAAe;IACtB,wCAAwC;IACxC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACvE,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACnF,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,yCAAyC;IACzC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7F,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,+CAA+C,YAAY,OAAO,WAAW,OAAO,eAAe,EAAE,CAAC,CAAC;AACzH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 教育理論モジュール公開API
3
+ * @module theories
4
+ */
5
+ // サービスエクスポート
6
+ export { search, get, list, categories, related, count, searchMultiple, } from './TheoryService.js';
7
+ // データベース管理エクスポート
8
+ export { closeDatabase } from './database.js';
9
+ // リポジトリは内部APIのため非公開
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theories/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,aAAa;AACb,OAAO,EACL,MAAM,EACN,GAAG,EACH,IAAI,EACJ,UAAU,EACV,OAAO,EACP,KAAK,EACL,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,oBAAoB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 教育理論データの型定義
3
+ * TSK-003: 型定義
4
+ * @module theories/types
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/theories/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * theories コマンド実装
3
+ * TSK-007: CLIコマンド実装
4
+ * @module cli/commands/theories
5
+ */
6
+ import { Command } from 'commander';
7
+ /**
8
+ * theories コマンドを作成
9
+ */
10
+ export declare function createTheoriesCommand(): Command;
11
+ export default createTheoriesCommand;
12
+ //# sourceMappingURL=theories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theories.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/theories.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+CpC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAyK/C;AAED,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * 教育理論データアクセス層
3
+ * TSK-005: TheoryRepository実装
4
+ * @module theories/TheoryRepository
5
+ */
6
+ import type { Theory, RelatedTheory, Category, RelationType } from './types.js';
7
+ /**
8
+ * FTS5 trigram検索
9
+ * @param query 検索クエリ(3文字以上推奨)
10
+ * @param limit 取得件数上限
11
+ * @returns マッチした理論リスト
12
+ */
13
+ export declare function searchFTS(query: string, limit?: number): Theory[];
14
+ /**
15
+ * IDで理論を取得
16
+ * @param id 理論ID (e.g., "theory-001")
17
+ * @returns 理論またはnull
18
+ */
19
+ export declare function findById(id: string): Theory | null;
20
+ /**
21
+ * 全理論を取得
22
+ * @param options フィルタオプション
23
+ * @returns 理論リスト
24
+ */
25
+ export declare function findAll(options?: {
26
+ category?: string;
27
+ limit?: number;
28
+ offset?: number;
29
+ }): Theory[];
30
+ /**
31
+ * カテゴリ別件数を取得
32
+ * @returns カテゴリと件数のリスト
33
+ */
34
+ export declare function countByCategory(): Category[];
35
+ /**
36
+ * 総件数を取得
37
+ */
38
+ export declare function count(): number;
39
+ /**
40
+ * WITH RECURSIVE CTEによるグラフ走査
41
+ * @param id 起点となる理論ID
42
+ * @param maxDepth 走査深さ(最大3)
43
+ * @returns 関連理論リスト
44
+ */
45
+ export declare function traverseRelated(id: string, maxDepth?: number): RelatedTheory[];
46
+ /**
47
+ * 特定の関係タイプで関連する理論を取得
48
+ * @param id 理論ID
49
+ * @param relationType 関係タイプ
50
+ */
51
+ export declare function findRelatedByType(id: string, relationType: RelationType): Theory[];
52
+ //# sourceMappingURL=TheoryRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TheoryRepository.d.ts","sourceRoot":"","sources":["../../../src/theories/TheoryRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,QAAQ,EAGR,YAAY,EACb,MAAM,YAAY,CAAC;AAkCpB;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,EAAE,CA2B7D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKlD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,EAAE,CAkBX;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAS5C;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,MAAM,CAK9B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,aAAa,EAAE,CA2BzE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,YAAY,GACzB,MAAM,EAAE,CAUV"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * 教育理論サービス層
3
+ * TSK-006: TheoryService実装
4
+ * @module theories/TheoryService
5
+ */
6
+ import type { Theory, RelatedTheory, Category, SearchOptions, ListOptions, RelatedOptions, SearchResult } from './types.js';
7
+ /**
8
+ * 理論を検索(FTS5 trigram)
9
+ * @param query 検索クエリ
10
+ * @param options 検索オプション
11
+ * @returns 検索結果
12
+ */
13
+ export declare function search(query: string, options?: SearchOptions): SearchResult;
14
+ /**
15
+ * IDで理論を取得
16
+ * @param id 理論ID
17
+ * @returns 理論またはnull
18
+ */
19
+ export declare function get(id: string): Theory | null;
20
+ /**
21
+ * 全理論を取得(ページネーション対応)
22
+ * @param options 取得オプション
23
+ * @returns 理論リスト
24
+ */
25
+ export declare function list(options?: ListOptions): Theory[];
26
+ /**
27
+ * カテゴリ一覧を取得
28
+ * @returns カテゴリと件数のリスト
29
+ */
30
+ export declare function categories(): Category[];
31
+ /**
32
+ * 関連理論を取得(グラフ走査)
33
+ * @param id 起点となる理論ID
34
+ * @param options 走査オプション
35
+ * @returns 関連理論リスト
36
+ */
37
+ export declare function related(id: string, options?: RelatedOptions): RelatedTheory[];
38
+ /**
39
+ * 総件数を取得
40
+ */
41
+ export declare function count(): number;
42
+ /**
43
+ * 複数クエリで検索(OR検索)
44
+ * @param queries 検索クエリ配列
45
+ * @param options 検索オプション
46
+ */
47
+ export declare function searchMultiple(queries: string[], options?: SearchOptions): SearchResult;
48
+ //# sourceMappingURL=TheoryService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TheoryService.d.ts","sourceRoot":"","sources":["../../../src/theories/TheoryService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,QAAQ,EACR,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACb,MAAM,YAAY,CAAC;AAGpB;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,CAoB3E;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAEpD;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,QAAQ,EAAE,CAEvC;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,EAAE,CAU7E;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,MAAM,CAE9B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,YAAY,CA+Bd"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * SQLiteデータベース接続管理
3
+ * TSK-004: データベース接続
4
+ * @module theories/database
5
+ */
6
+ import Database from 'better-sqlite3';
7
+ /**
8
+ * SQLiteデータベース接続を取得(シングルトン)
9
+ * @returns Database instance
10
+ */
11
+ export declare function getDatabase(): Database.Database;
12
+ /**
13
+ * データベース接続を閉じる
14
+ */
15
+ export declare function closeDatabase(): void;
16
+ /**
17
+ * データベースパスを取得(テスト用)
18
+ */
19
+ export declare function getDatabasePathForTest(): string;
20
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/theories/database.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAoCtC;;;GAGG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAO/C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 教育理論モジュール公開API
3
+ * @module theories
4
+ */
5
+ export type { Theory, RelatedTheory, Category, SearchOptions, ListOptions, RelatedOptions, SearchResult, RelationType, } from './types.js';
6
+ export { search, get, list, categories, related, count, searchMultiple, } from './TheoryService.js';
7
+ export { closeDatabase } from './database.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theories/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,MAAM,EACN,aAAa,EACb,QAAQ,EACR,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,MAAM,EACN,GAAG,EACH,IAAI,EACJ,UAAU,EACV,OAAO,EACP,KAAK,EACL,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * 教育理論データの型定義
3
+ * TSK-003: 型定義
4
+ * @module theories/types
5
+ */
6
+ /**
7
+ * 教育理論
8
+ */
9
+ export interface Theory {
10
+ /** 理論ID (e.g., "theory-001") */
11
+ id: string;
12
+ /** 理論名(英語) */
13
+ name: string;
14
+ /** 理論名(日本語) */
15
+ name_ja: string | null;
16
+ /** カテゴリ (e.g., "learning_theory", "motivation") */
17
+ category: string;
18
+ /** 説明(英語) */
19
+ description: string | null;
20
+ /** 説明(日本語) */
21
+ description_ja: string | null;
22
+ /** 理論家・提唱者 */
23
+ theorists: string[];
24
+ /** 優先度 (1-10) */
25
+ priority: number;
26
+ /** 主要原則 */
27
+ key_principles: string[];
28
+ /** 応用分野 */
29
+ applications: string[];
30
+ /** 強み */
31
+ strengths: string[];
32
+ /** 限界・制約 */
33
+ limitations: string[];
34
+ }
35
+ /**
36
+ * 関連理論(グラフ走査結果)
37
+ */
38
+ export interface RelatedTheory extends Theory {
39
+ /** 走査深さ (1-3) */
40
+ depth: number;
41
+ /** 関係タイプ */
42
+ relation_type: RelationType;
43
+ }
44
+ /**
45
+ * 関係タイプ
46
+ */
47
+ export type RelationType = 'related_to' | 'influenced_by' | 'influences' | 'builds_upon' | 'derived_from' | 'complements' | 'similar_to' | 'contrasts_with';
48
+ /**
49
+ * カテゴリ情報
50
+ */
51
+ export interface Category {
52
+ /** カテゴリ名 */
53
+ name: string;
54
+ /** 理論数 */
55
+ count: number;
56
+ }
57
+ /**
58
+ * 検索オプション
59
+ */
60
+ export interface SearchOptions {
61
+ /** カテゴリでフィルタ */
62
+ category?: string;
63
+ /** 取得件数上限 */
64
+ limit?: number;
65
+ }
66
+ /**
67
+ * 一覧取得オプション
68
+ */
69
+ export interface ListOptions {
70
+ /** カテゴリでフィルタ */
71
+ category?: string;
72
+ /** 取得件数上限 */
73
+ limit?: number;
74
+ /** オフセット */
75
+ offset?: number;
76
+ }
77
+ /**
78
+ * 関連理論取得オプション
79
+ */
80
+ export interface RelatedOptions {
81
+ /** 走査深さ (デフォルト: 2, 最大: 3) */
82
+ depth?: number;
83
+ /** 関係タイプでフィルタ */
84
+ relationTypes?: RelationType[];
85
+ }
86
+ /**
87
+ * 検索結果
88
+ */
89
+ export interface SearchResult {
90
+ /** マッチした理論 */
91
+ theories: Theory[];
92
+ /** 総件数 */
93
+ total: number;
94
+ /** 検索クエリ */
95
+ query: string;
96
+ /** 検索時間(ms) */
97
+ durationMs: number;
98
+ }
99
+ /**
100
+ * データベース行(内部用)
101
+ */
102
+ export interface TheoryRow {
103
+ id: string;
104
+ name: string;
105
+ name_ja: string | null;
106
+ category: string;
107
+ description: string | null;
108
+ description_ja: string | null;
109
+ theorists: string;
110
+ priority: number;
111
+ key_principles: string;
112
+ applications: string;
113
+ strengths: string;
114
+ limitations: string;
115
+ }
116
+ /**
117
+ * 関係データベース行(内部用)
118
+ */
119
+ export interface RelationRow {
120
+ source_id: string;
121
+ target_id: string;
122
+ relation_type: string;
123
+ weight: number;
124
+ }
125
+ /**
126
+ * グラフ走査結果行(内部用)
127
+ */
128
+ export interface RelatedRow extends TheoryRow {
129
+ depth: number;
130
+ relation_type: string;
131
+ }
132
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/theories/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shiden",
3
- "version": "0.1.0",
4
- "description": "教育者向けGitHub Copilot Agent Skills - TENJIN GraphRAG連携で教育理論に基づくコンテンツ生成を支援",
3
+ "version": "0.3.2",
4
+ "description": "教育者向けGitHub Copilot Agent Skills - 175件の教育理論を内蔵、FTS5日本語検索対応",
5
5
  "keywords": [
6
6
  "github-copilot",
7
7
  "agent-skills",
@@ -33,12 +33,13 @@
33
33
  "main": "./dist/index.js",
34
34
  "types": "./dist/types/index.d.ts",
35
35
  "bin": {
36
- "shiden": "./bin/shiden.js"
36
+ "shiden": "bin/shiden.js"
37
37
  },
38
38
  "files": [
39
39
  "dist/",
40
40
  "bin/",
41
41
  "templates/",
42
+ "src/data/",
42
43
  "AGENTS.md",
43
44
  ".github/",
44
45
  "README.md",
@@ -56,11 +57,17 @@
56
57
  "typecheck": "tsc --noEmit"
57
58
  },
58
59
  "devDependencies": {
60
+ "@types/better-sqlite3": "^7.6.13",
59
61
  "@types/node": "^20.19.30",
60
62
  "typescript": "^5.3.0",
61
63
  "vitest": "^1.6.1"
62
64
  },
63
65
  "engines": {
64
66
  "node": ">=20.0.0"
67
+ },
68
+ "dependencies": {
69
+ "better-sqlite3": "^12.6.2",
70
+ "chalk": "^5.6.2",
71
+ "commander": "^14.0.2"
65
72
  }
66
73
  }