vibe-checking 1.0.2 → 1.2.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/README.md +72 -25
- package/dist/analysis/behavior.d.ts +11 -0
- package/dist/analysis/behavior.js +105 -0
- package/dist/analysis/behavior.js.map +1 -0
- package/dist/claude/correlator.js +88 -56
- package/dist/claude/correlator.js.map +1 -1
- package/dist/claude/reader.js +20 -8
- package/dist/claude/reader.js.map +1 -1
- package/dist/cursor/reader.js +16 -4
- package/dist/cursor/reader.js.map +1 -1
- package/dist/hooks/installer.d.ts +3 -0
- package/dist/hooks/installer.js +79 -0
- package/dist/hooks/installer.js.map +1 -0
- package/dist/index.js +46 -4
- package/dist/index.js.map +1 -1
- package/dist/repl/display.d.ts +3 -2
- package/dist/repl/display.js +56 -26
- package/dist/repl/display.js.map +1 -1
- package/dist/repl/repl.d.ts +4 -3
- package/dist/repl/repl.js +23 -10
- package/dist/repl/repl.js.map +1 -1
- package/dist/report/html.js +13 -23
- package/dist/report/html.js.map +1 -1
- package/dist/scanners/aggregator.d.ts +1 -1
- package/dist/scanners/aggregator.js.map +1 -1
- package/dist/scanners/deps.js +0 -1
- package/dist/scanners/deps.js.map +1 -1
- package/dist/scanners/gitleaks.js +0 -1
- package/dist/scanners/gitleaks.js.map +1 -1
- package/dist/scanners/rls.js +0 -3
- package/dist/scanners/rls.js.map +1 -1
- package/dist/scanners/semgrep.js +13 -6
- package/dist/scanners/semgrep.js.map +1 -1
- package/dist/state/store.d.ts +5 -0
- package/dist/state/store.js +48 -0
- package/dist/state/store.js.map +1 -0
- package/dist/types.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/cursor/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAY,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAEnE;;;GAGG;AACH,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,2CAA2C;IAC3C,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB;IAEhB,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAE5E,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,IAAI,WAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QAErC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAC5E,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAAgB;IAEhB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElD,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAmB,EAAE,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAA8B,CAAC;QACnC,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,IAAI,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;QAC7D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC;QAE/B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,EAAE,GAAI,KAAK,CAAC,SAAoB,IAAI,gBAAgB,CAAC;gBAC3D,IAAI,CAAC,gBAAgB;oBAAE,gBAAgB,GAAG,EAAE,CAAC;gBAE7C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI;oBACJ,SAAS,EAAE,EAAE;oBACb,cAAc,EAAE,EAAE;oBAClB,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/cursor/reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { writeFile, unlink, readFile, chmod, mkdir } from "node:fs/promises";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
4
|
+
import pc from "picocolors";
|
|
5
|
+
const MARKER = "# vibecheck hook";
|
|
6
|
+
const PRE_PUSH_SCRIPT = `#!/bin/sh
|
|
7
|
+
${MARKER}
|
|
8
|
+
npx vibe-checking --with-cursor-history --with-claude-history
|
|
9
|
+
`;
|
|
10
|
+
function hookPath(repoPath) {
|
|
11
|
+
return join(repoPath, ".git", "hooks", "pre-push");
|
|
12
|
+
}
|
|
13
|
+
export function isHookInstalled(repoPath) {
|
|
14
|
+
const path = hookPath(repoPath);
|
|
15
|
+
if (!existsSync(path))
|
|
16
|
+
return false;
|
|
17
|
+
try {
|
|
18
|
+
const content = readFileSync(path, "utf-8");
|
|
19
|
+
return content.includes(MARKER);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export async function installHook(repoPath) {
|
|
26
|
+
const hooksDir = join(repoPath, ".git", "hooks");
|
|
27
|
+
if (!existsSync(join(repoPath, ".git"))) {
|
|
28
|
+
console.log(pc.red("not a git repository — cannot install hook."));
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const path = hookPath(repoPath);
|
|
32
|
+
if (existsSync(path)) {
|
|
33
|
+
const existing = await readFile(path, "utf-8");
|
|
34
|
+
if (existing.includes(MARKER)) {
|
|
35
|
+
console.log(pc.dim("vibecheck hook is already installed."));
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
// Append to existing hook
|
|
39
|
+
await writeFile(path, existing.trimEnd() + "\n\n" + PRE_PUSH_SCRIPT, "utf-8");
|
|
40
|
+
console.log(pc.green("✓ vibecheck added to existing pre-push hook."));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
if (!existsSync(hooksDir)) {
|
|
44
|
+
await mkdir(hooksDir, { recursive: true });
|
|
45
|
+
}
|
|
46
|
+
await writeFile(path, PRE_PUSH_SCRIPT, "utf-8");
|
|
47
|
+
await chmod(path, 0o755);
|
|
48
|
+
console.log(pc.green("✓ pre-push hook installed."));
|
|
49
|
+
}
|
|
50
|
+
console.log(pc.dim("vibecheck will run automatically on every git push."));
|
|
51
|
+
}
|
|
52
|
+
export async function removeHook(repoPath) {
|
|
53
|
+
const path = hookPath(repoPath);
|
|
54
|
+
if (!existsSync(path)) {
|
|
55
|
+
console.log(pc.dim("no pre-push hook found."));
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const content = await readFile(path, "utf-8");
|
|
59
|
+
if (!content.includes(MARKER)) {
|
|
60
|
+
console.log(pc.dim("pre-push hook exists but was not installed by vibecheck."));
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
// If the hook only contains our script, remove the file
|
|
64
|
+
const lines = content.split("\n");
|
|
65
|
+
const otherLines = lines.filter((l) => !l.includes(MARKER) && !l.includes("vibe-checking") && l.trim() !== "#!/bin/sh" && l.trim() !== "");
|
|
66
|
+
if (otherLines.length === 0) {
|
|
67
|
+
await unlink(path);
|
|
68
|
+
console.log(pc.green("✓ pre-push hook removed."));
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// Remove just our section
|
|
72
|
+
const cleaned = content
|
|
73
|
+
.replace(/\n*# vibecheck hook\nnpx vibe-checking[^\n]*/g, "")
|
|
74
|
+
.trimEnd() + "\n";
|
|
75
|
+
await writeFile(path, cleaned, "utf-8");
|
|
76
|
+
console.log(pc.green("✓ vibecheck removed from pre-push hook."));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=installer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/hooks/installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAElC,MAAM,eAAe,GAAG;EACtB,MAAM;;CAEP,CAAC;AAEF,SAAS,QAAQ,CAAC,QAAgB;IAChC,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,0BAA0B;QAC1B,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,eAAe,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,wDAAwD;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAC1G,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,0BAA0B;QAC1B,MAAM,OAAO,GAAG,OAAO;aACpB,OAAO,CAAC,+CAA+C,EAAE,EAAE,CAAC;aAC5D,OAAO,EAAE,GAAG,IAAI,CAAC;QACpB,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,10 +5,27 @@ import { runAllScanners } from "./scanners/aggregator.js";
|
|
|
5
5
|
import { readClaudeHistory } from "./claude/reader.js";
|
|
6
6
|
import { readCursorHistory } from "./cursor/reader.js";
|
|
7
7
|
import { correlateFindings } from "./claude/correlator.js";
|
|
8
|
-
import { printBoot, printNoFindings } from "./repl/display.js";
|
|
8
|
+
import { printBoot, printVibeAnalysis, printNoFindings } from "./repl/display.js";
|
|
9
9
|
import { startRepl } from "./repl/repl.js";
|
|
10
|
+
import { analyzeVibePatterns } from "./analysis/behavior.js";
|
|
11
|
+
import { loadState, applyState } from "./state/store.js";
|
|
10
12
|
async function main() {
|
|
11
13
|
const args = process.argv.slice(2);
|
|
14
|
+
// Subcommand: hook install/remove
|
|
15
|
+
if (args[0] === "hook") {
|
|
16
|
+
const { installHook, removeHook } = await import("./hooks/installer.js");
|
|
17
|
+
const repoPath = process.cwd();
|
|
18
|
+
if (args[1] === "install") {
|
|
19
|
+
await installHook(repoPath);
|
|
20
|
+
}
|
|
21
|
+
else if (args[1] === "remove") {
|
|
22
|
+
await removeHook(repoPath);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
console.log(pc.dim("usage: npx vibe-checking hook install|remove"));
|
|
26
|
+
}
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
12
29
|
const withClaudeHistory = args.includes("--with-claude-history");
|
|
13
30
|
const withCursorHistory = args.includes("--with-cursor-history");
|
|
14
31
|
const dbUrlIdx = args.indexOf("--db-url");
|
|
@@ -77,12 +94,32 @@ async function main() {
|
|
|
77
94
|
}
|
|
78
95
|
// Boot line
|
|
79
96
|
printBoot(result.stats, withClaudeHistory, withCursorHistory);
|
|
97
|
+
// Vibe coding behavior analysis
|
|
98
|
+
let vibeAnalysis;
|
|
99
|
+
if (allSessions.length > 0) {
|
|
100
|
+
vibeAnalysis = analyzeVibePatterns(allSessions, result.findings);
|
|
101
|
+
printVibeAnalysis(vibeAnalysis);
|
|
102
|
+
}
|
|
80
103
|
if (result.findings.length === 0) {
|
|
81
104
|
printNoFindings();
|
|
82
105
|
return;
|
|
83
106
|
}
|
|
107
|
+
// Load persisted statuses from .vibecheck
|
|
108
|
+
const savedState = await loadState(repoPath);
|
|
109
|
+
const statuses = applyState(result.findings, savedState);
|
|
110
|
+
// If all findings are already handled, skip the REPL
|
|
111
|
+
const openCount = statuses.filter((s) => s === "open").length;
|
|
112
|
+
if (openCount === 0) {
|
|
113
|
+
const { printList } = await import("./repl/display.js");
|
|
114
|
+
printList(result.findings, statuses);
|
|
115
|
+
console.log();
|
|
116
|
+
console.log(pc.green("all findings handled — nothing to review."));
|
|
117
|
+
console.log(pc.dim(pc.gray("no code, prompts, or secrets left this machine.")));
|
|
118
|
+
console.log();
|
|
119
|
+
process.exit(0);
|
|
120
|
+
}
|
|
84
121
|
// Start interactive REPL
|
|
85
|
-
await startRepl(result.findings, result.stats, repoPath);
|
|
122
|
+
await startRepl(result.findings, statuses, result.stats, repoPath, vibeAnalysis);
|
|
86
123
|
}
|
|
87
124
|
function printUsage() {
|
|
88
125
|
console.log(`
|
|
@@ -109,12 +146,17 @@ ${pc.dim("EXAMPLES")}
|
|
|
109
146
|
|
|
110
147
|
${pc.dim("COMMANDS (interactive)")}
|
|
111
148
|
1-N inspect a finding
|
|
112
|
-
|
|
149
|
+
solved / s mark finding as fixed in code
|
|
113
150
|
ignore / i dismiss the current finding
|
|
114
151
|
next / n jump to the next open finding
|
|
115
152
|
list / l reprint findings
|
|
153
|
+
vibe / v show vibe coding behavior analysis
|
|
116
154
|
help / ? show commands
|
|
117
|
-
q
|
|
155
|
+
q save statuses and write report
|
|
156
|
+
|
|
157
|
+
${pc.dim("HOOKS")}
|
|
158
|
+
npx vibe-checking hook install add pre-push hook to this repo
|
|
159
|
+
npx vibe-checking hook remove remove the pre-push hook
|
|
118
160
|
|
|
119
161
|
${pc.dim(pc.gray("local only — no code, prompts, or secrets leave this machine."))}
|
|
120
162
|
`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/repl/display.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Finding, FindingStatus } from "../types.js";
|
|
2
|
+
import type { VibeAnalysis } from "../analysis/behavior.js";
|
|
2
3
|
export declare function printBoot(stats: {
|
|
3
4
|
gitHistory: boolean;
|
|
4
5
|
sourceScanned: boolean;
|
|
@@ -8,10 +9,10 @@ export declare function printBoot(stats: {
|
|
|
8
9
|
stack: string[];
|
|
9
10
|
contributors: number;
|
|
10
11
|
}, withClaude: boolean, withCursor?: boolean): void;
|
|
12
|
+
export declare function printVibeAnalysis(analysis: VibeAnalysis): void;
|
|
11
13
|
export declare function printList(findings: Finding[], statuses: FindingStatus[]): void;
|
|
12
14
|
export declare function printInspect(finding: Finding, index: number): void;
|
|
13
|
-
export declare function printFix(finding: Finding): void;
|
|
14
15
|
export declare function printIgnore(index: number, ignored: boolean): void;
|
|
15
16
|
export declare function printHelp(findingCount: number): void;
|
|
16
|
-
export declare function printFinish(findings: Finding[], statuses: FindingStatus[], reportPath: string): void;
|
|
17
|
+
export declare function printFinish(findings: Finding[], statuses: FindingStatus[], reportPath: string, repoPath?: string): void;
|
|
17
18
|
export declare function printNoFindings(): void;
|
package/dist/repl/display.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import pc from "picocolors";
|
|
2
2
|
import { computeScore } from "../scanners/aggregator.js";
|
|
3
|
+
import { isHookInstalled } from "../hooks/installer.js";
|
|
3
4
|
const RULE_LINE = "─────────────────────────────────────────────────────────────";
|
|
4
5
|
function sevTag(sev) {
|
|
5
6
|
return sev === "critical"
|
|
@@ -42,20 +43,51 @@ export function printBoot(stats, withClaude, withCursor = false) {
|
|
|
42
43
|
console.log(pc.dim(pc.gray(`stack: ${stackParts.join(" · ")}`)));
|
|
43
44
|
}
|
|
44
45
|
}
|
|
46
|
+
export function printVibeAnalysis(analysis) {
|
|
47
|
+
const hasSignals = analysis.blindChains > 0 ||
|
|
48
|
+
analysis.highDelegationPrompts > 0 ||
|
|
49
|
+
analysis.filesWithoutReview > 0 ||
|
|
50
|
+
analysis.sessionsWithoutSecurityMention > 0;
|
|
51
|
+
if (!hasSignals)
|
|
52
|
+
return;
|
|
53
|
+
console.log();
|
|
54
|
+
console.log(pc.bold(pc.yellow("VIBE CODING ANALYSIS")));
|
|
55
|
+
if (analysis.blindChains > 0) {
|
|
56
|
+
console.log(` ${pc.yellow(`${analysis.blindChains}`)} blind approval chain${analysis.blindChains > 1 ? "s" : ""} ${pc.dim("(3+ consecutive ok/continue)")}`);
|
|
57
|
+
}
|
|
58
|
+
if (analysis.highDelegationPrompts > 0) {
|
|
59
|
+
console.log(` ${pc.yellow(`${analysis.highDelegationPrompts}`)} high-delegation prompt${analysis.highDelegationPrompts > 1 ? "s" : ""} ${pc.dim("(>20 lines generated per word)")}`);
|
|
60
|
+
}
|
|
61
|
+
if (analysis.filesWithoutReview > 0) {
|
|
62
|
+
console.log(` ${pc.yellow(`${analysis.filesWithoutReview}`)} file${analysis.filesWithoutReview > 1 ? "s" : ""} accepted without follow-up review`);
|
|
63
|
+
}
|
|
64
|
+
if (analysis.sessionsWithoutSecurityMention > 0) {
|
|
65
|
+
console.log(` ${pc.yellow(`${analysis.sessionsWithoutSecurityMention}`)}/${analysis.totalSessions} sessions have no mention of security constraints`);
|
|
66
|
+
}
|
|
67
|
+
if (analysis.findingsFromBlindChains > 0) {
|
|
68
|
+
console.log();
|
|
69
|
+
console.log(pc.dim(` ${analysis.findingsFromBlindChains} finding${analysis.findingsFromBlindChains > 1 ? "s" : ""} traced to blind approval chains`));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
45
72
|
export function printList(findings, statuses) {
|
|
46
73
|
const { score, verdict, col } = computeScore(findings, statuses);
|
|
47
74
|
const open = statuses.filter((s) => s === "open").length;
|
|
48
75
|
const cleared = findings.length - open;
|
|
76
|
+
const traced = findings.filter((f) => f.trace !== null).length;
|
|
49
77
|
console.log();
|
|
50
|
-
|
|
78
|
+
let summaryLine = `${colorByCol(pc.bold(verdict), col)} score ${colorByCol(pc.bold(String(score)), col)}${pc.dim(pc.gray("/10"))} · ${pc.dim(`${open} open · ${cleared} cleared`)}`;
|
|
79
|
+
if (traced > 0) {
|
|
80
|
+
summaryLine += ` · ${pc.magenta(`${traced} traced to prompts`)}`;
|
|
81
|
+
}
|
|
82
|
+
console.log(summaryLine);
|
|
51
83
|
console.log(pc.dim(pc.gray(RULE_LINE)));
|
|
52
84
|
for (let i = 0; i < findings.length; i++) {
|
|
53
85
|
const f = findings[i];
|
|
54
86
|
const n = String(i + 1).padStart(2, "0");
|
|
55
87
|
const status = statuses[i];
|
|
56
88
|
let tag = "";
|
|
57
|
-
if (status === "
|
|
58
|
-
tag = " " + pc.green("✓
|
|
89
|
+
if (status === "solved")
|
|
90
|
+
tag = " " + pc.green("✓ solved");
|
|
59
91
|
if (status === "ignored")
|
|
60
92
|
tag = " " + pc.dim("⊘ ignored");
|
|
61
93
|
const line = ` ${pc.dim(n)} ${sevTag(f.severity)} ${pc.dim(f.path)}${tag}`;
|
|
@@ -83,35 +115,23 @@ export function printInspect(finding, index) {
|
|
|
83
115
|
console.log(` ${pc.dim(pc.gray("generated"))} ${pc.dim(finding.trace.file)}`);
|
|
84
116
|
console.log(` ${pc.magenta("↓")}`);
|
|
85
117
|
console.log(` ${pc.dim(pc.gray("result "))} ${finding.trace.result}`);
|
|
118
|
+
if (finding.trace.missingConstraints.length > 0) {
|
|
119
|
+
console.log();
|
|
120
|
+
console.log(pc.bold(pc.yellow("MISSING CONSTRAINTS")) + pc.dim(pc.gray(" in this prompt")));
|
|
121
|
+
for (const c of finding.trace.missingConstraints) {
|
|
122
|
+
console.log(` ${pc.yellow("⚠")} ${c}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
86
125
|
console.log();
|
|
87
|
-
console.log(pc.dim(pc.gray(`commands: ${pc.magenta("
|
|
126
|
+
console.log(pc.dim(pc.gray(`commands: ${pc.magenta("solved")} · ${pc.magenta("ignore")} · ${pc.magenta("next")} · ${pc.magenta("list")}`)));
|
|
88
127
|
}
|
|
89
128
|
else {
|
|
90
129
|
console.log(pc.dim(finding.manual || "No additional details."));
|
|
91
130
|
console.log();
|
|
92
|
-
console.log(pc.dim(pc.gray(`commands: ${pc.magenta("
|
|
131
|
+
console.log(pc.dim(pc.gray(`commands: ${pc.magenta("solved")} · ${pc.magenta("ignore")} · ${pc.magenta("next")} · ${pc.magenta("list")}`)));
|
|
93
132
|
}
|
|
94
133
|
console.log();
|
|
95
134
|
}
|
|
96
|
-
export function printFix(finding) {
|
|
97
|
-
if (!finding.fix) {
|
|
98
|
-
console.log(pc.dim(pc.gray("this finding has no prompt rewrite — it isn't a generation issue.")));
|
|
99
|
-
console.log();
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
console.log(`${pc.bold(pc.green("REWRITTEN PROMPT"))} ${pc.dim(pc.gray("— same task, generated securely the first time"))}`);
|
|
103
|
-
for (let i = 0; i < finding.fix.length; i++) {
|
|
104
|
-
if (i === 0) {
|
|
105
|
-
console.log(` ${finding.fix[i]}`);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
console.log(` ${pc.green(finding.fix[i])}`);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
console.log();
|
|
112
|
-
console.log(pc.dim(pc.gray(`→ regenerated against this prompt: ${pc.green("0 findings")}. vibecheck shows the fix — it never edits your code.`)));
|
|
113
|
-
console.log();
|
|
114
|
-
}
|
|
115
135
|
export function printIgnore(index, ignored) {
|
|
116
136
|
const n = String(index + 1).padStart(2, "0");
|
|
117
137
|
console.log(pc.dim(`finding ${n} ${ignored ? "ignored" : "restored"}.`));
|
|
@@ -121,18 +141,24 @@ export function printHelp(findingCount) {
|
|
|
121
141
|
console.log();
|
|
122
142
|
console.log(pc.dim("commands"));
|
|
123
143
|
console.log(` ${pc.magenta(`1-${findingCount}`)} inspect a finding (shows summary + prompt trace)`);
|
|
124
|
-
console.log(` ${pc.magenta("
|
|
144
|
+
console.log(` ${pc.magenta("solved")} mark finding as fixed in code`);
|
|
125
145
|
console.log(` ${pc.magenta("ignore")} dismiss the current finding`);
|
|
126
146
|
console.log(` ${pc.magenta("next")} jump to the next open finding`);
|
|
127
147
|
console.log(` ${pc.magenta("list")} show all findings again`);
|
|
148
|
+
console.log(` ${pc.magenta("vibe")} show vibe coding behavior analysis`);
|
|
128
149
|
console.log(` ${pc.magenta("q")} finish and write the report`);
|
|
129
150
|
console.log();
|
|
130
151
|
}
|
|
131
|
-
export function printFinish(findings, statuses, reportPath) {
|
|
152
|
+
export function printFinish(findings, statuses, reportPath, repoPath) {
|
|
132
153
|
const generationCaused = findings.filter((f) => f.trace !== null).length;
|
|
154
|
+
const solved = statuses.filter((s) => s === "solved").length;
|
|
155
|
+
const ignored = statuses.filter((s) => s === "ignored").length;
|
|
133
156
|
console.log();
|
|
134
157
|
console.log(pc.dim("writing report…"));
|
|
135
158
|
console.log(pc.green(`✓ ${reportPath} saved`));
|
|
159
|
+
if (solved > 0 || ignored > 0) {
|
|
160
|
+
console.log(pc.green(`✓ .vibecheck updated (${solved} solved, ${ignored} ignored)`));
|
|
161
|
+
}
|
|
136
162
|
console.log();
|
|
137
163
|
if (generationCaused > 0) {
|
|
138
164
|
console.log(pc.bold(pc.red(`${generationCaused} of these findings would never have been generated.`)));
|
|
@@ -141,6 +167,10 @@ export function printFinish(findings, statuses, reportPath) {
|
|
|
141
167
|
console.log(pc.dim("prompt — Symbiotic does that at generation time, continuously."));
|
|
142
168
|
console.log(pc.dim(pc.gray("→ https://www.symbioticsec.ai")));
|
|
143
169
|
console.log();
|
|
170
|
+
if (repoPath && !isHookInstalled(repoPath)) {
|
|
171
|
+
console.log(pc.dim(`tip: run ${pc.magenta("npx vibe-checking hook install")} to scan automatically on every push.`));
|
|
172
|
+
console.log();
|
|
173
|
+
}
|
|
144
174
|
console.log(pc.dim(pc.gray("no code, prompts, or secrets left this machine.")));
|
|
145
175
|
console.log();
|
|
146
176
|
}
|
package/dist/repl/display.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/repl/display.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/repl/display.ts"],"names":[],"mappings":"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"}
|
package/dist/repl/repl.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type { Finding } from "../types.js";
|
|
2
|
-
|
|
1
|
+
import type { Finding, FindingStatus } from "../types.js";
|
|
2
|
+
import type { VibeAnalysis } from "../analysis/behavior.js";
|
|
3
|
+
export declare function startRepl(findings: Finding[], initialStatuses: FindingStatus[], stats: {
|
|
3
4
|
gitHistory: boolean;
|
|
4
5
|
sourceScanned: boolean;
|
|
5
6
|
supabaseMigrations: boolean;
|
|
6
7
|
claudeSessions: number;
|
|
7
8
|
stack: string[];
|
|
8
9
|
contributors: number;
|
|
9
|
-
}, repoPath: string): Promise<void>;
|
|
10
|
+
}, repoPath: string, vibeAnalysis?: VibeAnalysis): Promise<void>;
|
package/dist/repl/repl.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as readline from "node:readline";
|
|
2
2
|
import pc from "picocolors";
|
|
3
|
-
import { printList, printInspect,
|
|
3
|
+
import { printList, printInspect, printIgnore, printHelp, printFinish, printVibeAnalysis, } from "./display.js";
|
|
4
4
|
import { generateReport } from "../report/html.js";
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import { saveState } from "../state/store.js";
|
|
6
|
+
export async function startRepl(findings, initialStatuses, stats, repoPath, vibeAnalysis) {
|
|
7
|
+
const statuses = [...initialStatuses];
|
|
7
8
|
let current = -1;
|
|
8
9
|
printList(findings, statuses);
|
|
9
10
|
const rl = readline.createInterface({
|
|
@@ -34,17 +35,17 @@ export async function startRepl(findings, stats, repoPath) {
|
|
|
34
35
|
rl.prompt();
|
|
35
36
|
return;
|
|
36
37
|
}
|
|
37
|
-
if (cmd === "
|
|
38
|
+
if (cmd === "solved" || cmd === "s") {
|
|
38
39
|
if (current < 0) {
|
|
39
40
|
console.log(pc.dim(pc.gray("inspect a finding first — type its number.")));
|
|
40
41
|
console.log();
|
|
41
42
|
}
|
|
42
43
|
else {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
statuses[current] =
|
|
45
|
+
statuses[current] === "solved" ? "open" : "solved";
|
|
46
|
+
const n = String(current + 1).padStart(2, "0");
|
|
47
|
+
console.log(pc.dim(`finding ${n} ${statuses[current] === "solved" ? pc.green("marked as solved") : "restored to open"}.`));
|
|
48
|
+
console.log();
|
|
48
49
|
}
|
|
49
50
|
rl.prompt();
|
|
50
51
|
return;
|
|
@@ -85,15 +86,27 @@ export async function startRepl(findings, stats, repoPath) {
|
|
|
85
86
|
rl.prompt();
|
|
86
87
|
return;
|
|
87
88
|
}
|
|
89
|
+
if (cmd === "vibe" || cmd === "v" || cmd === "prompts") {
|
|
90
|
+
if (vibeAnalysis) {
|
|
91
|
+
printVibeAnalysis(vibeAnalysis);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
console.log(pc.dim(pc.gray("no vibe analysis available — run with --with-claude-history or --with-cursor-history")));
|
|
95
|
+
}
|
|
96
|
+
console.log();
|
|
97
|
+
rl.prompt();
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
88
100
|
if (cmd === "help" || cmd === "h" || cmd === "?") {
|
|
89
101
|
printHelp(findings.length);
|
|
90
102
|
rl.prompt();
|
|
91
103
|
return;
|
|
92
104
|
}
|
|
93
105
|
if (cmd === "q" || cmd === "quit" || cmd === "exit") {
|
|
106
|
+
await saveState(repoPath, findings, statuses);
|
|
94
107
|
const reportPath = "vibecheck-report.html";
|
|
95
108
|
await generateReport(findings, statuses, stats, repoPath);
|
|
96
|
-
printFinish(findings, statuses, reportPath);
|
|
109
|
+
printFinish(findings, statuses, reportPath, repoPath);
|
|
97
110
|
rl.close();
|
|
98
111
|
resolve();
|
|
99
112
|
return;
|
package/dist/repl/repl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/repl/repl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EACL,SAAS,EACT,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/repl/repl.ts"],"names":[],"mappings":"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"}
|
package/dist/report/html.js
CHANGED
|
@@ -26,11 +26,9 @@ export async function generateReport(findings, statuses, stats, repoPath) {
|
|
|
26
26
|
const n = String(i + 1).padStart(2, "0");
|
|
27
27
|
const sevColor = f.severity === "critical" ? "#d96b4a" : "#e6a345";
|
|
28
28
|
const sevLabel = f.severity === "critical" ? "CRITICAL" : "MEDIUM";
|
|
29
|
-
const statusTag = status === "
|
|
30
|
-
? '<span style="color:#
|
|
31
|
-
:
|
|
32
|
-
? '<span style="color:#8c8470"> ⊘ ignored</span>'
|
|
33
|
-
: "";
|
|
29
|
+
const statusTag = status === "ignored"
|
|
30
|
+
? '<span style="color:#8c8470"> ⊘ ignored</span>'
|
|
31
|
+
: "";
|
|
34
32
|
const titleStyle = status !== "open"
|
|
35
33
|
? 'style="text-decoration:line-through;color:#5f5847"'
|
|
36
34
|
: "";
|
|
@@ -54,20 +52,14 @@ export async function generateReport(findings, statuses, stats, repoPath) {
|
|
|
54
52
|
<div class="trace-row"><span class="arrow">↓</span></div>
|
|
55
53
|
<div class="trace-row"><span class="trace-key">result</span> ${escapeHtml(f.trace.result)}</div>
|
|
56
54
|
</div>`;
|
|
57
|
-
if (f.
|
|
55
|
+
if (f.trace.missingConstraints && f.trace.missingConstraints.length > 0) {
|
|
58
56
|
findingsHtml += `
|
|
59
|
-
<div class="
|
|
60
|
-
<div class="
|
|
61
|
-
for (
|
|
62
|
-
|
|
63
|
-
findingsHtml += `\n <div class="fix-line">${escapeHtml(f.fix[j])}</div>`;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
findingsHtml += `\n <div class="fix-line fix-add">${escapeHtml(f.fix[j])}</div>`;
|
|
67
|
-
}
|
|
57
|
+
<div class="constraints">
|
|
58
|
+
<div class="constraints-label">MISSING CONSTRAINTS</div>`;
|
|
59
|
+
for (const c of f.trace.missingConstraints) {
|
|
60
|
+
findingsHtml += `\n <div class="constraint-line">⚠ ${escapeHtml(c)}</div>`;
|
|
68
61
|
}
|
|
69
62
|
findingsHtml += `
|
|
70
|
-
<div class="fix-note">→ regenerated against this prompt: <span style="color:#b6d77a">0 findings</span>. vibecheck shows the fix — it never edits your code.</div>
|
|
71
63
|
</div>`;
|
|
72
64
|
}
|
|
73
65
|
}
|
|
@@ -126,14 +118,12 @@ export async function generateReport(findings, statuses, stats, repoPath) {
|
|
|
126
118
|
background: rgba(169,143,214,0.08); padding: 1px 5px;
|
|
127
119
|
border-radius: 4px; border: 1px solid rgba(169,143,214,0.18);
|
|
128
120
|
}
|
|
129
|
-
.
|
|
130
|
-
margin-top: 14px; padding: 12px; background: rgba(
|
|
131
|
-
border: 1px solid rgba(
|
|
121
|
+
.constraints {
|
|
122
|
+
margin-top: 14px; padding: 12px; background: rgba(230,163,69,0.05);
|
|
123
|
+
border: 1px solid rgba(230,163,69,0.15); border-radius: 6px;
|
|
132
124
|
}
|
|
133
|
-
.
|
|
134
|
-
.
|
|
135
|
-
.fix-add { color: var(--green); }
|
|
136
|
-
.fix-note { color: var(--faint); font-size: 12px; margin-top: 10px; padding-left: 8px; }
|
|
125
|
+
.constraints-label { color: var(--amber); font-weight: 700; margin-bottom: 8px; }
|
|
126
|
+
.constraint-line { padding-left: 8px; margin: 2px 0; color: var(--amber); }
|
|
137
127
|
.manual { color: var(--dim); margin-top: 10px; padding: 8px; }
|
|
138
128
|
.bridge {
|
|
139
129
|
margin-top: 30px; padding: 20px; text-align: center;
|