@su-record/vibe 4.2.35 → 4.2.37
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/dist/cli/common.js +4 -1
- package/dist/cli/common.js.map +1 -1
- package/dist/cli/heldout.js +10 -4
- package/dist/cli/heldout.js.map +1 -1
- package/dist/cli/human.js +8 -4
- package/dist/cli/human.js.map +1 -1
- package/dist/cli/internal.js +37 -24
- package/dist/cli/internal.js.map +1 -1
- package/dist/cli/ledger.js +67 -0
- package/dist/cli/ledger.js.map +1 -0
- package/dist/cli/map.js +5 -3
- package/dist/cli/map.js.map +1 -1
- package/dist/cli/memory.js +104 -74
- package/dist/cli/memory.js.map +1 -1
- package/dist/cli/mutate.js +20 -0
- package/dist/cli/mutate.js.map +1 -0
- package/dist/cli/risks.js +20 -3
- package/dist/cli/risks.js.map +1 -1
- package/dist/cli/session.js +4 -2
- package/dist/cli/session.js.map +1 -1
- package/dist/cli/setup.js +44 -13
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/work.js +73 -21
- package/dist/cli/work.js.map +1 -1
- package/dist/cli.js +19 -6
- package/dist/cli.js.map +1 -1
- package/dist/core/analyze.js +21 -7
- package/dist/core/analyze.js.map +1 -1
- package/dist/core/artifact-paths.js +14 -3
- package/dist/core/artifact-paths.js.map +1 -1
- package/dist/core/capabilities.js +69 -15
- package/dist/core/capabilities.js.map +1 -1
- package/dist/core/check-authorization.js +37 -0
- package/dist/core/check-authorization.js.map +1 -0
- package/dist/core/check-process.js +12 -4
- package/dist/core/check-process.js.map +1 -1
- package/dist/core/check-report.js +66 -0
- package/dist/core/check-report.js.map +1 -0
- package/dist/core/check.js +59 -71
- package/dist/core/check.js.map +1 -1
- package/dist/core/checks/changed.js +20 -6
- package/dist/core/checks/changed.js.map +1 -1
- package/dist/core/checks/eval.js +35 -10
- package/dist/core/checks/eval.js.map +1 -1
- package/dist/core/checks/file.js +26 -23
- package/dist/core/checks/file.js.map +1 -1
- package/dist/core/checks/fileRules.js +42 -16
- package/dist/core/checks/fileRules.js.map +1 -1
- package/dist/core/checks/http.js +35 -34
- package/dist/core/checks/http.js.map +1 -1
- package/dist/core/checks/packs.js +1 -1
- package/dist/core/checks/packs.js.map +1 -1
- package/dist/core/checks/review.js +75 -40
- package/dist/core/checks/review.js.map +1 -1
- package/dist/core/checks/run.js +5 -2
- package/dist/core/checks/run.js.map +1 -1
- package/dist/core/checks/schema.js +25 -0
- package/dist/core/checks/schema.js.map +1 -0
- package/dist/core/checks/source.js +11 -6
- package/dist/core/checks/source.js.map +1 -1
- package/dist/core/config.js +9 -2
- package/dist/core/config.js.map +1 -1
- package/dist/core/consent.js +24 -16
- package/dist/core/consent.js.map +1 -1
- package/dist/core/context-notes.js +15 -7
- package/dist/core/context-notes.js.map +1 -1
- package/dist/core/context.js +24 -12
- package/dist/core/context.js.map +1 -1
- package/dist/core/conventions.js +22 -9
- package/dist/core/conventions.js.map +1 -1
- package/dist/core/docs/cfb.js +81 -45
- package/dist/core/docs/cfb.js.map +1 -1
- package/dist/core/docs/html.js +14 -3
- package/dist/core/docs/html.js.map +1 -1
- package/dist/core/docs/hwp.js +44 -22
- package/dist/core/docs/hwp.js.map +1 -1
- package/dist/core/docs/office.js +20 -10
- package/dist/core/docs/office.js.map +1 -1
- package/dist/core/docs/pdf.js +10 -4
- package/dist/core/docs/pdf.js.map +1 -1
- package/dist/core/docs/read.js +32 -24
- package/dist/core/docs/read.js.map +1 -1
- package/dist/core/docs/zip.js +32 -15
- package/dist/core/docs/zip.js.map +1 -1
- package/dist/core/evidence.js +17 -7
- package/dist/core/evidence.js.map +1 -1
- package/dist/core/failure-message.js +35 -13
- package/dist/core/failure-message.js.map +1 -1
- package/dist/core/failure.js +49 -14
- package/dist/core/failure.js.map +1 -1
- package/dist/core/github.js +3 -1
- package/dist/core/github.js.map +1 -1
- package/dist/core/handoff.js +20 -7
- package/dist/core/handoff.js.map +1 -1
- package/dist/core/heldout-run.js +6 -3
- package/dist/core/heldout-run.js.map +1 -1
- package/dist/core/heldout.js +24 -13
- package/dist/core/heldout.js.map +1 -1
- package/dist/core/inbox.js +3 -1
- package/dist/core/inbox.js.map +1 -1
- package/dist/core/inputs.js +6 -3
- package/dist/core/inputs.js.map +1 -1
- package/dist/core/inspect.js +61 -20
- package/dist/core/inspect.js.map +1 -1
- package/dist/core/intent.js +35 -13
- package/dist/core/intent.js.map +1 -1
- package/dist/core/knowledge-find.js +31 -12
- package/dist/core/knowledge-find.js.map +1 -1
- package/dist/core/knowledge.js +22 -12
- package/dist/core/knowledge.js.map +1 -1
- package/dist/core/lang.js +5 -2
- package/dist/core/lang.js.map +1 -1
- package/dist/core/ledger.js +44 -20
- package/dist/core/ledger.js.map +1 -1
- package/dist/core/locations.js +12 -0
- package/dist/core/locations.js.map +1 -0
- package/dist/core/map/imports.js +20 -9
- package/dist/core/map/imports.js.map +1 -1
- package/dist/core/map/index.js +28 -13
- package/dist/core/map/index.js.map +1 -1
- package/dist/core/map/symbols.js +27 -12
- package/dist/core/map/symbols.js.map +1 -1
- package/dist/core/mutate.js +107 -0
- package/dist/core/mutate.js.map +1 -0
- package/dist/core/output-capture.js +7 -4
- package/dist/core/output-capture.js.map +1 -1
- package/dist/core/paths.js +2 -1
- package/dist/core/paths.js.map +1 -1
- package/dist/core/performance.js +43 -17
- package/dist/core/performance.js.map +1 -1
- package/dist/core/profile.js +6 -3
- package/dist/core/profile.js.map +1 -1
- package/dist/core/reader.js +32 -16
- package/dist/core/reader.js.map +1 -1
- package/dist/core/readerSession.js +34 -14
- package/dist/core/readerSession.js.map +1 -1
- package/dist/core/recent.js +20 -6
- package/dist/core/recent.js.map +1 -1
- package/dist/core/regress.js +21 -12
- package/dist/core/regress.js.map +1 -1
- package/dist/core/repair.js +22 -4
- package/dist/core/repair.js.map +1 -1
- package/dist/core/research-queries.js +85 -0
- package/dist/core/research-queries.js.map +1 -0
- package/dist/core/research.js +89 -88
- package/dist/core/research.js.map +1 -1
- package/dist/core/results.js +15 -6
- package/dist/core/results.js.map +1 -1
- package/dist/core/risk-signals.js +53 -15
- package/dist/core/risk-signals.js.map +1 -1
- package/dist/core/run-id.js +10 -6
- package/dist/core/run-id.js.map +1 -1
- package/dist/core/scenarios.js +91 -60
- package/dist/core/scenarios.js.map +1 -1
- package/dist/core/session.js +3 -2
- package/dist/core/session.js.map +1 -1
- package/dist/core/size.js +28 -8
- package/dist/core/size.js.map +1 -1
- package/dist/core/skills.js +66 -28
- package/dist/core/skills.js.map +1 -1
- package/dist/core/skillsmp.js +26 -12
- package/dist/core/skillsmp.js.map +1 -1
- package/dist/core/source-basis.js +21 -9
- package/dist/core/source-basis.js.map +1 -1
- package/dist/core/status.js +26 -13
- package/dist/core/status.js.map +1 -1
- package/dist/core/table.js +8 -1
- package/dist/core/table.js.map +1 -1
- package/dist/core/tokens.js +20 -10
- package/dist/core/tokens.js.map +1 -1
- package/dist/core/tree.js +26 -16
- package/dist/core/tree.js.map +1 -1
- package/dist/core/verification-plan.js +24 -8
- package/dist/core/verification-plan.js.map +1 -1
- package/dist/core/verification.js +14 -7
- package/dist/core/verification.js.map +1 -1
- package/dist/core/view.js +93 -44
- package/dist/core/view.js.map +1 -1
- package/dist/install/global.js +37 -18
- package/dist/install/global.js.map +1 -1
- package/dist/install/hooks.js +17 -8
- package/dist/install/hooks.js.map +1 -1
- package/dist/install/manifest.js +11 -0
- package/dist/install/manifest.js.map +1 -0
- package/dist/install/mcpb.js +52 -23
- package/dist/install/mcpb.js.map +1 -1
- package/dist/install/plugin.js +73 -33
- package/dist/install/plugin.js.map +1 -1
- package/dist/install/project.js +8 -7
- package/dist/install/project.js.map +1 -1
- package/dist/install/register.js +83 -48
- package/dist/install/register.js.map +1 -1
- package/dist/install/tree.js +27 -11
- package/dist/install/tree.js.map +1 -1
- package/dist/install/update.js +46 -20
- package/dist/install/update.js.map +1 -1
- package/hooks/code-map.cjs +22 -9
- package/hooks/journal.cjs +18 -16
- package/hooks/knowledge-auto.cjs +55 -21
- package/hooks/knowledge-journal.cjs +47 -20
- package/hooks/knowledge-projects.cjs +50 -21
- package/hooks/knowledge-recall.cjs +16 -6
- package/hooks/knowledge-upkeep.cjs +22 -5
- package/hooks/locations.cjs +35 -0
- package/hooks/notify.js +52 -24
- package/hooks/obsidian.cjs +17 -7
- package/hooks/private-store.cjs +25 -10
- package/hooks/retest.cjs +39 -16
- package/hooks/session-context.cjs +30 -13
- package/hooks/session-files.cjs +44 -21
- package/hooks/session-repair.cjs +26 -11
- package/hooks/session-state.cjs +78 -38
- package/hooks/session.js +19 -8
- package/hooks/slice-command.cjs +38 -17
- package/hooks/slice-guard.cjs +20 -6
- package/hooks/slice-store.cjs +25 -12
- package/internal/guides/code.md +2 -0
- package/mcpb/server/index.js +40 -12
- package/package.json +1 -1
package/dist/install/mcpb.js
CHANGED
|
@@ -2,11 +2,25 @@ import fs from 'node:fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { packageRoot } from '../core/paths.js';
|
|
4
4
|
import { readJson, readText } from '../core/store.js';
|
|
5
|
+
import { FALLBACK_VERSION, PACKAGE_MANIFEST } from './manifest.js';
|
|
5
6
|
/**
|
|
6
7
|
* `.mcpb` for the Claude desktop app — a zip of manifest.json + server/index.js + README, built
|
|
7
8
|
* here without a zip library (store method, CRC-32). The manifest is generated from package.json
|
|
8
9
|
* like every other plugin surface; the server is a cable to the `vibe` CLI on the machine.
|
|
9
10
|
*/
|
|
11
|
+
const LONG_DESCRIPTION = [
|
|
12
|
+
'Your personal FDE in the Claude desktop app: context, internal guidance, skill extensions and recorded verification in your selected project.',
|
|
13
|
+
'Building the code stays with Claude Code, Codex or Hermes; they share the same .vibe/ state.',
|
|
14
|
+
'Needs the vibe CLI: npm i -g @su-record/vibe.',
|
|
15
|
+
].join(' ');
|
|
16
|
+
const PROJECT_DESCRIPTION = 'The repository vibe works in — its .vibe/ holds the intent, scenarios, evidence and ledger.';
|
|
17
|
+
const CLI_DESCRIPTION = [
|
|
18
|
+
'Leave empty to search PATH and the usual npm locations (Homebrew, nvm, fnm, volta).',
|
|
19
|
+
'Set it when the app reports the CLI was not found — `which vibe` in a terminal prints the path.',
|
|
20
|
+
].join(' ');
|
|
21
|
+
const SERVER_ENTRY = 'server/index.js';
|
|
22
|
+
const README_ENTRY = 'README.md';
|
|
23
|
+
const MANIFEST_ENTRY = 'manifest.json';
|
|
10
24
|
export function mcpbManifest(version, description) {
|
|
11
25
|
return {
|
|
12
26
|
manifest_version: '0.3',
|
|
@@ -14,7 +28,7 @@ export function mcpbManifest(version, description) {
|
|
|
14
28
|
display_name: 'vibe — AX/FDE harness',
|
|
15
29
|
version,
|
|
16
30
|
description,
|
|
17
|
-
long_description:
|
|
31
|
+
long_description: LONG_DESCRIPTION,
|
|
18
32
|
author: { name: 'su-record', url: 'https://github.com/su-record' },
|
|
19
33
|
repository: { type: 'git', url: 'https://github.com/su-record/vibe.git' },
|
|
20
34
|
homepage: 'https://github.com/su-record/vibe',
|
|
@@ -22,22 +36,34 @@ export function mcpbManifest(version, description) {
|
|
|
22
36
|
keywords: ['harness', 'ax', 'fde', 'verification'],
|
|
23
37
|
server: {
|
|
24
38
|
type: 'node',
|
|
25
|
-
entry_point:
|
|
26
|
-
mcp_config: {
|
|
39
|
+
entry_point: SERVER_ENTRY,
|
|
40
|
+
mcp_config: {
|
|
41
|
+
command: 'node',
|
|
42
|
+
args: ['${__dirname}/server/index.js'],
|
|
43
|
+
env: { VIBE_PROJECT_DIR: '${user_config.project}', VIBE_CLI: '${user_config.vibe_cli}', VIBE_MCPB_VERSION: version },
|
|
44
|
+
},
|
|
27
45
|
},
|
|
28
46
|
user_config: {
|
|
29
|
-
project: { type: 'directory', title: 'Project folder', description:
|
|
30
|
-
vibe_cli: { type: 'file', title: 'vibe executable (optional)', description:
|
|
47
|
+
project: { type: 'directory', title: 'Project folder', description: PROJECT_DESCRIPTION, required: true },
|
|
48
|
+
vibe_cli: { type: 'file', title: 'vibe executable (optional)', description: CLI_DESCRIPTION, required: false },
|
|
31
49
|
},
|
|
32
50
|
tools: [{ name: 'vibe', description: 'Your personal FDE: context, guidance and discoverable internal operations' }],
|
|
33
51
|
compatibility: { claude_desktop: '>=0.10.0', platforms: ['darwin', 'win32'], runtimes: { node: '>=20.0.0' } },
|
|
34
52
|
};
|
|
35
53
|
}
|
|
36
54
|
// ─── zip (store) ────────────────────────────────────────────────────────
|
|
55
|
+
const CRC32_POLYNOMIAL = 0xedb88320;
|
|
56
|
+
const ZIP_LOCAL_HEADER = 0x04034b50;
|
|
57
|
+
const ZIP_CENTRAL_HEADER = 0x02014b50;
|
|
58
|
+
const ZIP_END_RECORD = 0x06054b50;
|
|
59
|
+
const ZIP_VERSION = 20; // 2.0: the lowest that allows the flags used here
|
|
60
|
+
const ZIP_FLAG_UTF8_NAMES = 0x0800;
|
|
61
|
+
const ZIP_METHOD_STORE = 0;
|
|
62
|
+
const DOS_EPOCH_YEAR = 1980;
|
|
37
63
|
const CRC_TABLE = new Uint32Array(256).map((_, n) => {
|
|
38
64
|
let c = n;
|
|
39
65
|
for (let k = 0; k < 8; k += 1)
|
|
40
|
-
c = c & 1 ?
|
|
66
|
+
c = c & 1 ? CRC32_POLYNOMIAL ^ (c >>> 1) : c >>> 1;
|
|
41
67
|
return c >>> 0;
|
|
42
68
|
});
|
|
43
69
|
function crc32(buf) {
|
|
@@ -47,7 +73,9 @@ function crc32(buf) {
|
|
|
47
73
|
return (c ^ 0xffffffff) >>> 0;
|
|
48
74
|
}
|
|
49
75
|
function dosTime(d) {
|
|
50
|
-
|
|
76
|
+
const time = (d.getHours() << 11) | (d.getMinutes() << 5) | (d.getSeconds() >> 1);
|
|
77
|
+
const date = ((d.getFullYear() - DOS_EPOCH_YEAR) << 9) | ((d.getMonth() + 1) << 5) | d.getDate();
|
|
78
|
+
return { time, date };
|
|
51
79
|
}
|
|
52
80
|
/** Minimal zip writer: local headers + central directory + end record, no compression. */
|
|
53
81
|
export function zipStore(files, now = new Date()) {
|
|
@@ -59,10 +87,10 @@ export function zipStore(files, now = new Date()) {
|
|
|
59
87
|
const name = Buffer.from(f.name, 'utf-8');
|
|
60
88
|
const crc = crc32(f.data);
|
|
61
89
|
const local = Buffer.alloc(30);
|
|
62
|
-
local.writeUInt32LE(
|
|
63
|
-
local.writeUInt16LE(
|
|
64
|
-
local.writeUInt16LE(
|
|
65
|
-
local.writeUInt16LE(
|
|
90
|
+
local.writeUInt32LE(ZIP_LOCAL_HEADER, 0);
|
|
91
|
+
local.writeUInt16LE(ZIP_VERSION, 4);
|
|
92
|
+
local.writeUInt16LE(ZIP_FLAG_UTF8_NAMES, 6);
|
|
93
|
+
local.writeUInt16LE(ZIP_METHOD_STORE, 8);
|
|
66
94
|
local.writeUInt16LE(time, 10);
|
|
67
95
|
local.writeUInt16LE(date, 12);
|
|
68
96
|
local.writeUInt32LE(crc, 14);
|
|
@@ -72,11 +100,11 @@ export function zipStore(files, now = new Date()) {
|
|
|
72
100
|
local.writeUInt16LE(0, 28);
|
|
73
101
|
parts.push(local, name, f.data);
|
|
74
102
|
const entry = Buffer.alloc(46);
|
|
75
|
-
entry.writeUInt32LE(
|
|
76
|
-
entry.writeUInt16LE(
|
|
77
|
-
entry.writeUInt16LE(
|
|
78
|
-
entry.writeUInt16LE(
|
|
79
|
-
entry.writeUInt16LE(
|
|
103
|
+
entry.writeUInt32LE(ZIP_CENTRAL_HEADER, 0);
|
|
104
|
+
entry.writeUInt16LE(ZIP_VERSION, 4);
|
|
105
|
+
entry.writeUInt16LE(ZIP_VERSION, 6);
|
|
106
|
+
entry.writeUInt16LE(ZIP_FLAG_UTF8_NAMES, 8);
|
|
107
|
+
entry.writeUInt16LE(ZIP_METHOD_STORE, 10);
|
|
80
108
|
entry.writeUInt16LE(time, 12);
|
|
81
109
|
entry.writeUInt16LE(date, 14);
|
|
82
110
|
entry.writeUInt32LE(crc, 16);
|
|
@@ -89,7 +117,7 @@ export function zipStore(files, now = new Date()) {
|
|
|
89
117
|
}
|
|
90
118
|
const cd = Buffer.concat(central);
|
|
91
119
|
const end = Buffer.alloc(22);
|
|
92
|
-
end.writeUInt32LE(
|
|
120
|
+
end.writeUInt32LE(ZIP_END_RECORD, 0);
|
|
93
121
|
end.writeUInt16LE(files.length, 8);
|
|
94
122
|
end.writeUInt16LE(files.length, 10);
|
|
95
123
|
end.writeUInt32LE(cd.length, 12);
|
|
@@ -98,15 +126,16 @@ export function zipStore(files, now = new Date()) {
|
|
|
98
126
|
}
|
|
99
127
|
/** Build vibe.mcpb from the package: generated manifest, the server, the README. */
|
|
100
128
|
export function buildMcpb(out, root = packageRoot()) {
|
|
101
|
-
const pkg = readJson(path.join(root,
|
|
102
|
-
const version = pkg?.version ??
|
|
103
|
-
const server = readText(path.join(root, 'mcpb',
|
|
129
|
+
const pkg = readJson(path.join(root, PACKAGE_MANIFEST));
|
|
130
|
+
const version = pkg?.version ?? FALLBACK_VERSION;
|
|
131
|
+
const server = readText(path.join(root, 'mcpb', SERVER_ENTRY));
|
|
104
132
|
if (server === null)
|
|
105
133
|
throw new Error('mcpb/server/index.js is missing from this install');
|
|
134
|
+
const manifest = `${JSON.stringify(mcpbManifest(version, pkg?.description ?? ''), null, 2)}\n`;
|
|
106
135
|
const files = [
|
|
107
|
-
{ name:
|
|
108
|
-
{ name:
|
|
109
|
-
{ name:
|
|
136
|
+
{ name: MANIFEST_ENTRY, data: Buffer.from(manifest) },
|
|
137
|
+
{ name: SERVER_ENTRY, data: Buffer.from(server) },
|
|
138
|
+
{ name: README_ENTRY, data: Buffer.from(readText(path.join(root, 'mcpb', README_ENTRY)) ?? '') },
|
|
110
139
|
];
|
|
111
140
|
const zip = zipStore(files);
|
|
112
141
|
fs.mkdirSync(path.dirname(path.resolve(out)), { recursive: true });
|
package/dist/install/mcpb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpb.js","sourceRoot":"","sources":["../../src/install/mcpb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcpb.js","sourceRoot":"","sources":["../../src/install/mcpb.ts"],"names":[],"mappings":"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"}
|
package/dist/install/plugin.js
CHANGED
|
@@ -3,7 +3,10 @@ import os from 'node:os';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { packageRoot } from '../core/paths.js';
|
|
5
5
|
import { ensureDir, readJson, writeAtomic, writeJson } from '../core/store.js';
|
|
6
|
-
import {
|
|
6
|
+
import { packageVersion } from './manifest.js';
|
|
7
|
+
import { CODEX_HOOKS_FILE, CODEX_MANIFEST_FILE, MARKETPLACE_NAME, PLUGIN_NAME, pluginTree } from './tree.js';
|
|
8
|
+
export { MARKETPLACE_NAME };
|
|
9
|
+
import { vibeConfig, FOLDERS, AGENTS_DIR } from '../core/locations.js';
|
|
7
10
|
/**
|
|
8
11
|
* OpenAI plugin for Codex CLI and ChatGPT desktop — one tree, one personal marketplace.
|
|
9
12
|
*
|
|
@@ -11,25 +14,55 @@ import { pluginTree } from './tree.js';
|
|
|
11
14
|
* 300MB into the Codex cache because the whole package was the plugin; here the plugin is only the
|
|
12
15
|
* manifest, the single entry skill and the notification hooks.
|
|
13
16
|
*/
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
+
const MARKETPLACE_DISPLAY_NAME = 'Vibe (local)';
|
|
18
|
+
const SKILL_NAMES = [PLUGIN_NAME];
|
|
19
|
+
const SKILLS_DIR = 'skills';
|
|
20
|
+
const CARD_FILE = 'card.md';
|
|
21
|
+
const TREE_PACKAGE_JSON = 'package.json';
|
|
22
|
+
const README_FILE = 'README.md';
|
|
23
|
+
const LEGACY_STORE_DIR = '.vibe';
|
|
24
|
+
const TREE_DIR = 'vibe';
|
|
25
|
+
const LANGUAGE_PACK_PREFIX = 'antislop-';
|
|
26
|
+
const HOOK_FILES = [
|
|
27
|
+
'notify.js',
|
|
28
|
+
'session.js',
|
|
29
|
+
'code-map.cjs',
|
|
30
|
+
'private-store.cjs',
|
|
31
|
+
'session-files.cjs',
|
|
32
|
+
'session-state.cjs',
|
|
33
|
+
'session-context.cjs',
|
|
34
|
+
'session-repair.cjs',
|
|
35
|
+
'knowledge-auto.cjs',
|
|
36
|
+
'knowledge-projects.cjs',
|
|
37
|
+
'knowledge-lint.cjs',
|
|
38
|
+
'knowledge-upkeep.cjs',
|
|
39
|
+
'knowledge-journal.cjs',
|
|
40
|
+
'knowledge-recall.cjs',
|
|
41
|
+
'file-size.cjs',
|
|
42
|
+
'locations.cjs',
|
|
43
|
+
'retest.cjs',
|
|
44
|
+
'journal.cjs',
|
|
45
|
+
'obsidian.cjs',
|
|
46
|
+
'slice-command.cjs',
|
|
47
|
+
'slice-store.cjs',
|
|
48
|
+
'slice-guard.cjs',
|
|
49
|
+
];
|
|
17
50
|
/** The tree lives under ~/.config/vibe so that `.vibe/` keeps one meaning: a project's records. ≤ 4.1.7 put it at ~/.vibe/plugin. */
|
|
18
51
|
export function pluginPaths(home = os.homedir()) {
|
|
19
52
|
return {
|
|
20
53
|
home,
|
|
21
|
-
tree:
|
|
22
|
-
marketplace: path.join(home,
|
|
54
|
+
tree: vibeConfig(home, FOLDERS.plugin, TREE_DIR),
|
|
55
|
+
marketplace: path.join(home, AGENTS_DIR, 'plugins', 'marketplace.json'),
|
|
23
56
|
};
|
|
24
57
|
}
|
|
25
58
|
/** Remove the ≤ 4.1.7 store at ~/.vibe/plugin, and ~/.vibe itself once empty, so the home never looks like a project. */
|
|
26
59
|
export function sweepLegacyPluginStore(home = os.homedir()) {
|
|
27
|
-
const legacy = path.join(home,
|
|
60
|
+
const legacy = path.join(home, LEGACY_STORE_DIR, 'plugin');
|
|
28
61
|
if (!fs.existsSync(legacy))
|
|
29
62
|
return [];
|
|
30
63
|
fs.rmSync(legacy, { recursive: true, force: true });
|
|
31
64
|
const removed = [legacy];
|
|
32
|
-
const dotVibe = path.join(home,
|
|
65
|
+
const dotVibe = path.join(home, LEGACY_STORE_DIR);
|
|
33
66
|
if (fs.readdirSync(dotVibe).length === 0) {
|
|
34
67
|
fs.rmSync(dotVibe, { recursive: true, force: true });
|
|
35
68
|
removed.push(dotVibe);
|
|
@@ -39,18 +72,24 @@ export function sweepLegacyPluginStore(home = os.homedir()) {
|
|
|
39
72
|
/** Internal legacy language packs: `skills/antislop-*`, each with `reviewers/<lang>/` prompts. */
|
|
40
73
|
export function languagePacks() {
|
|
41
74
|
const dir = path.join(packageRoot(), 'internal', 'skills');
|
|
42
|
-
return fs.existsSync(dir) ? fs.readdirSync(dir).filter((n) => n.startsWith(
|
|
43
|
-
}
|
|
44
|
-
function packageVersion() {
|
|
45
|
-
return readJson(path.join(packageRoot(), 'package.json'))?.version ?? '0.0.0';
|
|
75
|
+
return fs.existsSync(dir) ? fs.readdirSync(dir).filter((n) => n.startsWith(LANGUAGE_PACK_PREFIX)).sort() : [];
|
|
46
76
|
}
|
|
47
77
|
function copyHookAssets(tree) {
|
|
48
78
|
const files = HOOK_FILES.map(file => `hooks/${file}`);
|
|
49
|
-
files.push(
|
|
79
|
+
files.push(CARD_FILE);
|
|
50
80
|
for (const file of files)
|
|
51
81
|
fs.copyFileSync(path.join(packageRoot(), file), path.join(tree, file));
|
|
52
|
-
writeJson(path.join(tree,
|
|
53
|
-
return [...files,
|
|
82
|
+
writeJson(path.join(tree, TREE_PACKAGE_JSON), { private: true, type: 'module' });
|
|
83
|
+
return [...files, TREE_PACKAGE_JSON];
|
|
84
|
+
}
|
|
85
|
+
function treeReadme(version) {
|
|
86
|
+
return [
|
|
87
|
+
`# vibe ${version}`,
|
|
88
|
+
'',
|
|
89
|
+
'Assembled by `vibe plugin install`. Do not edit — rerun the command instead.',
|
|
90
|
+
'SessionStart and Stop use packaged status readers. Run `vibe session bind` in the intended worktree; completion requires an explicit `vibe check`.',
|
|
91
|
+
'',
|
|
92
|
+
].join('\n');
|
|
54
93
|
}
|
|
55
94
|
/** Rebuild the tree from scratch — a stale file in the cache is worse than a slow install. */
|
|
56
95
|
export function assemblePlugin(tree) {
|
|
@@ -59,35 +98,35 @@ export function assemblePlugin(tree) {
|
|
|
59
98
|
const written = [];
|
|
60
99
|
const version = packageVersion();
|
|
61
100
|
const generated = pluginTree();
|
|
62
|
-
writeAtomic(path.join(tree,
|
|
63
|
-
written.push(
|
|
101
|
+
writeAtomic(path.join(tree, CODEX_MANIFEST_FILE), generated[CODEX_MANIFEST_FILE]);
|
|
102
|
+
written.push(CODEX_MANIFEST_FILE);
|
|
64
103
|
for (const name of SKILL_NAMES) {
|
|
65
|
-
const from = path.join(packageRoot(),
|
|
104
|
+
const from = path.join(packageRoot(), SKILLS_DIR, name);
|
|
66
105
|
if (!fs.existsSync(from))
|
|
67
106
|
continue;
|
|
68
|
-
fs.cpSync(from, path.join(tree,
|
|
69
|
-
written.push(
|
|
107
|
+
fs.cpSync(from, path.join(tree, SKILLS_DIR, name), { recursive: true });
|
|
108
|
+
written.push(`${SKILLS_DIR}/${name}`);
|
|
70
109
|
}
|
|
71
|
-
writeAtomic(path.join(tree,
|
|
72
|
-
written.push(
|
|
110
|
+
writeAtomic(path.join(tree, CODEX_HOOKS_FILE), generated[CODEX_HOOKS_FILE]);
|
|
111
|
+
written.push(CODEX_HOOKS_FILE);
|
|
73
112
|
written.push(...copyHookAssets(tree));
|
|
74
|
-
fs.writeFileSync(path.join(tree,
|
|
75
|
-
written.push(
|
|
113
|
+
fs.writeFileSync(path.join(tree, README_FILE), treeReadme(version), 'utf-8');
|
|
114
|
+
written.push(README_FILE);
|
|
76
115
|
return written;
|
|
77
116
|
}
|
|
78
117
|
/** Register the tree in the personal marketplace Codex and ChatGPT desktop both read. Other plugins are kept. */
|
|
79
118
|
export function writeMarketplace(paths) {
|
|
80
119
|
const doc = readJson(paths.marketplace) ?? {};
|
|
81
120
|
doc.name ??= MARKETPLACE_NAME;
|
|
82
|
-
doc.interface ??= { displayName:
|
|
121
|
+
doc.interface ??= { displayName: MARKETPLACE_DISPLAY_NAME };
|
|
83
122
|
const plugins = Array.isArray(doc.plugins) ? doc.plugins : [];
|
|
84
123
|
const entry = {
|
|
85
|
-
name:
|
|
124
|
+
name: PLUGIN_NAME,
|
|
86
125
|
source: { source: 'local', path: `./${path.relative(paths.home, paths.tree).replace(/\\/g, '/')}` },
|
|
87
126
|
policy: { installation: 'AVAILABLE', authentication: 'ON_INSTALL' },
|
|
88
127
|
category: 'Developer Tools',
|
|
89
128
|
};
|
|
90
|
-
const index = plugins.findIndex((p) => p?.name ===
|
|
129
|
+
const index = plugins.findIndex((p) => p?.name === PLUGIN_NAME);
|
|
91
130
|
if (index === -1)
|
|
92
131
|
plugins.push(entry);
|
|
93
132
|
else
|
|
@@ -109,7 +148,7 @@ export function installPlugin(home) {
|
|
|
109
148
|
version: packageVersion(),
|
|
110
149
|
next: [
|
|
111
150
|
`codex plugin marketplace add ${paths.home}`,
|
|
112
|
-
`codex plugin add
|
|
151
|
+
`codex plugin add ${PLUGIN_NAME}@${marketplaceName}`,
|
|
113
152
|
'ChatGPT desktop reads the same marketplace file — restart the app to see the plugin',
|
|
114
153
|
],
|
|
115
154
|
};
|
|
@@ -122,12 +161,13 @@ function marketplaceTarget(paths, entry) {
|
|
|
122
161
|
export function pluginStatus(home) {
|
|
123
162
|
const paths = pluginPaths(home);
|
|
124
163
|
const exists = fs.existsSync(paths.tree);
|
|
125
|
-
const manifestVersion = readJson(path.join(paths.tree,
|
|
164
|
+
const manifestVersion = readJson(path.join(paths.tree, CODEX_MANIFEST_FILE))?.version ?? null;
|
|
126
165
|
const version = packageVersion();
|
|
127
|
-
const skillsDir = path.join(paths.tree,
|
|
128
|
-
const
|
|
129
|
-
const
|
|
130
|
-
const
|
|
166
|
+
const skillsDir = path.join(paths.tree, SKILLS_DIR);
|
|
167
|
+
const isSkill = (n) => n === PLUGIN_NAME || n.startsWith(`${PLUGIN_NAME}-`);
|
|
168
|
+
const skills = fs.existsSync(skillsDir) ? fs.readdirSync(skillsDir).filter(isSkill).length : 0;
|
|
169
|
+
const hooks = [path.basename(CODEX_HOOKS_FILE), ...HOOK_FILES].every(file => fs.existsSync(path.join(paths.tree, 'hooks', file)));
|
|
170
|
+
const entry = readJson(paths.marketplace)?.plugins?.find((p) => p?.name === PLUGIN_NAME);
|
|
131
171
|
const registered = entry !== undefined;
|
|
132
172
|
const pointsAt = marketplaceTarget(paths, entry);
|
|
133
173
|
const drift = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/install/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/install/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/install/project.js
CHANGED
|
@@ -8,6 +8,12 @@ import { record } from '../core/ledger.js';
|
|
|
8
8
|
import { isProjectDir, projectBoundaries, vibePath } from '../core/paths.js';
|
|
9
9
|
import { emptyState, readState, statePath } from '../core/state.js';
|
|
10
10
|
import { ensureDir, writeAtomic, writeJson } from '../core/store.js';
|
|
11
|
+
const PROJECT_DIRS = ['', 'evidence', 'knowledge', 'knowledge/research', 'regressions'];
|
|
12
|
+
const PROJECT_SEEDS = [
|
|
13
|
+
['intent.md', ''],
|
|
14
|
+
['scenarios.yaml', '[]\n'],
|
|
15
|
+
['results.json', '{}\n'],
|
|
16
|
+
];
|
|
11
17
|
/**
|
|
12
18
|
* `.vibe/` is the only thing vibe puts inside a repository: the state that is also the handoff.
|
|
13
19
|
* There is no init command — the first command that writes a record creates it.
|
|
@@ -23,19 +29,14 @@ export function ensureProject(root) {
|
|
|
23
29
|
}
|
|
24
30
|
const fresh = !hasProject(root);
|
|
25
31
|
const created = [];
|
|
26
|
-
for (const dir of
|
|
32
|
+
for (const dir of PROJECT_DIRS) {
|
|
27
33
|
const target = vibePath(root, dir);
|
|
28
34
|
if (!fs.existsSync(target)) {
|
|
29
35
|
ensureDir(target);
|
|
30
36
|
created.push(path.relative(root, target));
|
|
31
37
|
}
|
|
32
38
|
}
|
|
33
|
-
const
|
|
34
|
-
['intent.md', ''],
|
|
35
|
-
['scenarios.yaml', '[]\n'],
|
|
36
|
-
['results.json', '{}\n'],
|
|
37
|
-
];
|
|
38
|
-
for (const [name, body] of seeds) {
|
|
39
|
+
for (const [name, body] of PROJECT_SEEDS) {
|
|
39
40
|
const target = vibePath(root, name);
|
|
40
41
|
if (!fs.existsSync(target)) {
|
|
41
42
|
writeAtomic(target, body);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/install/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAErE;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,iBAAiB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC1H,MAAM,KAAK,CAAC,qCAAqC,KAAK,8BAA8B,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/install/project.ts"],"names":[],"mappings":"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"}
|