vibe-splain 1.0.4 → 1.1.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/index.js +3 -4
- package/dist/mcp/server.js +1 -1
- package/dist/ui/index.html +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -135,7 +135,7 @@ async function initParser() {
|
|
|
135
135
|
parser.setLanguage(Lang);
|
|
136
136
|
return parser;
|
|
137
137
|
}
|
|
138
|
-
var EXCLUDE_DIRS = /* @__PURE__ */ new Set(["node_modules", "dist", "build", ".next", ".vibe-splainer", ".git"]);
|
|
138
|
+
var EXCLUDE_DIRS = /* @__PURE__ */ new Set(["node_modules", "dist", "build", ".next", ".vibe-splainer", ".git", ".venv", "venv", "env", "__pycache__", ".idea", ".vscode", ".cache"]);
|
|
139
139
|
var EXCLUDE_PATTERNS = [/\.test\./, /\.spec\./, /\.config\./, /\.lock$/, /\.min\.js$/, /\.d\.ts$/];
|
|
140
140
|
var SUPPORTED_EXTENSIONS = /* @__PURE__ */ new Set([".ts", ".tsx", ".js", ".jsx"]);
|
|
141
141
|
var PILLAR_KEYWORDS = {
|
|
@@ -382,8 +382,7 @@ async function regenerateUI(projectRoot, dossier) {
|
|
|
382
382
|
cpSync(templateDir, uiDir, { recursive: true });
|
|
383
383
|
let html = await readFile4(join4(templateDir, "index.html"), "utf8");
|
|
384
384
|
const injection = `<script>window.__VIBE_DOSSIER__ = ${JSON.stringify(dossier)};</script>`;
|
|
385
|
-
html = html.replace("
|
|
386
|
-
</head>`);
|
|
385
|
+
html = html.replace("<!-- VIBE_DOSSIER_INJECTION_POINT -->", injection);
|
|
387
386
|
await writeFile3(join4(uiDir, "index.html"), html, "utf8");
|
|
388
387
|
console.error("[vibe-splain] UI regenerated at", join4(uiDir, "index.html"));
|
|
389
388
|
}
|
|
@@ -865,7 +864,7 @@ async function startMCPServer() {
|
|
|
865
864
|
role: "user",
|
|
866
865
|
content: {
|
|
867
866
|
type: "text",
|
|
868
|
-
text: "Use the vibe-splain MCP tools to build a full architectural dossier for this project. Call scan_project first. Then for each high-gravity file, call get_file_context to read the source, synthesize a 3-5 sentence narrative explaining WHY the code exists, and call write_decision_card to persist it. Include Mermaid diagrams where they help explain data flow. When you're done, share the exact file:// UI link returned by the tool so I can view the dossier in my browser. Do NOT invent a localhost URL."
|
|
867
|
+
text: "Use the vibe-splain MCP tools to build a full architectural dossier for this project. Call scan_project first. Before writing any cards, define a strict set of 3-5 core architectural pillars, and force all categorizations into those predefined buckets to avoid fragmentation. Then for each high-gravity file, call get_file_context to read the source, synthesize a 3-5 sentence narrative explaining WHY the code exists, and call write_decision_card to persist it. When extracting evidence snippets, extract small, highly specific evidence snippets (5-20 lines). NEVER cite the entire file as evidence. If you find weird hacks, tech debt, or eccentric AI-generated code, document it as a Wild Discovery. Include Mermaid diagrams where they help explain data flow. When you're done, share the exact file:// UI link returned by the tool so I can view the dossier in my browser. Do NOT invent a localhost URL."
|
|
869
868
|
}
|
|
870
869
|
}
|
|
871
870
|
]
|
package/dist/mcp/server.js
CHANGED
|
@@ -55,7 +55,7 @@ export async function startMCPServer() {
|
|
|
55
55
|
role: 'user',
|
|
56
56
|
content: {
|
|
57
57
|
type: 'text',
|
|
58
|
-
text: 'Use the vibe-splain MCP tools to build a full architectural dossier for this project. Call scan_project first. Then for each high-gravity file, call get_file_context to read the source, synthesize a 3-5 sentence narrative explaining WHY the code exists, and call write_decision_card to persist it. Include Mermaid diagrams where they help explain data flow. When you\'re done, share the exact file:// UI link returned by the tool so I can view the dossier in my browser. Do NOT invent a localhost URL.',
|
|
58
|
+
text: 'Use the vibe-splain MCP tools to build a full architectural dossier for this project. Call scan_project first. Before writing any cards, define a strict set of 3-5 core architectural pillars, and force all categorizations into those predefined buckets to avoid fragmentation. Then for each high-gravity file, call get_file_context to read the source, synthesize a 3-5 sentence narrative explaining WHY the code exists, and call write_decision_card to persist it. When extracting evidence snippets, extract small, highly specific evidence snippets (5-20 lines). NEVER cite the entire file as evidence. If you find weird hacks, tech debt, or eccentric AI-generated code, document it as a Wild Discovery. Include Mermaid diagrams where they help explain data flow. When you\'re done, share the exact file:// UI link returned by the tool so I can view the dossier in my browser. Do NOT invent a localhost URL.',
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
]
|
package/dist/ui/index.html
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
9
9
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
10
10
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
|
|
11
|
+
<!-- VIBE_DOSSIER_INJECTION_POINT -->
|
|
11
12
|
<script type="module" crossorigin>var gSe=Object.defineProperty;var JU=t=>{throw TypeError(t)};var hSe=(t,e,n)=>e in t?gSe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Ze=(t,e,n)=>hSe(t,typeof e!="symbol"?e+"":e,n),XU=(t,e,n)=>e.has(t)||JU("Cannot "+n);var A3=(t,e,n)=>(XU(t,e,"read from private field"),n?n.call(t):e.get(t)),eH=(t,e,n)=>e.has(t)?JU("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),jE=(t,e,n,a)=>(XU(t,e,"write to private field"),a?a.call(t,n):e.set(t,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))a(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&a(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function a(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();var nl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dA(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var eae={exports:{}},OS={},tae={exports:{}},Rn={};/**
|
|
12
13
|
* @license React
|
|
13
14
|
* react.production.min.js
|