@verboo/code 0.7.12 → 0.7.13
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/cli.mjs +117 -26
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -115518,7 +115518,7 @@ function printStartupScreen(modelOverride) {
|
|
|
115518
115518
|
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
115519
115519
|
const cwd2 = process.cwd();
|
|
115520
115520
|
const displayCwd = home && cwd2.startsWith(home) ? `~${cwd2.slice(home.length)}` : cwd2;
|
|
115521
|
-
const version2 = "0.7.
|
|
115521
|
+
const version2 = "0.7.13";
|
|
115522
115522
|
const bold2 = `${ESC}1m`;
|
|
115523
115523
|
const PURPLE = rgb(...ACCENT);
|
|
115524
115524
|
const SOFT = rgb(...CREAM);
|
|
@@ -376813,7 +376813,7 @@ function getAnthropicEnvMetadata() {
|
|
|
376813
376813
|
function getBuildAgeMinutes() {
|
|
376814
376814
|
if (false)
|
|
376815
376815
|
;
|
|
376816
|
-
const buildTime = new Date("2026-05-01T21:
|
|
376816
|
+
const buildTime = new Date("2026-05-01T21:26:42.802Z").getTime();
|
|
376817
376817
|
if (isNaN(buildTime))
|
|
376818
376818
|
return;
|
|
376819
376819
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -417349,7 +417349,7 @@ function buildPrimarySection() {
|
|
|
417349
417349
|
}, undefined, false, undefined, this);
|
|
417350
417350
|
return [{
|
|
417351
417351
|
label: "Version",
|
|
417352
|
-
value: "0.7.
|
|
417352
|
+
value: "0.7.13"
|
|
417353
417353
|
}, {
|
|
417354
417354
|
label: "Session name",
|
|
417355
417355
|
value: nameValue
|
|
@@ -485299,7 +485299,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
485299
485299
|
var call60 = async () => {
|
|
485300
485300
|
return {
|
|
485301
485301
|
type: "text",
|
|
485302
|
-
value: `${"99.0.0"} (built ${"2026-05-01T21:
|
|
485302
|
+
value: `${"99.0.0"} (built ${"2026-05-01T21:26:42.802Z"})`
|
|
485303
485303
|
};
|
|
485304
485304
|
}, version2, version_default;
|
|
485305
485305
|
var init_version = __esm(() => {
|
|
@@ -561069,7 +561069,7 @@ function WelcomeV2() {
|
|
|
561069
561069
|
dimColor: true,
|
|
561070
561070
|
children: [
|
|
561071
561071
|
"v",
|
|
561072
|
-
"0.7.
|
|
561072
|
+
"0.7.13",
|
|
561073
561073
|
" "
|
|
561074
561074
|
]
|
|
561075
561075
|
}, undefined, true, undefined, this)
|
|
@@ -561256,7 +561256,7 @@ function WelcomeV2() {
|
|
|
561256
561256
|
dimColor: true,
|
|
561257
561257
|
children: [
|
|
561258
561258
|
"v",
|
|
561259
|
-
"0.7.
|
|
561259
|
+
"0.7.13",
|
|
561260
561260
|
" "
|
|
561261
561261
|
]
|
|
561262
561262
|
}, undefined, true, undefined, this)
|
|
@@ -561472,7 +561472,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
561472
561472
|
dimColor: true,
|
|
561473
561473
|
children: [
|
|
561474
561474
|
"v",
|
|
561475
|
-
"0.7.
|
|
561475
|
+
"0.7.13",
|
|
561476
561476
|
" "
|
|
561477
561477
|
]
|
|
561478
561478
|
}, undefined, true, undefined, this);
|
|
@@ -561681,7 +561681,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
561681
561681
|
dimColor: true,
|
|
561682
561682
|
children: [
|
|
561683
561683
|
"v",
|
|
561684
|
-
"0.7.
|
|
561684
|
+
"0.7.13",
|
|
561685
561685
|
" "
|
|
561686
561686
|
]
|
|
561687
561687
|
}, undefined, true, undefined, this);
|
|
@@ -565234,6 +565234,95 @@ var init_debug2 = __esm(() => {
|
|
|
565234
565234
|
TAIL_READ_BYTES = 64 * 1024;
|
|
565235
565235
|
});
|
|
565236
565236
|
|
|
565237
|
+
// src/skills/bundled/karpathyGuidelines.ts
|
|
565238
|
+
function registerKarpathyGuidelinesSkill() {
|
|
565239
|
+
registerBundledSkill({
|
|
565240
|
+
name: "karpathy-guidelines",
|
|
565241
|
+
description: "Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid overcomplication, make surgical changes, surface assumptions, and define verifiable success criteria.",
|
|
565242
|
+
userInvocable: true,
|
|
565243
|
+
async getPromptForCommand(args) {
|
|
565244
|
+
let prompt = KARPATHY_GUIDELINES_PROMPT;
|
|
565245
|
+
if (args) {
|
|
565246
|
+
prompt += `
|
|
565247
|
+
|
|
565248
|
+
## Context
|
|
565249
|
+
|
|
565250
|
+
${args}`;
|
|
565251
|
+
}
|
|
565252
|
+
return [{ type: "text", text: prompt }];
|
|
565253
|
+
}
|
|
565254
|
+
});
|
|
565255
|
+
}
|
|
565256
|
+
var KARPATHY_GUIDELINES_PROMPT = `# Karpathy Guidelines
|
|
565257
|
+
|
|
565258
|
+
Behavioral guidelines to reduce common LLM coding mistakes, derived from Andrej Karpathy's observations on LLM coding pitfalls.
|
|
565259
|
+
|
|
565260
|
+
**Tradeoff:** These guidelines bias toward caution over speed. For trivial tasks, use judgment.
|
|
565261
|
+
|
|
565262
|
+
## 1. Think Before Coding
|
|
565263
|
+
|
|
565264
|
+
**Don't assume. Don't hide confusion. Surface tradeoffs.**
|
|
565265
|
+
|
|
565266
|
+
Before implementing:
|
|
565267
|
+
- State your assumptions explicitly. If uncertain, ask.
|
|
565268
|
+
- If multiple interpretations exist, present them - don't pick silently.
|
|
565269
|
+
- If a simpler approach exists, say so. Push back when warranted.
|
|
565270
|
+
- If something is unclear, stop. Name what's confusing. Ask.
|
|
565271
|
+
|
|
565272
|
+
## 2. Simplicity First
|
|
565273
|
+
|
|
565274
|
+
**Minimum code that solves the problem. Nothing speculative.**
|
|
565275
|
+
|
|
565276
|
+
- No features beyond what was asked.
|
|
565277
|
+
- No abstractions for single-use code.
|
|
565278
|
+
- No "flexibility" or "configurability" that wasn't requested.
|
|
565279
|
+
- No error handling for impossible scenarios.
|
|
565280
|
+
- If you write 200 lines and it could be 50, rewrite it.
|
|
565281
|
+
|
|
565282
|
+
Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.
|
|
565283
|
+
|
|
565284
|
+
## 3. Surgical Changes
|
|
565285
|
+
|
|
565286
|
+
**Touch only what you must. Clean up only your own mess.**
|
|
565287
|
+
|
|
565288
|
+
When editing existing code:
|
|
565289
|
+
- Don't "improve" adjacent code, comments, or formatting.
|
|
565290
|
+
- Don't refactor things that aren't broken.
|
|
565291
|
+
- Match existing style, even if you'd do it differently.
|
|
565292
|
+
- If you notice unrelated dead code, mention it - don't delete it.
|
|
565293
|
+
|
|
565294
|
+
When your changes create orphans:
|
|
565295
|
+
- Remove imports/variables/functions that YOUR changes made unused.
|
|
565296
|
+
- Don't remove pre-existing dead code unless asked.
|
|
565297
|
+
|
|
565298
|
+
The test: Every changed line should trace directly to the user's request.
|
|
565299
|
+
|
|
565300
|
+
## 4. Goal-Driven Execution
|
|
565301
|
+
|
|
565302
|
+
**Define success criteria. Loop until verified.**
|
|
565303
|
+
|
|
565304
|
+
Transform tasks into verifiable goals:
|
|
565305
|
+
- "Add validation" → "Write tests for invalid inputs, then make them pass"
|
|
565306
|
+
- "Fix the bug" → "Write a test that reproduces it, then make it pass"
|
|
565307
|
+
- "Refactor X" → "Ensure tests pass before and after"
|
|
565308
|
+
|
|
565309
|
+
For multi-step tasks, state a brief plan:
|
|
565310
|
+
\`\`\`
|
|
565311
|
+
1. [Step] → verify: [check]
|
|
565312
|
+
2. [Step] → verify: [check]
|
|
565313
|
+
3. [Step] → verify: [check]
|
|
565314
|
+
\`\`\`
|
|
565315
|
+
|
|
565316
|
+
Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.
|
|
565317
|
+
|
|
565318
|
+
---
|
|
565319
|
+
|
|
565320
|
+
Apply these guidelines to the current task now.
|
|
565321
|
+
`;
|
|
565322
|
+
var init_karpathyGuidelines = __esm(() => {
|
|
565323
|
+
init_bundledSkills();
|
|
565324
|
+
});
|
|
565325
|
+
|
|
565237
565326
|
// src/keybindings/schema.ts
|
|
565238
565327
|
var KEYBINDING_CONTEXTS, KEYBINDING_CONTEXT_DESCRIPTIONS, KEYBINDING_ACTIONS, KeybindingBlockSchema, KeybindingsSchema;
|
|
565239
565328
|
var init_schema = __esm(() => {
|
|
@@ -566426,6 +566515,7 @@ function initBundledSkills() {
|
|
|
566426
566515
|
registerKeybindingsSkill();
|
|
566427
566516
|
registerDebugSkill();
|
|
566428
566517
|
registerSimplifySkill();
|
|
566518
|
+
registerKarpathyGuidelinesSkill();
|
|
566429
566519
|
registerBatchSkill();
|
|
566430
566520
|
if (false) {}
|
|
566431
566521
|
if (false) {}
|
|
@@ -566442,6 +566532,7 @@ var init_bundled = __esm(() => {
|
|
|
566442
566532
|
init_batch();
|
|
566443
566533
|
init_claudeInChrome();
|
|
566444
566534
|
init_debug2();
|
|
566535
|
+
init_karpathyGuidelines();
|
|
566445
566536
|
init_keybindings3();
|
|
566446
566537
|
init_loop();
|
|
566447
566538
|
init_simplify();
|
|
@@ -579721,7 +579812,7 @@ __export(exports_update, {
|
|
|
579721
579812
|
async function update() {
|
|
579722
579813
|
if (getAPIProvider() !== "firstParty") {
|
|
579723
579814
|
writeToStdout(source_default.yellow(`Auto-update is not available for third-party provider builds.
|
|
579724
|
-
`) + `Current version: ${"0.7.
|
|
579815
|
+
`) + `Current version: ${"0.7.13"}
|
|
579725
579816
|
|
|
579726
579817
|
` + `To update, reinstall from npm:
|
|
579727
579818
|
` + source_default.bold(` npm install -g ${"@verboo/code"}@latest`) + `
|
|
@@ -579732,7 +579823,7 @@ async function update() {
|
|
|
579732
579823
|
await gracefulShutdown(0);
|
|
579733
579824
|
}
|
|
579734
579825
|
logEvent("tengu_update_check", {});
|
|
579735
|
-
writeToStdout(`Current version: ${"0.7.
|
|
579826
|
+
writeToStdout(`Current version: ${"0.7.13"}
|
|
579736
579827
|
`);
|
|
579737
579828
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
579738
579829
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -579817,8 +579908,8 @@ async function update() {
|
|
|
579817
579908
|
writeToStdout(`Claude is managed by Homebrew.
|
|
579818
579909
|
`);
|
|
579819
579910
|
const latest = await getLatestVersion(channel);
|
|
579820
|
-
if (latest && !gte("0.7.
|
|
579821
|
-
writeToStdout(`Update available: ${"0.7.
|
|
579911
|
+
if (latest && !gte("0.7.13", latest)) {
|
|
579912
|
+
writeToStdout(`Update available: ${"0.7.13"} → ${latest}
|
|
579822
579913
|
`);
|
|
579823
579914
|
writeToStdout(`
|
|
579824
579915
|
`);
|
|
@@ -579834,8 +579925,8 @@ async function update() {
|
|
|
579834
579925
|
writeToStdout(`Claude is managed by winget.
|
|
579835
579926
|
`);
|
|
579836
579927
|
const latest = await getLatestVersion(channel);
|
|
579837
|
-
if (latest && !gte("0.7.
|
|
579838
|
-
writeToStdout(`Update available: ${"0.7.
|
|
579928
|
+
if (latest && !gte("0.7.13", latest)) {
|
|
579929
|
+
writeToStdout(`Update available: ${"0.7.13"} → ${latest}
|
|
579839
579930
|
`);
|
|
579840
579931
|
writeToStdout(`
|
|
579841
579932
|
`);
|
|
@@ -579851,8 +579942,8 @@ async function update() {
|
|
|
579851
579942
|
writeToStdout(`Claude is managed by apk.
|
|
579852
579943
|
`);
|
|
579853
579944
|
const latest = await getLatestVersion(channel);
|
|
579854
|
-
if (latest && !gte("0.7.
|
|
579855
|
-
writeToStdout(`Update available: ${"0.7.
|
|
579945
|
+
if (latest && !gte("0.7.13", latest)) {
|
|
579946
|
+
writeToStdout(`Update available: ${"0.7.13"} → ${latest}
|
|
579856
579947
|
`);
|
|
579857
579948
|
writeToStdout(`
|
|
579858
579949
|
`);
|
|
@@ -579917,11 +580008,11 @@ async function update() {
|
|
|
579917
580008
|
`);
|
|
579918
580009
|
await gracefulShutdown(1);
|
|
579919
580010
|
}
|
|
579920
|
-
if (result.latestVersion === "0.7.
|
|
579921
|
-
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.
|
|
580011
|
+
if (result.latestVersion === "0.7.13") {
|
|
580012
|
+
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.13"})`) + `
|
|
579922
580013
|
`);
|
|
579923
580014
|
} else {
|
|
579924
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.7.
|
|
580015
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.7.13"} to version ${result.latestVersion}`) + `
|
|
579925
580016
|
`);
|
|
579926
580017
|
await regenerateCompletionCache();
|
|
579927
580018
|
}
|
|
@@ -579981,12 +580072,12 @@ async function update() {
|
|
|
579981
580072
|
`);
|
|
579982
580073
|
await gracefulShutdown(1);
|
|
579983
580074
|
}
|
|
579984
|
-
if (latestVersion === "0.7.
|
|
579985
|
-
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.
|
|
580075
|
+
if (latestVersion === "0.7.13") {
|
|
580076
|
+
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.13"})`) + `
|
|
579986
580077
|
`);
|
|
579987
580078
|
await gracefulShutdown(0);
|
|
579988
580079
|
}
|
|
579989
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.
|
|
580080
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.13"})
|
|
579990
580081
|
`);
|
|
579991
580082
|
writeToStdout(`Installing update...
|
|
579992
580083
|
`);
|
|
@@ -580031,7 +580122,7 @@ async function update() {
|
|
|
580031
580122
|
logForDebugging2(`update: Installation status: ${status2}`);
|
|
580032
580123
|
switch (status2) {
|
|
580033
580124
|
case "success":
|
|
580034
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.7.
|
|
580125
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.7.13"} to version ${latestVersion}`) + `
|
|
580035
580126
|
`);
|
|
580036
580127
|
await regenerateCompletionCache();
|
|
580037
580128
|
break;
|
|
@@ -582084,7 +582175,7 @@ Usage: verboo --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
582084
582175
|
pendingHookMessages
|
|
582085
582176
|
}, renderAndRun);
|
|
582086
582177
|
}
|
|
582087
|
-
}).version(`0.7.
|
|
582178
|
+
}).version(`0.7.13 (${cliDesc})`, "-v, --version", "Output the version number");
|
|
582088
582179
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
582089
582180
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
582090
582181
|
if (canUserConfigureAdvisor()) {
|
|
@@ -582652,7 +582743,7 @@ if (false) {}
|
|
|
582652
582743
|
async function main2() {
|
|
582653
582744
|
const args = process.argv.slice(2);
|
|
582654
582745
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
582655
|
-
console.log(`${"0.7.
|
|
582746
|
+
console.log(`${"0.7.13"} (Verboo Code)`);
|
|
582656
582747
|
return;
|
|
582657
582748
|
}
|
|
582658
582749
|
if (args.includes("--provider")) {
|
|
@@ -582808,4 +582899,4 @@ async function main2() {
|
|
|
582808
582899
|
}
|
|
582809
582900
|
main2();
|
|
582810
582901
|
|
|
582811
|
-
//# debugId=
|
|
582902
|
+
//# debugId=85C039292D955A7B64756E2164756E21
|