vibe-learning-opencode 0.1.5 → 0.1.6

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 (2) hide show
  1. package/dist/index.js +42 -10
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -97,6 +97,14 @@ Flow:
97
97
  })
98
98
  DO NOT say "Implementing now" until record_learning is called.
99
99
 
100
+ After implementation, record 1-2 unknown unknowns:
101
+ mcp__vibe-learning__record_unknown_unknown({
102
+ concept_id: "related-concept",
103
+ related_to: "main-concept",
104
+ context: "brief context",
105
+ why_important: "why important"
106
+ })
107
+
100
108
  ONE question per message. Wait for answer.`,
101
109
  "senior-light": `Execute NOW: Call mcp__vibe-learning__set_mode with mode="senior_light". Confirm mode changed.
102
110
 
@@ -125,6 +133,14 @@ Flow:
125
133
  })
126
134
  DO NOT say "Implementing now" until record_learning is called.
127
135
 
136
+ After implementation, record 1-2 unknown unknowns:
137
+ mcp__vibe-learning__record_unknown_unknown({
138
+ concept_id: "related-concept",
139
+ related_to: "main-concept",
140
+ context: "brief context",
141
+ why_important: "why important"
142
+ })
143
+
128
144
  ONE question per round. Be strict like a real senior.`,
129
145
  before: `[VibeLearning - Before Mode]
130
146
 
@@ -135,18 +151,34 @@ Then proceed regardless of answer.`,
135
151
  Briefly mention one alternative while implementing.
136
152
  Example: "Using X, but Y is also an option if you need Z."`
137
153
  };
138
- var AUTO_LEARNING_PROMPT = `[VibeLearning - Learning Time]
154
+ var AUTO_LEARNING_PROMPT = `[VibeLearning - Task Completion]
155
+
156
+ Task completed. Execute these steps NOW (in order):
157
+
158
+ **STEP 1: Identify Concepts (ALWAYS DO THIS)**
159
+ Identify 1-3 key concepts used in this task. Use kebab-case (e.g., "redis-caching", "jwt-auth", "react-hooks").
160
+
161
+ **STEP 2: Record Unknown Unknowns (ALWAYS DO THIS)**
162
+ For each concept, think of 1-2 related concepts the user might not know.
163
+ Call mcp__vibe-learning__record_unknown_unknown for each:
164
+ - concept_id: the unknown concept (e.g., "cache-stampede")
165
+ - related_to: the concept from the task (e.g., "redis-caching")
166
+ - context: brief context of how it relates
167
+ - why_important: why they should learn it
168
+
169
+ Example: Task used JWT auth \u2192 record "refresh-token-rotation", "token-revocation"
139
170
 
140
- Task completed. Execute these steps NOW:
171
+ **STEP 3: Register Main Concept (ALWAYS DO THIS)**
172
+ Call mcp__vibe-learning__get_concept_level for the main concept to register it in the learning system.
141
173
 
142
- 1. Call mcp__vibe-learning__should_ask_question
143
- 2. If shouldAsk is true:
144
- - Call mcp__vibe-learning__get_concept_level with a relevant concept from this task
145
- - Ask a level-appropriate question (L1: recognition, L2: understanding, L3: comparison, L4: edge cases, L5: design)
146
- - After user answers, call mcp__vibe-learning__record_learning
147
- 3. If shouldAsk is false, briefly mention cooldown
174
+ **STEP 4: Ask Learning Question (CONDITIONAL)**
175
+ Call mcp__vibe-learning__should_ask_question to check.
176
+ - If shouldAsk is true AND mode is not "off":
177
+ - Ask a level-appropriate question (L1-L5)
178
+ - After user answers, call mcp__vibe-learning__record_learning
179
+ - If shouldAsk is false: briefly mention cooldown status
148
180
 
149
- Ask naturally, like conversation.`;
181
+ Ask naturally, like conversation. Keep it brief.`;
150
182
  function parseLearnCommand(text) {
151
183
  const lower = text.toLowerCase().trim();
152
184
  if (lower === "/learn" || lower === "/learn status")
@@ -211,7 +243,7 @@ var VibeLearningPlugin = (ctx) => {
211
243
  const concept = extractConceptFromPath(filePath);
212
244
  if (concept)
213
245
  addConcept(concept);
214
- if (toolCount >= CONFIG.TOOL_THRESHOLD && currentMode !== "off") {
246
+ if (toolCount >= CONFIG.TOOL_THRESHOLD) {
215
247
  const now = Date.now();
216
248
  if (now - lastLearningPrompt >= CONFIG.COOLDOWN_MS) {
217
249
  toolCount = 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe-learning-opencode",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "VibeLearning plugin for OpenCode - spaced repetition learning while coding",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",