@knowledgine/cli 0.2.0 → 0.3.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/dist/commands/capture.d.ts +13 -0
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +113 -12
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/demo.d.ts.map +1 -1
- package/dist/commands/demo.js +23 -19
- package/dist/commands/demo.js.map +1 -1
- package/dist/commands/deprecation-check.d.ts +7 -0
- package/dist/commands/deprecation-check.d.ts.map +1 -0
- package/dist/commands/deprecation-check.js +75 -0
- package/dist/commands/deprecation-check.js.map +1 -0
- package/dist/commands/explain.d.ts +10 -0
- package/dist/commands/explain.d.ts.map +1 -0
- package/dist/commands/explain.js +252 -0
- package/dist/commands/explain.js.map +1 -0
- package/dist/commands/feedback-suggest.d.ts +8 -0
- package/dist/commands/feedback-suggest.d.ts.map +1 -0
- package/dist/commands/feedback-suggest.js +43 -0
- package/dist/commands/feedback-suggest.js.map +1 -0
- package/dist/commands/feedback.d.ts +9 -0
- package/dist/commands/feedback.d.ts.map +1 -1
- package/dist/commands/feedback.js +57 -21
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/ingest.d.ts +1 -0
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +96 -19
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +126 -61
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +14 -13
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/recall.d.ts +10 -0
- package/dist/commands/recall.d.ts.map +1 -0
- package/dist/commands/recall.js +199 -0
- package/dist/commands/recall.js.map +1 -0
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +55 -13
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/serve.d.ts +8 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +60 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/setup-rules.d.ts +27 -0
- package/dist/commands/setup-rules.d.ts.map +1 -0
- package/dist/commands/setup-rules.js +309 -0
- package/dist/commands/setup-rules.js.map +1 -0
- package/dist/commands/setup-skills.d.ts +55 -0
- package/dist/commands/setup-skills.d.ts.map +1 -0
- package/dist/commands/setup-skills.js +356 -0
- package/dist/commands/setup-skills.js.map +1 -0
- package/dist/commands/setup.d.ts +62 -5
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +358 -104
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +27 -20
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +81 -53
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/suggest.d.ts +11 -0
- package/dist/commands/suggest.d.ts.map +1 -0
- package/dist/commands/suggest.js +255 -0
- package/dist/commands/suggest.js.map +1 -0
- package/dist/commands/tool.d.ts.map +1 -1
- package/dist/commands/tool.js +5 -5
- package/dist/commands/tool.js.map +1 -1
- package/dist/commands/undeprecate.d.ts +5 -0
- package/dist/commands/undeprecate.d.ts.map +1 -0
- package/dist/commands/undeprecate.js +27 -0
- package/dist/commands/undeprecate.js.map +1 -0
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +64 -18
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/index.js +92 -20
- package/dist/index.js.map +1 -1
- package/dist/lib/content-extractor.d.ts +8 -0
- package/dist/lib/content-extractor.d.ts.map +1 -0
- package/dist/lib/content-extractor.js +50 -0
- package/dist/lib/content-extractor.js.map +1 -0
- package/dist/lib/diff-parser.d.ts +14 -0
- package/dist/lib/diff-parser.d.ts.map +1 -0
- package/dist/lib/diff-parser.js +108 -0
- package/dist/lib/diff-parser.js.map +1 -0
- package/dist/lib/entity-extractor.d.ts +17 -0
- package/dist/lib/entity-extractor.d.ts.map +1 -0
- package/dist/lib/entity-extractor.js +23 -0
- package/dist/lib/entity-extractor.js.map +1 -0
- package/dist/lib/formatter.d.ts.map +1 -1
- package/dist/lib/formatter.js +31 -32
- package/dist/lib/formatter.js.map +1 -1
- package/dist/lib/indexer.d.ts +2 -0
- package/dist/lib/indexer.d.ts.map +1 -1
- package/dist/lib/indexer.js +2 -0
- package/dist/lib/indexer.js.map +1 -1
- package/dist/lib/ingest-watcher.d.ts.map +1 -1
- package/dist/lib/ingest-watcher.js +2 -0
- package/dist/lib/ingest-watcher.js.map +1 -1
- package/dist/lib/plugin-loader.d.ts.map +1 -1
- package/dist/lib/plugin-loader.js +3 -1
- package/dist/lib/plugin-loader.js.map +1 -1
- package/dist/lib/progress.d.ts +8 -0
- package/dist/lib/progress.d.ts.map +1 -1
- package/dist/lib/progress.js +45 -6
- package/dist/lib/progress.js.map +1 -1
- package/dist/lib/ui/box.d.ts +7 -0
- package/dist/lib/ui/box.d.ts.map +1 -0
- package/dist/lib/ui/box.js +19 -0
- package/dist/lib/ui/box.js.map +1 -0
- package/dist/lib/ui/error-formatter.d.ts +8 -0
- package/dist/lib/ui/error-formatter.d.ts.map +1 -0
- package/dist/lib/ui/error-formatter.js +19 -0
- package/dist/lib/ui/error-formatter.js.map +1 -0
- package/dist/lib/ui/index.d.ts +7 -0
- package/dist/lib/ui/index.d.ts.map +1 -0
- package/dist/lib/ui/index.js +7 -0
- package/dist/lib/ui/index.js.map +1 -0
- package/dist/lib/ui/output.d.ts +2 -0
- package/dist/lib/ui/output.d.ts.map +1 -0
- package/dist/lib/ui/output.js +4 -0
- package/dist/lib/ui/output.js.map +1 -0
- package/dist/lib/ui/spinner.d.ts +4 -0
- package/dist/lib/ui/spinner.d.ts.map +1 -0
- package/dist/lib/ui/spinner.js +5 -0
- package/dist/lib/ui/spinner.js.map +1 -0
- package/dist/lib/ui/table.d.ts +9 -0
- package/dist/lib/ui/table.d.ts.map +1 -0
- package/dist/lib/ui/table.js +28 -0
- package/dist/lib/ui/table.js.map +1 -0
- package/dist/lib/ui/theme.d.ts +21 -0
- package/dist/lib/ui/theme.d.ts.map +1 -0
- package/dist/lib/ui/theme.js +29 -0
- package/dist/lib/ui/theme.js.map +1 -0
- package/dist/lib/unknown-command-handler.d.ts +14 -0
- package/dist/lib/unknown-command-handler.d.ts.map +1 -0
- package/dist/lib/unknown-command-handler.js +25 -0
- package/dist/lib/unknown-command-handler.js.map +1 -0
- package/dist/lib/url-validator.d.ts.map +1 -1
- package/dist/lib/url-validator.js +5 -1
- package/dist/lib/url-validator.js.map +1 -1
- package/dist/templates/rules/antigravity.d.ts +6 -0
- package/dist/templates/rules/antigravity.d.ts.map +1 -0
- package/dist/templates/rules/antigravity.js +30 -0
- package/dist/templates/rules/antigravity.js.map +1 -0
- package/dist/templates/rules/claude-code.d.ts +6 -0
- package/dist/templates/rules/claude-code.d.ts.map +1 -0
- package/dist/templates/rules/claude-code.js +32 -0
- package/dist/templates/rules/claude-code.js.map +1 -0
- package/dist/templates/rules/cline.d.ts +6 -0
- package/dist/templates/rules/cline.d.ts.map +1 -0
- package/dist/templates/rules/cline.js +35 -0
- package/dist/templates/rules/cline.js.map +1 -0
- package/dist/templates/rules/codex.d.ts +6 -0
- package/dist/templates/rules/codex.d.ts.map +1 -0
- package/dist/templates/rules/codex.js +37 -0
- package/dist/templates/rules/codex.js.map +1 -0
- package/dist/templates/rules/continue.d.ts +6 -0
- package/dist/templates/rules/continue.d.ts.map +1 -0
- package/dist/templates/rules/continue.js +31 -0
- package/dist/templates/rules/continue.js.map +1 -0
- package/dist/templates/rules/core-rules.d.ts +6 -0
- package/dist/templates/rules/core-rules.d.ts.map +1 -0
- package/dist/templates/rules/core-rules.js +33 -0
- package/dist/templates/rules/core-rules.js.map +1 -0
- package/dist/templates/rules/cursor.d.ts +6 -0
- package/dist/templates/rules/cursor.d.ts.map +1 -0
- package/dist/templates/rules/cursor.js +29 -0
- package/dist/templates/rules/cursor.js.map +1 -0
- package/dist/templates/rules/gemini.d.ts +6 -0
- package/dist/templates/rules/gemini.d.ts.map +1 -0
- package/dist/templates/rules/gemini.js +30 -0
- package/dist/templates/rules/gemini.js.map +1 -0
- package/dist/templates/rules/github-copilot.d.ts +6 -0
- package/dist/templates/rules/github-copilot.d.ts.map +1 -0
- package/dist/templates/rules/github-copilot.js +42 -0
- package/dist/templates/rules/github-copilot.js.map +1 -0
- package/dist/templates/rules/index.d.ts +13 -0
- package/dist/templates/rules/index.d.ts.map +1 -0
- package/dist/templates/rules/index.js +13 -0
- package/dist/templates/rules/index.js.map +1 -0
- package/dist/templates/rules/opencode.d.ts +6 -0
- package/dist/templates/rules/opencode.d.ts.map +1 -0
- package/dist/templates/rules/opencode.js +30 -0
- package/dist/templates/rules/opencode.js.map +1 -0
- package/dist/templates/rules/windsurf.d.ts +6 -0
- package/dist/templates/rules/windsurf.d.ts.map +1 -0
- package/dist/templates/rules/windsurf.js +24 -0
- package/dist/templates/rules/windsurf.js.map +1 -0
- package/dist/templates/rules/zed.d.ts +6 -0
- package/dist/templates/rules/zed.d.ts.map +1 -0
- package/dist/templates/rules/zed.js +34 -0
- package/dist/templates/rules/zed.js.map +1 -0
- package/dist/templates/skills/index.d.ts +26 -0
- package/dist/templates/skills/index.d.ts.map +1 -0
- package/dist/templates/skills/index.js +75 -0
- package/dist/templates/skills/index.js.map +1 -0
- package/dist/templates/skills/knowledgine-capture/references.d.ts +2 -0
- package/dist/templates/skills/knowledgine-capture/references.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-capture/references.js +414 -0
- package/dist/templates/skills/knowledgine-capture/references.js.map +1 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.js +97 -0
- package/dist/templates/skills/knowledgine-capture/skill-md.js.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/references.d.ts +2 -0
- package/dist/templates/skills/knowledgine-debrief/references.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/references.js +140 -0
- package/dist/templates/skills/knowledgine-debrief/references.js.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.js +74 -0
- package/dist/templates/skills/knowledgine-debrief/skill-md.js.map +1 -0
- package/dist/templates/skills/knowledgine-explain/references.d.ts +2 -0
- package/dist/templates/skills/knowledgine-explain/references.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-explain/references.js +183 -0
- package/dist/templates/skills/knowledgine-explain/references.js.map +1 -0
- package/dist/templates/skills/knowledgine-explain/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-explain/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-explain/skill-md.js +89 -0
- package/dist/templates/skills/knowledgine-explain/skill-md.js.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/references.d.ts +2 -0
- package/dist/templates/skills/knowledgine-feedback/references.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/references.js +214 -0
- package/dist/templates/skills/knowledgine-feedback/references.js.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.js +107 -0
- package/dist/templates/skills/knowledgine-feedback/skill-md.js.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/references.d.ts +2 -0
- package/dist/templates/skills/knowledgine-ingest/references.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/references.js +243 -0
- package/dist/templates/skills/knowledgine-ingest/references.js.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.js +80 -0
- package/dist/templates/skills/knowledgine-ingest/skill-md.js.map +1 -0
- package/dist/templates/skills/knowledgine-recall/references.d.ts +2 -0
- package/dist/templates/skills/knowledgine-recall/references.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-recall/references.js +207 -0
- package/dist/templates/skills/knowledgine-recall/references.js.map +1 -0
- package/dist/templates/skills/knowledgine-recall/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-recall/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-recall/skill-md.js +86 -0
- package/dist/templates/skills/knowledgine-recall/skill-md.js.map +1 -0
- package/dist/templates/skills/knowledgine-suggest/references.d.ts +2 -0
- package/dist/templates/skills/knowledgine-suggest/references.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-suggest/references.js +121 -0
- package/dist/templates/skills/knowledgine-suggest/references.js.map +1 -0
- package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts +2 -0
- package/dist/templates/skills/knowledgine-suggest/skill-md.d.ts.map +1 -0
- package/dist/templates/skills/knowledgine-suggest/skill-md.js +94 -0
- package/dist/templates/skills/knowledgine-suggest/skill-md.js.map +1 -0
- package/fixtures/demo/notes/api-design-decisions.md +7 -2
- package/fixtures/demo/notes/auth-debugging.md +8 -0
- package/fixtures/demo/notes/ci-cd-pipeline.md +7 -0
- package/fixtures/demo/notes/code-review-notes.md +7 -0
- package/fixtures/demo/notes/database-optimization.md +8 -0
- package/fixtures/demo/notes/docker-troubleshooting.md +7 -1
- package/fixtures/demo/notes/react-performance.md +7 -6
- package/fixtures/demo/notes/typescript-migration.md +13 -4
- package/package.json +13 -4
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
export const REFERENCES = {
|
|
2
|
+
"debrief-template.md": `# Debrief Template
|
|
3
|
+
|
|
4
|
+
Fill in the following template when creating a session debrief capture. Omit sections
|
|
5
|
+
that are not applicable.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
\`\`\`markdown
|
|
10
|
+
## Session Debrief: <YYYY-MM-DD> — <Main Topic>
|
|
11
|
+
|
|
12
|
+
### Overview
|
|
13
|
+
<1–2 sentence summary of the session goal and outcome>
|
|
14
|
+
|
|
15
|
+
### Problems Solved
|
|
16
|
+
<!-- List each significant problem with root cause and solution -->
|
|
17
|
+
- **<Problem title>**
|
|
18
|
+
- Root cause: <what caused it>
|
|
19
|
+
- Solution: <what was done>
|
|
20
|
+
- Files changed: <list of files>
|
|
21
|
+
|
|
22
|
+
### Decisions Made
|
|
23
|
+
<!-- List architectural or implementation decisions with reasoning -->
|
|
24
|
+
- **<Decision title>**
|
|
25
|
+
- Options considered: <A, B, C>
|
|
26
|
+
- Chosen: <option>
|
|
27
|
+
- Reason: <why>
|
|
28
|
+
|
|
29
|
+
### Patterns Found
|
|
30
|
+
<!-- Reusable insights or patterns discovered this session -->
|
|
31
|
+
- **<Pattern name>**: <brief description and when to apply>
|
|
32
|
+
|
|
33
|
+
### Code Changed
|
|
34
|
+
<!-- Summary of what was changed and why -->
|
|
35
|
+
| File | Change | Purpose |
|
|
36
|
+
|------|--------|---------|
|
|
37
|
+
| <path> | <created/modified/deleted> | <why> |
|
|
38
|
+
|
|
39
|
+
### Open Questions
|
|
40
|
+
<!-- Unresolved items for future sessions -->
|
|
41
|
+
- <Question or uncertainty>
|
|
42
|
+
- <What needs investigation or decision>
|
|
43
|
+
|
|
44
|
+
### References
|
|
45
|
+
<!-- External sources consulted this session -->
|
|
46
|
+
- <URL or document title>
|
|
47
|
+
\`\`\`
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Usage Notes
|
|
52
|
+
|
|
53
|
+
**Title format**: "Session Debrief: 2026-03-15 — Entity extraction pipeline fix"
|
|
54
|
+
|
|
55
|
+
**Tags**: Always include \`debrief\`. Add the primary topic area:
|
|
56
|
+
- \`debrief\`, \`bug-fix\` — session primarily fixed bugs
|
|
57
|
+
- \`debrief\`, \`design-decision\` — session was design-focused
|
|
58
|
+
- \`debrief\`, \`refactoring\` — session was refactoring-focused
|
|
59
|
+
- \`debrief\`, \`feature\` — session added new functionality
|
|
60
|
+
|
|
61
|
+
**Minimum viable debrief**: If time is short, at minimum capture:
|
|
62
|
+
1. What was done (one sentence per task)
|
|
63
|
+
2. Key decisions or gotchas
|
|
64
|
+
3. Open questions
|
|
65
|
+
|
|
66
|
+
**Separate captures**: For major bugs or decisions, create individual captures first
|
|
67
|
+
(using knowledgine-capture), then reference them in the debrief summary. This
|
|
68
|
+
ensures the individual insights are searchable by type, not only through the debrief.
|
|
69
|
+
`,
|
|
70
|
+
"example-output.md": `# Example Debrief Output
|
|
71
|
+
|
|
72
|
+
A concrete example of a well-written session debrief.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
**Title**: Session Debrief: 2026-03-15 — ESM import resolution and sqlite-vec fix
|
|
77
|
+
|
|
78
|
+
**Tags**: \`debrief\`, \`bug-fix\`
|
|
79
|
+
|
|
80
|
+
**Content**:
|
|
81
|
+
\`\`\`markdown
|
|
82
|
+
## Session Debrief: 2026-03-15 — ESM import resolution and sqlite-vec fix
|
|
83
|
+
|
|
84
|
+
### Overview
|
|
85
|
+
Fixed two build-time failures introduced by upgrading to Node.js 20: ESM import
|
|
86
|
+
extensions were missing in CLI source files, and sqlite-vec native module needed
|
|
87
|
+
recompilation for the new ABI.
|
|
88
|
+
|
|
89
|
+
### Problems Solved
|
|
90
|
+
|
|
91
|
+
- **Missing .js extensions in ESM imports**
|
|
92
|
+
- Root cause: TypeScript source used extensionless imports (e.g., \`import foo from "./foo"\`)
|
|
93
|
+
which works with CommonJS but fails in strict ESM mode (Node 20 + type: "module").
|
|
94
|
+
- Solution: Added .js extensions to all relative imports in packages/cli/src/
|
|
95
|
+
and packages/core/src/. Updated tsconfig to moduleResolution: "NodeNext".
|
|
96
|
+
- Files changed: ~40 files across cli and core packages
|
|
97
|
+
|
|
98
|
+
- **sqlite-vec "invalid ELF header" on Node 20**
|
|
99
|
+
- Root cause: Native .node binary was compiled for Node 18 ABI (NODE_MODULE_VERSION 108).
|
|
100
|
+
Node 20 uses ABI 115.
|
|
101
|
+
- Solution: Ran \`npm rebuild\` to recompile sqlite-vec for Node 20. Added ABI version
|
|
102
|
+
check to CI cache key to prevent recurrence.
|
|
103
|
+
- Files changed: No source changes; CI workflow updated
|
|
104
|
+
|
|
105
|
+
### Decisions Made
|
|
106
|
+
|
|
107
|
+
- **Keep moduleResolution: NodeNext permanently**
|
|
108
|
+
- Options: Revert to CommonJS, or update to NodeNext
|
|
109
|
+
- Chosen: NodeNext. ESM is the direction Node.js is heading; reverting would
|
|
110
|
+
accumulate more migration debt. The .js extension requirement is a one-time cost.
|
|
111
|
+
|
|
112
|
+
### Patterns Found
|
|
113
|
+
|
|
114
|
+
- **npm rebuild after Node.js major upgrades**: Any project using native modules must
|
|
115
|
+
run \`npm rebuild\` after upgrading Node.js major version. Add this to upgrade
|
|
116
|
+
runbooks. See also: individual capture "sqlite-vec fails after Node.js upgrade".
|
|
117
|
+
|
|
118
|
+
### Code Changed
|
|
119
|
+
|
|
120
|
+
| File | Change | Purpose |
|
|
121
|
+
|------|--------|---------|
|
|
122
|
+
| packages/cli/src/**/*.ts | modified | Add .js to all relative imports |
|
|
123
|
+
| packages/core/src/**/*.ts | modified | Add .js to all relative imports |
|
|
124
|
+
| tsconfig.json | modified | moduleResolution: NodeNext |
|
|
125
|
+
| .github/workflows/ci.yml | modified | Add NODE_ABI to cache key |
|
|
126
|
+
|
|
127
|
+
### Open Questions
|
|
128
|
+
|
|
129
|
+
- Is there a codemod or lint rule that enforces .js extensions? ESLint import plugin
|
|
130
|
+
might handle this — investigate for future use.
|
|
131
|
+
- Should the knowledgine init command detect ABI mismatch proactively?
|
|
132
|
+
|
|
133
|
+
### References
|
|
134
|
+
|
|
135
|
+
- https://www.typescriptlang.org/docs/handbook/esm-node.html
|
|
136
|
+
- https://nodejs.org/api/esm.html#mandatory-file-extensions
|
|
137
|
+
\`\`\`
|
|
138
|
+
`,
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=references.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-debrief/references.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmExB;IAEC,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEtB;CACA,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const SKILL_MD = "---\nname: knowledgine-debrief\ndescription: >\n Summarize and record all learnings from the current session at its end. Invoke when\n the user signals the session is complete, after finishing a major task, or when asked\n for a session review. Produces a structured knowledge capture covering problems solved,\n decisions made, patterns found, and open questions.\n---\n# knowledgine-debrief\n\n## Purpose\n\nConsolidate all learnings from the session into the knowledge base before context is\nlost. A debrief transforms the raw events of a session \u2014 bugs fixed, decisions made,\ncode changed \u2014 into durable structured knowledge that future sessions can build on.\n\n## When to Use\n\n- **End of session** \u2014 User says \"done\", \"that's all\", \"let's wrap up\", or similar\n- **After completing a major task** \u2014 Significant feature, complex bug fix, or refactoring\n- **User requests a review** \u2014 \"What did we do today?\", \"Summarize the session\"\n- **Before switching contexts** \u2014 Moving to a completely different area of the codebase\n\n## When NOT to Use\n\n- Mid-session after every small change \u2014 save debrief for meaningful milestones\n- When nothing significant happened (trivial edits only)\n\n## How to Debrief (MCP Tool)\n\nUse `capture_knowledge` to save the session summary:\n\n```\ncapture_knowledge(\n content: string, // Full structured debrief using the template\n title: string, // \"Session Debrief: <date> \u2014 <main topic>\"\n tags: string[], // [\"debrief\", \"<primary-area>\", ...]\n source?: string // Optional: session identifier\n)\n```\n\n## Step-by-Step Instructions\n\n1. **Recall the session** \u2014 Review what was worked on (rely on your context window)\n2. **Identify key events** \u2014 Problems solved, decisions made, patterns found\n3. **Draft the debrief** \u2014 Use the structured template from debrief-template.md\n4. **Capture each major learning individually** \u2014 If a bug fix or decision is significant\n enough to stand alone, capture it separately with the appropriate skill first\n5. **Capture the session summary** \u2014 Save the consolidated debrief note\n6. **Confirm completion** \u2014 Report to the user what was captured\n\n## Debrief Structure\n\nA good debrief contains:\n\n- **Problems Solved** \u2014 What broke and how it was fixed\n- **Decisions Made** \u2014 What was chosen and why\n- **Patterns Found** \u2014 Reusable insights discovered\n- **Code Changed** \u2014 Summary of files modified and purpose\n- **Open Questions** \u2014 Unresolved items for future sessions\n\n## Best Practices\n\n- Write for a future reader with no context from this session\n- Be specific about what changed, not just what was done\n- Open questions are as valuable as answers \u2014 document uncertainty\n- If the session was long, do individual captures for major events before the summary\n\n## Reference Files\n\n- See `debrief-template.md` for the structured template to fill in\n- See `example-output.md` for a concrete example of a well-written debrief\n";
|
|
2
|
+
//# sourceMappingURL=skill-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-debrief/skill-md.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,8gGAwEpB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export const SKILL_MD = `---
|
|
2
|
+
name: knowledgine-debrief
|
|
3
|
+
description: >
|
|
4
|
+
Summarize and record all learnings from the current session at its end. Invoke when
|
|
5
|
+
the user signals the session is complete, after finishing a major task, or when asked
|
|
6
|
+
for a session review. Produces a structured knowledge capture covering problems solved,
|
|
7
|
+
decisions made, patterns found, and open questions.
|
|
8
|
+
---
|
|
9
|
+
# knowledgine-debrief
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Consolidate all learnings from the session into the knowledge base before context is
|
|
14
|
+
lost. A debrief transforms the raw events of a session — bugs fixed, decisions made,
|
|
15
|
+
code changed — into durable structured knowledge that future sessions can build on.
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
|
|
19
|
+
- **End of session** — User says "done", "that's all", "let's wrap up", or similar
|
|
20
|
+
- **After completing a major task** — Significant feature, complex bug fix, or refactoring
|
|
21
|
+
- **User requests a review** — "What did we do today?", "Summarize the session"
|
|
22
|
+
- **Before switching contexts** — Moving to a completely different area of the codebase
|
|
23
|
+
|
|
24
|
+
## When NOT to Use
|
|
25
|
+
|
|
26
|
+
- Mid-session after every small change — save debrief for meaningful milestones
|
|
27
|
+
- When nothing significant happened (trivial edits only)
|
|
28
|
+
|
|
29
|
+
## How to Debrief (MCP Tool)
|
|
30
|
+
|
|
31
|
+
Use \`capture_knowledge\` to save the session summary:
|
|
32
|
+
|
|
33
|
+
\`\`\`
|
|
34
|
+
capture_knowledge(
|
|
35
|
+
content: string, // Full structured debrief using the template
|
|
36
|
+
title: string, // "Session Debrief: <date> — <main topic>"
|
|
37
|
+
tags: string[], // ["debrief", "<primary-area>", ...]
|
|
38
|
+
source?: string // Optional: session identifier
|
|
39
|
+
)
|
|
40
|
+
\`\`\`
|
|
41
|
+
|
|
42
|
+
## Step-by-Step Instructions
|
|
43
|
+
|
|
44
|
+
1. **Recall the session** — Review what was worked on (rely on your context window)
|
|
45
|
+
2. **Identify key events** — Problems solved, decisions made, patterns found
|
|
46
|
+
3. **Draft the debrief** — Use the structured template from debrief-template.md
|
|
47
|
+
4. **Capture each major learning individually** — If a bug fix or decision is significant
|
|
48
|
+
enough to stand alone, capture it separately with the appropriate skill first
|
|
49
|
+
5. **Capture the session summary** — Save the consolidated debrief note
|
|
50
|
+
6. **Confirm completion** — Report to the user what was captured
|
|
51
|
+
|
|
52
|
+
## Debrief Structure
|
|
53
|
+
|
|
54
|
+
A good debrief contains:
|
|
55
|
+
|
|
56
|
+
- **Problems Solved** — What broke and how it was fixed
|
|
57
|
+
- **Decisions Made** — What was chosen and why
|
|
58
|
+
- **Patterns Found** — Reusable insights discovered
|
|
59
|
+
- **Code Changed** — Summary of files modified and purpose
|
|
60
|
+
- **Open Questions** — Unresolved items for future sessions
|
|
61
|
+
|
|
62
|
+
## Best Practices
|
|
63
|
+
|
|
64
|
+
- Write for a future reader with no context from this session
|
|
65
|
+
- Be specific about what changed, not just what was done
|
|
66
|
+
- Open questions are as valuable as answers — document uncertainty
|
|
67
|
+
- If the session was long, do individual captures for major events before the summary
|
|
68
|
+
|
|
69
|
+
## Reference Files
|
|
70
|
+
|
|
71
|
+
- See \`debrief-template.md\` for the structured template to fill in
|
|
72
|
+
- See \`example-output.md\` for a concrete example of a well-written debrief
|
|
73
|
+
`;
|
|
74
|
+
//# sourceMappingURL=skill-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-debrief/skill-md.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-explain/references.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsL7C,CAAC"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
export const REFERENCES = {
|
|
2
|
+
"entity-types.md": `# Entity Types
|
|
3
|
+
|
|
4
|
+
The entity types recognized and extracted by knowledgine from knowledge base content.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Core Entity Types
|
|
9
|
+
|
|
10
|
+
| Type | Description | Examples |
|
|
11
|
+
|------|-------------|---------|
|
|
12
|
+
| \`technology\` | Libraries, frameworks, tools, languages | \`SQLite\`, \`TypeScript\`, \`Node.js\`, \`Zod\` |
|
|
13
|
+
| \`concept\` | Abstract ideas, patterns, architectural concepts | \`caching\`, \`ESM\`, \`FTS5\`, \`semantic search\` |
|
|
14
|
+
| \`project\` | Projects, repositories, products | \`knowledgine\`, \`claude-code\` |
|
|
15
|
+
| \`person\` | Authors, contributors, contacts | Team members, external contributors |
|
|
16
|
+
| \`component\` | Code components, classes, modules | \`KnowledgeRepository\`, \`IngestEngine\` |
|
|
17
|
+
| \`command\` | CLI commands or API operations | \`knowledgine init\`, \`capture_knowledge\` |
|
|
18
|
+
| \`file\` | Source files and paths | \`packages/core/src/config/config-loader.ts\` |
|
|
19
|
+
| \`error\` | Named error types or error messages | \`SQLITE_CONSTRAINT\`, \`ENOENT\` |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Searching for Entities
|
|
24
|
+
|
|
25
|
+
### By exact name
|
|
26
|
+
\`\`\`
|
|
27
|
+
search_entities(query: "SQLite")
|
|
28
|
+
search_entities(query: "KnowledgeRepository")
|
|
29
|
+
\`\`\`
|
|
30
|
+
|
|
31
|
+
### By type + name
|
|
32
|
+
\`\`\`
|
|
33
|
+
search_entities(query: "technology sqlite")
|
|
34
|
+
search_entities(query: "concept caching")
|
|
35
|
+
\`\`\`
|
|
36
|
+
|
|
37
|
+
### By partial name
|
|
38
|
+
\`\`\`
|
|
39
|
+
search_entities(query: "Knowledge") // matches KnowledgeRepository, knowledgine, etc.
|
|
40
|
+
\`\`\`
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Entity Extraction Quality
|
|
45
|
+
|
|
46
|
+
Entities are extracted automatically from note content using NLP. The quality depends
|
|
47
|
+
on the clarity of the notes. If you notice missing or incorrect entities, use
|
|
48
|
+
\`knowledgine-feedback\` to report them.
|
|
49
|
+
|
|
50
|
+
**Common extraction issues**:
|
|
51
|
+
- Abbreviations (TS → TypeScript may not be linked)
|
|
52
|
+
- Generic words that happen to be class names (Table, Manager)
|
|
53
|
+
- Multi-word entities where only part is captured
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Using Entities for Exploration
|
|
58
|
+
|
|
59
|
+
Entities serve as navigation hubs in the knowledge graph. A technology entity like
|
|
60
|
+
\`SQLite\` connects to every note that mentions SQLite, allowing you to traverse from
|
|
61
|
+
the entity to all related bug fixes, design decisions, and patterns.
|
|
62
|
+
|
|
63
|
+
**Exploration pattern**:
|
|
64
|
+
\`\`\`
|
|
65
|
+
1. search_entities(query: "SQLite") → get entity ID
|
|
66
|
+
2. get_entity_graph(entityId: "<id>") → see all connections
|
|
67
|
+
3. find_related(noteId: "<connected note id>") → traverse outward
|
|
68
|
+
\`\`\`
|
|
69
|
+
`,
|
|
70
|
+
"graph-navigation.md": `# Graph Navigation
|
|
71
|
+
|
|
72
|
+
How to traverse the knowledge graph effectively using \`get_entity_graph\` and
|
|
73
|
+
\`find_related\`.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Knowledge Graph Structure
|
|
78
|
+
|
|
79
|
+
The knowledge graph has two node types:
|
|
80
|
+
|
|
81
|
+
- **Notes** — Individual knowledge entries (bug fixes, decisions, patterns, etc.)
|
|
82
|
+
- **Entities** — Named things extracted from notes (technologies, concepts, people)
|
|
83
|
+
|
|
84
|
+
**Edge types**:
|
|
85
|
+
- Note → Entity: "this note mentions this entity"
|
|
86
|
+
- Entity → Note: "this entity appears in these notes"
|
|
87
|
+
- Note → Note: "these notes share entities" (implicit through entity connections)
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## get_entity_graph
|
|
92
|
+
|
|
93
|
+
Returns the entity and all notes it appears in, plus related entities.
|
|
94
|
+
|
|
95
|
+
\`\`\`
|
|
96
|
+
get_entity_graph(entityId: "123")
|
|
97
|
+
// Returns: { entity, notes: [...], relatedEntities: [...] }
|
|
98
|
+
|
|
99
|
+
get_entity_graph(entityName: "SQLite")
|
|
100
|
+
// Look up entity by name then return graph
|
|
101
|
+
\`\`\`
|
|
102
|
+
|
|
103
|
+
**Use this when you want to**:
|
|
104
|
+
- See every note about a specific technology or concept
|
|
105
|
+
- Discover which other entities co-appear with this entity
|
|
106
|
+
- Get an overview before doing deeper traversal
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## find_related
|
|
111
|
+
|
|
112
|
+
Returns notes related to a starting point (note or file path) via shared entities.
|
|
113
|
+
|
|
114
|
+
\`\`\`
|
|
115
|
+
find_related(noteId: "abc123", limit: 10, maxHops: 2)
|
|
116
|
+
find_related(filePath: "src/commands/setup.ts", limit: 10)
|
|
117
|
+
\`\`\`
|
|
118
|
+
|
|
119
|
+
**Parameters**:
|
|
120
|
+
- \`noteId\` or \`filePath\`: Starting point for traversal
|
|
121
|
+
- \`limit\`: Maximum notes to return
|
|
122
|
+
- \`maxHops\`: How many edge-traversal steps to allow (1–3)
|
|
123
|
+
|
|
124
|
+
### maxHops Guide
|
|
125
|
+
|
|
126
|
+
| maxHops | Meaning | When to use |
|
|
127
|
+
|---------|---------|-------------|
|
|
128
|
+
| 1 | Only notes that share a direct entity with the starting note | Focused lookup |
|
|
129
|
+
| 2 | Notes 2 hops away (share an entity with a 1-hop note) | Default, good balance |
|
|
130
|
+
| 3 | Notes 3 hops away | Open-ended exploration, large graph |
|
|
131
|
+
|
|
132
|
+
**Higher maxHops returns more results but with lower average relevance.** Start at 1
|
|
133
|
+
or 2 and increase only if the results are too sparse.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Navigation Patterns
|
|
138
|
+
|
|
139
|
+
### Pattern 1: Technology Deep Dive
|
|
140
|
+
|
|
141
|
+
\`\`\`
|
|
142
|
+
// Understand everything in the knowledge base about TypeScript
|
|
143
|
+
1. search_entities(query: "TypeScript") → { id: "42", name: "TypeScript" }
|
|
144
|
+
2. get_entity_graph(entityId: "42")
|
|
145
|
+
→ 15 notes mention TypeScript
|
|
146
|
+
→ related entities: ESM, tsconfig, type-safety
|
|
147
|
+
3. find_related(noteId: "<top note id>", maxHops: 2)
|
|
148
|
+
→ Surface adjacent notes
|
|
149
|
+
\`\`\`
|
|
150
|
+
|
|
151
|
+
### Pattern 2: Component History
|
|
152
|
+
|
|
153
|
+
\`\`\`
|
|
154
|
+
// Understand the history of the setup command
|
|
155
|
+
1. search_entities(query: "setupCommand") → entity
|
|
156
|
+
2. get_entity_graph(entityId: "<id>") → notes about setupCommand
|
|
157
|
+
3. Filter for design-decision and refactoring notes
|
|
158
|
+
4. Read chronologically to understand evolution
|
|
159
|
+
\`\`\`
|
|
160
|
+
|
|
161
|
+
### Pattern 3: Cross-Area Connections
|
|
162
|
+
|
|
163
|
+
\`\`\`
|
|
164
|
+
// Find connections between two components
|
|
165
|
+
1. get_entity_graph(entityName: "IngestEngine") → set A of notes + entities
|
|
166
|
+
2. get_entity_graph(entityName: "KnowledgeRepository") → set B
|
|
167
|
+
3. Inspect overlap in relatedEntities to find bridges
|
|
168
|
+
\`\`\`
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Interpreting Results
|
|
173
|
+
|
|
174
|
+
When \`get_entity_graph\` returns many notes, prioritize by tag:
|
|
175
|
+
|
|
176
|
+
| Priority | Tags |
|
|
177
|
+
|----------|------|
|
|
178
|
+
| High | \`design-decision\`, \`bug-fix\`, \`troubleshooting\` |
|
|
179
|
+
| Medium | \`pattern\`, \`refactoring\`, \`external-knowledge\` |
|
|
180
|
+
| Lower | Untagged notes |
|
|
181
|
+
`,
|
|
182
|
+
};
|
|
183
|
+
//# sourceMappingURL=references.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-explain/references.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEpB;IAEC,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+GxB;CACA,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const SKILL_MD = "---\nname: knowledgine-explain\ndescription: >\n Explore entities, knowledge graph connections, and design history for unfamiliar\n components. Invoke when exploring code you did not write, tracing the history of a\n design decision, or understanding how a named entity (technology, library, project,\n person) relates to other parts of the knowledge base.\n---\n# knowledgine-explain\n\n## Purpose\n\nTrace the knowledge graph to understand why things are the way they are. Explain uses\nentity search and graph traversal to surface the full context around a component or\nconcept \u2014 not just what exists, but how it connects to other parts of the system and\nwhat decisions shaped it.\n\n## When to Use\n\n- **Exploring unfamiliar code** \u2014 Who wrote what and why? What decisions shaped this?\n- **Understanding design rationale** \u2014 What alternatives were considered?\n- **Tracing knowledge provenance** \u2014 Where did this pattern or approach come from?\n- **Auditing a technology choice** \u2014 Why is this library used here?\n- **Understanding relationships** \u2014 How do components A and B relate?\n\n## When NOT to Use\n\n- When you just need to find a specific past solution (use knowledgine-recall instead)\n- When the entity does not exist in the knowledge base yet\n- For trivial well-known concepts with no project-specific context\n\n## How to Explain (MCP Tools)\n\n### Step 1: Search for entities\n\n```\nsearch_entities(\n query: string, // Entity name, technology, concept, or person\n limit?: number // Max results (default 10)\n)\n```\n\n### Step 2: Explore entity graph\n\n```\nget_entity_graph(\n entityId?: string, // ID from search_entities result\n entityName?: string // Or search by name directly\n)\n```\n\n### Step 3: Find related notes\n\n```\nfind_related(\n noteId?: string, // A relevant note ID found in earlier steps\n filePath?: string, // Or a relevant file path\n limit?: number,\n maxHops?: number // 1\u20133, default 2\n)\n```\n\n## How to Explain (CLI Alternative)\n\n```bash\nknowledgine explain \"<entity name or concept>\"\n```\n\n## Step-by-Step Instructions\n\n1. **Identify the subject** \u2014 What entity, component, or concept do you want to understand?\n2. **Search for the entity** \u2014 Call `search_entities` with the subject name\n3. **Inspect the entity graph** \u2014 Call `get_entity_graph` with the entity ID\n4. **Traverse related notes** \u2014 Call `find_related` for notes that mention this entity\n5. **Synthesize findings** \u2014 Summarize what you learned about the entity's history and connections\n\n## Best Practices\n\n- Start with `search_entities` to discover the exact entity name as stored in the knowledge base\n- Use `get_entity_graph` to map the neighborhood before diving into individual notes\n- Increase `maxHops` gradually \u2014 start at 1, go to 2 or 3 if the immediate neighborhood is sparse\n- Look specifically for notes tagged `design-decision` \u2014 they explain the \"why\"\n\n## Reference Files\n\n- See `entity-types.md` for the entity taxonomy used in knowledgine\n- See `graph-navigation.md` for how to traverse the knowledge graph effectively\n";
|
|
2
|
+
//# sourceMappingURL=skill-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-explain/skill-md.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,wnGAuFpB,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export const SKILL_MD = `---
|
|
2
|
+
name: knowledgine-explain
|
|
3
|
+
description: >
|
|
4
|
+
Explore entities, knowledge graph connections, and design history for unfamiliar
|
|
5
|
+
components. Invoke when exploring code you did not write, tracing the history of a
|
|
6
|
+
design decision, or understanding how a named entity (technology, library, project,
|
|
7
|
+
person) relates to other parts of the knowledge base.
|
|
8
|
+
---
|
|
9
|
+
# knowledgine-explain
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Trace the knowledge graph to understand why things are the way they are. Explain uses
|
|
14
|
+
entity search and graph traversal to surface the full context around a component or
|
|
15
|
+
concept — not just what exists, but how it connects to other parts of the system and
|
|
16
|
+
what decisions shaped it.
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
- **Exploring unfamiliar code** — Who wrote what and why? What decisions shaped this?
|
|
21
|
+
- **Understanding design rationale** — What alternatives were considered?
|
|
22
|
+
- **Tracing knowledge provenance** — Where did this pattern or approach come from?
|
|
23
|
+
- **Auditing a technology choice** — Why is this library used here?
|
|
24
|
+
- **Understanding relationships** — How do components A and B relate?
|
|
25
|
+
|
|
26
|
+
## When NOT to Use
|
|
27
|
+
|
|
28
|
+
- When you just need to find a specific past solution (use knowledgine-recall instead)
|
|
29
|
+
- When the entity does not exist in the knowledge base yet
|
|
30
|
+
- For trivial well-known concepts with no project-specific context
|
|
31
|
+
|
|
32
|
+
## How to Explain (MCP Tools)
|
|
33
|
+
|
|
34
|
+
### Step 1: Search for entities
|
|
35
|
+
|
|
36
|
+
\`\`\`
|
|
37
|
+
search_entities(
|
|
38
|
+
query: string, // Entity name, technology, concept, or person
|
|
39
|
+
limit?: number // Max results (default 10)
|
|
40
|
+
)
|
|
41
|
+
\`\`\`
|
|
42
|
+
|
|
43
|
+
### Step 2: Explore entity graph
|
|
44
|
+
|
|
45
|
+
\`\`\`
|
|
46
|
+
get_entity_graph(
|
|
47
|
+
entityId?: string, // ID from search_entities result
|
|
48
|
+
entityName?: string // Or search by name directly
|
|
49
|
+
)
|
|
50
|
+
\`\`\`
|
|
51
|
+
|
|
52
|
+
### Step 3: Find related notes
|
|
53
|
+
|
|
54
|
+
\`\`\`
|
|
55
|
+
find_related(
|
|
56
|
+
noteId?: string, // A relevant note ID found in earlier steps
|
|
57
|
+
filePath?: string, // Or a relevant file path
|
|
58
|
+
limit?: number,
|
|
59
|
+
maxHops?: number // 1–3, default 2
|
|
60
|
+
)
|
|
61
|
+
\`\`\`
|
|
62
|
+
|
|
63
|
+
## How to Explain (CLI Alternative)
|
|
64
|
+
|
|
65
|
+
\`\`\`bash
|
|
66
|
+
knowledgine explain "<entity name or concept>"
|
|
67
|
+
\`\`\`
|
|
68
|
+
|
|
69
|
+
## Step-by-Step Instructions
|
|
70
|
+
|
|
71
|
+
1. **Identify the subject** — What entity, component, or concept do you want to understand?
|
|
72
|
+
2. **Search for the entity** — Call \`search_entities\` with the subject name
|
|
73
|
+
3. **Inspect the entity graph** — Call \`get_entity_graph\` with the entity ID
|
|
74
|
+
4. **Traverse related notes** — Call \`find_related\` for notes that mention this entity
|
|
75
|
+
5. **Synthesize findings** — Summarize what you learned about the entity's history and connections
|
|
76
|
+
|
|
77
|
+
## Best Practices
|
|
78
|
+
|
|
79
|
+
- Start with \`search_entities\` to discover the exact entity name as stored in the knowledge base
|
|
80
|
+
- Use \`get_entity_graph\` to map the neighborhood before diving into individual notes
|
|
81
|
+
- Increase \`maxHops\` gradually — start at 1, go to 2 or 3 if the immediate neighborhood is sparse
|
|
82
|
+
- Look specifically for notes tagged \`design-decision\` — they explain the "why"
|
|
83
|
+
|
|
84
|
+
## Reference Files
|
|
85
|
+
|
|
86
|
+
- See \`entity-types.md\` for the entity taxonomy used in knowledgine
|
|
87
|
+
- See \`graph-navigation.md\` for how to traverse the knowledge graph effectively
|
|
88
|
+
`;
|
|
89
|
+
//# sourceMappingURL=skill-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.js","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-explain/skill-md.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../../src/templates/skills/knowledgine-feedback/references.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqN7C,CAAC"}
|