vibe-learning-opencode 0.1.0 → 0.1.1
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/index.js +65 -6
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -38,8 +38,8 @@ function extractConceptFromPath(filePath) {
|
|
|
38
38
|
var COMMAND_PROMPTS = {
|
|
39
39
|
status: `Execute NOW: Call mcp__vibe-learning__get_mode and mcp__vibe-learning__should_ask_question, then show:
|
|
40
40
|
- Current learning mode
|
|
41
|
-
-
|
|
42
|
-
-
|
|
41
|
+
- Cooldown status
|
|
42
|
+
- Consecutive skips`,
|
|
43
43
|
stats: `Execute NOW: Call mcp__vibe-learning__get_stats with period="month", then format as a dashboard showing:
|
|
44
44
|
- Total concepts learned
|
|
45
45
|
- Correct rate percentage
|
|
@@ -62,10 +62,55 @@ var COMMAND_PROMPTS = {
|
|
|
62
62
|
interview: `Execute NOW: Call mcp__vibe-learning__get_stats with period="month". Then conduct interview-style Level 3-5 questions on the learned concepts.`,
|
|
63
63
|
pause: `Execute NOW: Call mcp__vibe-learning__set_mode with mode="after" and paused_until set to 1 hour from now (ISO format). Confirm paused.`,
|
|
64
64
|
off: `Execute NOW: Call mcp__vibe-learning__set_mode with mode="off". Confirm learning is off (recording continues).`,
|
|
65
|
-
after: `Execute NOW: Call mcp__vibe-learning__set_mode with mode="after". Confirm mode changed
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
after: `Execute NOW: Call mcp__vibe-learning__set_mode with mode="after". Confirm mode changed to After mode.
|
|
66
|
+
|
|
67
|
+
After mode behavior: Ask learning questions AFTER task completion.`,
|
|
68
|
+
before: `Execute NOW: Call mcp__vibe-learning__set_mode with mode="before". Confirm mode changed to Before mode.
|
|
69
|
+
|
|
70
|
+
Before mode behavior: Check understanding BEFORE implementation. Ask one question, then proceed.`,
|
|
71
|
+
senior: `Execute NOW: Call mcp__vibe-learning__set_mode with mode="senior". Confirm Senior mode enabled.
|
|
72
|
+
|
|
73
|
+
Senior mode activated. For ALL future tasks (minimum 2 rounds):
|
|
74
|
+
|
|
75
|
+
Format (MUST show header on Round 1):
|
|
76
|
+
**[VibeLearning Senior Mode]**
|
|
77
|
+
[Round 1/3] [One short question]?
|
|
78
|
+
|
|
79
|
+
Flow:
|
|
80
|
+
- Round 1: MUST show header + "[Round 1/3] Why this approach?"
|
|
81
|
+
- Round 2: ALWAYS ask "[Round 2/3] What alternatives? Tradeoffs?"
|
|
82
|
+
(Skip only if user named 2+ alternatives with specific tradeoffs in Round 1)
|
|
83
|
+
- Round 3: If Round 2 vague, ask with hint
|
|
84
|
+
- After Round 2/3: "Good thinking! [summary]. Implementing now."
|
|
85
|
+
|
|
86
|
+
Rules: ONE question per round. Be strict like a real senior.`,
|
|
87
|
+
"senior-light": `Execute NOW: Call mcp__vibe-learning__set_mode with mode="senior_light". Confirm mode changed.
|
|
88
|
+
|
|
89
|
+
Senior Light behavior: Present counterarguments but proceed after round 1. Don't block, just give feedback.`
|
|
90
|
+
};
|
|
91
|
+
var MODE_BEHAVIOR_PROMPTS = {
|
|
92
|
+
senior: `Ask ONE question per round. Minimum 2 rounds required.
|
|
93
|
+
|
|
94
|
+
Format (MUST show header on Round 1):
|
|
95
|
+
**[VibeLearning Senior Mode]**
|
|
96
|
+
[Round 1/3] [One short question]?
|
|
97
|
+
|
|
98
|
+
Flow:
|
|
99
|
+
- Round 1: MUST show header + "[Round 1/3] Why this approach?"
|
|
100
|
+
- Round 2: ALWAYS ask "[Round 2/3] What alternatives did you consider? Tradeoffs?"
|
|
101
|
+
(Skip only if user named 2+ alternatives with specific tradeoffs)
|
|
102
|
+
- Round 3: If Round 2 vague, "[Round 3/3] Hint: [hint]. What do you think?"
|
|
103
|
+
- After Round 2/3: "Good thinking! [tradeoff summary]. Implementing now."
|
|
104
|
+
|
|
105
|
+
ONE question per round, one sentence. Be strict like a real senior.`,
|
|
106
|
+
before: `[VibeLearning - Before Mode]
|
|
107
|
+
|
|
108
|
+
Ask ONE short question: "Before implementing, [question]?"
|
|
109
|
+
Then proceed regardless of answer.`,
|
|
110
|
+
senior_light: `[VibeLearning - Senior Light]
|
|
111
|
+
|
|
112
|
+
Briefly mention one alternative while implementing.
|
|
113
|
+
Example: "Using X, but Y is also an option if you need Z."`
|
|
69
114
|
};
|
|
70
115
|
var AUTO_LEARNING_PROMPT = `[VibeLearning - Learning Time]
|
|
71
116
|
|
|
@@ -197,6 +242,20 @@ var VibeLearningPlugin = (ctx) => {
|
|
|
197
242
|
}
|
|
198
243
|
client.app.log({ level: "info", message: `[VibeLearning] Command: ${cmd}` }).catch(() => {
|
|
199
244
|
});
|
|
245
|
+
} else {
|
|
246
|
+
const modeBehavior = MODE_BEHAVIOR_PROMPTS[currentMode];
|
|
247
|
+
if (modeBehavior && currentMode !== "after" && currentMode !== "off") {
|
|
248
|
+
const trimmed = content.trim();
|
|
249
|
+
if (trimmed.length > 10 && !trimmed.match(/^(yes|no|ok|skip|done|correct|partial|incorrect|got it|이해|알겠|넵|응|아니|스킵)/i)) {
|
|
250
|
+
setTimeout(() => {
|
|
251
|
+
if (lastSessionID) {
|
|
252
|
+
injectPrompt(lastSessionID, modeBehavior);
|
|
253
|
+
}
|
|
254
|
+
}, 100);
|
|
255
|
+
client.app.log({ level: "info", message: `[VibeLearning] Injected ${currentMode} mode behavior` }).catch(() => {
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
}
|
|
200
259
|
}
|
|
201
260
|
}
|
|
202
261
|
};
|