@zivis/cli 0.1.0-alpha.28 → 0.1.0-alpha.3

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.
Files changed (34) hide show
  1. package/dist/commands/app/index.js +2 -2
  2. package/dist/commands/app/index.js.map +1 -1
  3. package/dist/commands/auth/index.js +0 -24
  4. package/dist/commands/auth/index.js.map +1 -1
  5. package/dist/commands/auth/login.js +7 -12
  6. package/dist/commands/auth/login.js.map +1 -1
  7. package/dist/commands/auth/logout.js +5 -17
  8. package/dist/commands/auth/logout.js.map +1 -1
  9. package/dist/commands/auth/status.js +10 -31
  10. package/dist/commands/auth/status.js.map +1 -1
  11. package/dist/commands/credits/index.js +2 -2
  12. package/dist/commands/credits/index.js.map +1 -1
  13. package/dist/commands/mcp/index.js +13 -79
  14. package/dist/commands/mcp/index.js.map +1 -1
  15. package/dist/commands/scan/index.js +2 -2
  16. package/dist/commands/scan/index.js.map +1 -1
  17. package/dist/commands/tm/index.js +3 -3
  18. package/dist/commands/tm/index.js.map +1 -1
  19. package/dist/internal/ide-setup.d.ts +7 -38
  20. package/dist/internal/ide-setup.js +41 -359
  21. package/dist/internal/ide-setup.js.map +1 -1
  22. package/dist/internal/project-binding.d.ts +0 -2
  23. package/dist/internal/project-binding.js +8 -18
  24. package/dist/internal/project-binding.js.map +1 -1
  25. package/package.json +2 -2
  26. package/dist/commands/auth/bind.d.ts +0 -30
  27. package/dist/commands/auth/bind.js +0 -174
  28. package/dist/commands/auth/bind.js.map +0 -1
  29. package/dist/commands/auth/init.d.ts +0 -4
  30. package/dist/commands/auth/init.js +0 -242
  31. package/dist/commands/auth/init.js.map +0 -1
  32. package/dist/commands/auth/token.d.ts +0 -17
  33. package/dist/commands/auth/token.js +0 -90
  34. package/dist/commands/auth/token.js.map +0 -1
@@ -1,38 +1,7 @@
1
- export type GuidanceClient = "cursor" | "claude-code-cli" | "vscode-copilot" | "vscode-claude" | "cline" | "windsurf";
2
- export interface GuidanceOptions {
3
- /** Workspace root to write guidance files into */
4
- cwd: string;
5
- /** Which IDE client to write guidance for */
6
- client: GuidanceClient;
7
- }
8
- /**
9
- * Write IDE guidance files for the given client.
10
- *
11
- * The guidance files teach the host AI (Cursor, Claude Code, etc.)
12
- * when to suggest ZIVIS tools — no security knowledge required from the user.
13
- *
14
- * All writes are idempotent: re-running replaces only the ZIVIS-managed
15
- * block, never user content.
16
- *
17
- * Returns the list of file paths written.
18
- */
19
- export declare function writeGuidance(opts: GuidanceOptions): string[];
20
- /**
21
- * Detect which IDE configs are present in the given workspace.
22
- * Returns client identifiers whose config files/dirs were found.
23
- */
24
- export declare function detectIdesInRepo(cwd: string): GuidanceClient[];
25
- export declare function setupCursor(): Promise<void>;
26
- /**
27
- * Write a workspace-level .cursor/mcp.json with `--workspace <cwd>` so Cursor
28
- * starts an isolated MCP process bound to this specific repo.
29
- * One process = one org = zero cross-tenant risk, regardless of what other
30
- * repos are open in Cursor.
31
- */
32
- export declare function setupCursorWorkspace(): Promise<void>;
33
- export declare function setupVsCodeCopilot(): Promise<void>;
34
- export declare function setupVsCodeClaude(): Promise<void>;
35
- export declare function setupClaudeCodeCli(): Promise<void>;
36
- export declare function setupCline(): Promise<void>;
37
- export declare function setupWindsurf(): Promise<void>;
38
- export declare function printClaudeCodeManual(): void;
1
+ export declare function setupCursor(session?: string): Promise<void>;
2
+ export declare function setupVsCodeCopilot(session?: string): Promise<void>;
3
+ export declare function setupVsCodeClaude(session?: string): Promise<void>;
4
+ export declare function setupClaudeCodeCli(session?: string): Promise<void>;
5
+ export declare function setupCline(session?: string): Promise<void>;
6
+ export declare function setupWindsurf(session?: string): Promise<void>;
7
+ export declare function printClaudeCodeManual(session?: string): void;
@@ -1,322 +1,16 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
3
  const SERVER_NAME = "zivis";
4
- // ── Idempotent block append ──
5
- /**
6
- * Append (or replace) a ZIVIS-managed block inside a text file.
7
- * The block is wrapped in <!-- BEGIN ZIVIS:key --> / <!-- END ZIVIS:key -->
8
- * markers so future calls replace only this section without touching user content.
9
- */
10
- function appendBlock(filePath, blockKey, content) {
11
- const begin = `<!-- BEGIN ZIVIS:${blockKey} -->`;
12
- const end = `<!-- END ZIVIS:${blockKey} -->`;
13
- let existing = fs.existsSync(filePath)
14
- ? fs.readFileSync(filePath, "utf-8")
15
- : "";
16
- const blockRegex = new RegExp(`${escapeRegex(begin)}[\\s\\S]*?${escapeRegex(end)}`, "g");
17
- const newBlock = `${begin}\n${content}\n${end}`;
18
- if (blockRegex.test(existing)) {
19
- existing = existing.replace(blockRegex, newBlock);
20
- }
21
- else {
22
- if (existing && !existing.endsWith("\n"))
23
- existing += "\n";
24
- existing += `\n${newBlock}\n`;
25
- }
26
- const dir = path.dirname(filePath);
27
- if (!fs.existsSync(dir))
28
- fs.mkdirSync(dir, { recursive: true });
29
- fs.writeFileSync(filePath, existing);
30
- }
31
- function escapeRegex(s) {
32
- return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
33
- }
34
- // ── Content templates ──
35
- /** Full Cursor .mdc rule — uses globs so it only attaches when relevant files are open */
36
- function cursorRuleContent() {
37
- return `---
38
- description: ZIVIS security guidance — quietly suggest security checks at the right moments
39
- globs:
40
- - "**/*.{ts,tsx,js,jsx,py,go,rb,java}"
41
- - "**/package.json"
42
- - "**/requirements.txt"
43
- - "**/pyproject.toml"
44
- - "**/go.mod"
45
- - "**/Dockerfile"
46
- alwaysApply: false
47
- ---
48
-
49
- <!-- BEGIN ZIVIS:guidance -->
50
-
51
- # ZIVIS Security Guidance
52
-
53
- ZIVIS is a security platform connected to this project as an MCP server.
54
- Use it sparingly and only when relevant — never nag.
55
-
56
- ## When to suggest ZIVIS
57
-
58
- **On first security question in this project (per session):**
59
- If the user asks anything about security, safety, vulnerabilities, or "is this
60
- secure", call \`zivis_get_started\` first (no arguments). Present the
61
- \`recommended_next_steps\` as a numbered list. Do NOT invent your own security
62
- checklist — let ZIVIS produce one based on actual project state.
63
-
64
- **When dependencies change** (\`package.json\`, \`requirements.txt\`, \`go.mod\`,
65
- \`pyproject.toml\` is being edited and a new package is added):
66
- Mention once per session: "Want me to check this dependency with ZIVIS?
67
- It scans for prompt-injection risks and known vulnerabilities."
68
- If yes, call \`zivis_check_repo_trust\` with the package's source repo.
69
- This tool requires NO auth — works for any public GitHub repo.
70
-
71
- **When AI/LLM SDKs are imported** (\`openai\`, \`anthropic\`, \`langchain\`,
72
- \`@anthropic-ai/sdk\`, \`llamaindex\`, \`cohere\`, \`together\`, etc.):
73
- Mention once per session: "You're integrating an AI SDK. Want to set up a
74
- red-team target with ZIVIS? It tests for prompt injection, jailbreaks, and
75
- PII leakage." If yes, call \`zivis_setup_red_team_target\` with
76
- target_type=ai_chat.
77
-
78
- **When user mentions:** "audit", "compliance", "SOC 2", "pen test",
79
- "customer security questionnaire", "going to production", "launch":
80
- Call \`zivis_get_started\` with their phrase as the \`concern\` parameter.
81
-
82
- **When user has unread findings:**
83
- At the start of a session you may call \`zivis_get_findings\` (status=open) once.
84
- If any critical findings exist, surface them before the user starts new work.
85
-
86
- ## When NOT to suggest ZIVIS
87
-
88
- - Never for non-security questions (refactors, performance, styling, tests, business logic).
89
- - Never call \`zivis_get_started\` more than once per session unless re-asked.
90
- - Never run scans that cost credits without explicit user confirmation.
91
- - Do not lecture about security best practices — let ZIVIS findings speak.
92
-
93
- ## Vocabulary
94
-
95
- The user is a developer, not a security engineer. Avoid these words unless
96
- the user uses them first: "actor", "attack vector", "threat model", "STRIDE",
97
- "kill chain", "TTPs". Prefer plain alternatives: "tester", "how an attacker
98
- might break in", "security plan", "categories of attacks".
99
-
100
- ## Available slash commands
101
-
102
- - \`/zivis-getting-started\` — entry-point tour for new users
103
- - \`/zivis-secure-my-app\` — register and test an app
104
- - \`/zivis-audit-dependencies\` — check open source libraries (no auth needed)
105
- - \`/zivis-prep-for-launch\` — pre-launch security checklist
106
- - \`/zivis-weekly-check\` — weekly security status update
107
-
108
- ## Top tools (for quick reference)
109
-
110
- - \`zivis_get_started\` — entry point when user is unsure
111
- - \`zivis_check_repo_trust\` — scan a GitHub repo for risks (no auth needed)
112
- - \`zivis_setup_red_team_target\` — register an app for testing
113
- - \`zivis_run_test_scenario\` — run a security test against a target
114
- - \`zivis_get_findings\` — list current security issues
115
- - \`zivis_triage_finding\` — resolve / dismiss / accept-risk a finding
116
- - \`zivis_security_review\` — pre-PR composite security intelligence
117
-
118
- <!-- END ZIVIS:guidance -->`;
119
- }
120
- /** Short block for CLAUDE.md / AGENTS.md — must be concise (read every turn) */
121
- function claudeBlockContent() {
122
- return `## ZIVIS Security (MCP)
123
-
124
- ZIVIS is connected to this project. Use its tools sparingly — only for security-related topics.
125
-
126
- **When to use ZIVIS:**
127
- - User asks "is this secure" / "check for vulnerabilities" / "audit my deps" → call \`zivis_get_started\` first
128
- - User adds a new npm/pip/go package → offer to call \`zivis_check_repo_trust\` (no auth needed)
129
- - User adds openai/anthropic/langchain import → offer to call \`zivis_setup_red_team_target\` (target_type=ai_chat)
130
- - User mentions "launch", "audit", "compliance", "pen test" → call \`zivis_get_started\` with concern=<their phrase>
131
-
132
- **When NOT to use:** refactors, performance, styling, tests, business logic, anything non-security.
133
-
134
- **Vocabulary:** Don't use "threat model", "STRIDE", "attack vector", "kill chain" unless user does.
135
-
136
- **Slash commands:** /zivis-getting-started /zivis-secure-my-app /zivis-audit-dependencies /zivis-prep-for-launch`;
137
- }
138
- /** .clinerules / .windsurfrules content */
139
- function ruleFileContent() {
140
- return `# ZIVIS Security Guidance
141
-
142
- ZIVIS is connected to this project via MCP. Use it only for security-related requests.
143
-
144
- ## When to suggest ZIVIS
145
-
146
- - User asks about security, vulnerabilities, or safety → call zivis_get_started (no args)
147
- - New dependency added → offer zivis_check_repo_trust (no auth, works for any public repo)
148
- - AI SDK import added (openai, anthropic, langchain, etc.) → offer zivis_setup_red_team_target with target_type=ai_chat
149
- - User mentions "audit", "launch", "pen test", "SOC 2" → call zivis_get_started with concern=<their phrase>
150
-
151
- ## When NOT to use
152
-
153
- Non-security work: refactors, performance, styling, tests, business logic.
154
- Never run paid scans without user confirmation.
155
- Never call zivis_get_started more than once per session unless re-asked.
156
-
157
- ## Vocabulary rule
158
-
159
- Avoid security jargon unless the user uses it first.
160
- Say "how someone might break in" not "attack vector".
161
- Say "security plan" not "threat model".
162
-
163
- ## Slash commands
164
-
165
- /zivis-getting-started — start here if user is new
166
- /zivis-secure-my-app — set up an app for testing
167
- /zivis-audit-dependencies — check libraries (free, no login)
168
- /zivis-prep-for-launch — pre-launch checklist
169
- /zivis-weekly-check — weekly status update`;
170
- }
171
- /** GitHub Copilot instructions block */
172
- function copilotBlockContent() {
173
- return `## ZIVIS Security Integration
174
-
175
- This project has ZIVIS security tools available via MCP.
176
-
177
- Use ZIVIS only for security-related user requests. Never proactively run scans or access security data for non-security work.
178
-
179
- **Trigger conditions:**
180
- 1. User asks about security/vulnerabilities/safety → call zivis_get_started
181
- 2. New external dependency added → offer zivis_check_repo_trust (no auth required)
182
- 3. AI SDK import added (openai, anthropic, langchain) → offer zivis_setup_red_team_target with target_type=ai_chat
183
- 4. User mentions audit/launch/pen test/compliance → call zivis_get_started with concern parameter
184
-
185
- **Key tools:** zivis_get_started, zivis_check_repo_trust, zivis_setup_red_team_target, zivis_get_findings, zivis_triage_finding
186
-
187
- **Language:** Avoid security jargon (threat model, STRIDE, attack vector) unless user uses it first.`;
188
- }
189
- // ── Per-IDE writers ──
190
- function writeCursorGuidance(cwd) {
191
- const rulesDir = path.join(cwd, ".cursor", "rules");
192
- if (!fs.existsSync(rulesDir))
193
- fs.mkdirSync(rulesDir, { recursive: true });
194
- const rulesPath = path.join(rulesDir, "zivis.mdc");
195
- fs.writeFileSync(rulesPath, cursorRuleContent());
196
- return rulesPath;
197
- }
198
- function writeClaudeBlockGuidance(cwd) {
199
- const written = [];
200
- const claudePath = path.join(cwd, "CLAUDE.md");
201
- appendBlock(claudePath, "zivis-security", claudeBlockContent());
202
- written.push(claudePath);
203
- const agentsPath = path.join(cwd, "AGENTS.md");
204
- if (fs.existsSync(agentsPath)) {
205
- appendBlock(agentsPath, "zivis-security", claudeBlockContent());
206
- written.push(agentsPath);
207
- }
208
- return written;
209
- }
210
- function writeCopilotGuidance(cwd) {
211
- const ghDir = path.join(cwd, ".github");
212
- if (!fs.existsSync(ghDir))
213
- fs.mkdirSync(ghDir, { recursive: true });
214
- const instructionsPath = path.join(ghDir, "copilot-instructions.md");
215
- appendBlock(instructionsPath, "zivis-security", copilotBlockContent());
216
- return instructionsPath;
217
- }
218
- function writeClineGuidance(cwd) {
219
- const rulesPath = path.join(cwd, ".clinerules");
220
- fs.writeFileSync(rulesPath, ruleFileContent());
221
- return rulesPath;
222
- }
223
- function writeWindsurfGuidance(cwd) {
224
- const rulesPath = path.join(cwd, ".windsurfrules");
225
- fs.writeFileSync(rulesPath, ruleFileContent());
226
- return rulesPath;
227
- }
228
- /**
229
- * Write IDE guidance files for the given client.
230
- *
231
- * The guidance files teach the host AI (Cursor, Claude Code, etc.)
232
- * when to suggest ZIVIS tools — no security knowledge required from the user.
233
- *
234
- * All writes are idempotent: re-running replaces only the ZIVIS-managed
235
- * block, never user content.
236
- *
237
- * Returns the list of file paths written.
238
- */
239
- export function writeGuidance(opts) {
240
- const { cwd, client } = opts;
241
- const written = [];
242
- switch (client) {
243
- case "cursor": {
244
- written.push(writeCursorGuidance(cwd));
245
- // Also write CLAUDE.md/AGENTS.md block if those files exist
246
- const extraPaths = writeClaudeBlockGuidance(cwd).filter((p) => fs.existsSync(p));
247
- written.push(...extraPaths);
248
- break;
249
- }
250
- case "claude-code-cli":
251
- case "vscode-claude": {
252
- written.push(...writeClaudeBlockGuidance(cwd));
253
- break;
254
- }
255
- case "vscode-copilot": {
256
- written.push(writeCopilotGuidance(cwd));
257
- break;
258
- }
259
- case "cline": {
260
- written.push(writeClineGuidance(cwd));
261
- break;
262
- }
263
- case "windsurf": {
264
- written.push(writeWindsurfGuidance(cwd));
265
- break;
266
- }
267
- }
268
- return written.filter(Boolean);
269
- }
270
- /**
271
- * Detect which IDE configs are present in the given workspace.
272
- * Returns client identifiers whose config files/dirs were found.
273
- */
274
- export function detectIdesInRepo(cwd) {
275
- const found = [];
276
- // Cursor
277
- if (fs.existsSync(path.join(cwd, ".cursor"))) {
278
- found.push("cursor");
279
- }
280
- // Claude Code (CLAUDE.md)
281
- if (fs.existsSync(path.join(cwd, "CLAUDE.md"))) {
282
- found.push("claude-code-cli");
283
- }
284
- // VS Code (check for .vscode directory)
285
- if (fs.existsSync(path.join(cwd, ".vscode"))) {
286
- // Assume Copilot by default for VS Code
287
- found.push("vscode-copilot");
288
- }
289
- // Cline (.clinerules)
290
- if (fs.existsSync(path.join(cwd, ".clinerules"))) {
291
- found.push("cline");
292
- }
293
- // Windsurf (.windsurfrules)
294
- if (fs.existsSync(path.join(cwd, ".windsurfrules"))) {
295
- found.push("windsurf");
296
- }
297
- return found;
298
- }
299
- /**
300
- * Build the MCP server config for an IDE config file.
301
- *
302
- * When workspacePath is provided, we pass it as `--workspace <path>` so the
303
- * MCP server process resolves its session from `.zivis/project.json` at that
304
- * path — not from an env var that can drift or be accidentally reused across
305
- * tenants. This gives us one-process-per-org isolation at the IDE level.
306
- *
307
- * ZIVIS_SESSION is intentionally NOT used here. The workspace path is the
308
- * canonical, immutable tenant binding for an MCP process.
309
- */
310
- function buildServerConfig(workspacePath, extra) {
311
- const args = ["mcp", "serve"];
312
- if (workspacePath) {
313
- args.push("--workspace", workspacePath);
314
- }
315
- return {
4
+ function buildServerConfig(session, extra) {
5
+ const config = {
316
6
  ...extra,
317
7
  command: "zivis",
318
- args,
8
+ args: ["mcp", "serve"],
319
9
  };
10
+ if (session) {
11
+ config.env = { ZIVIS_SESSION: session };
12
+ }
13
+ return config;
320
14
  }
321
15
  async function updateMcpConfig(configPath, serverName, serverConfig, rootKey) {
322
16
  const configDir = path.dirname(configPath);
@@ -339,54 +33,41 @@ async function updateMcpConfig(configPath, serverName, serverConfig, rootKey) {
339
33
  servers[serverName] = serverConfig;
340
34
  fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n");
341
35
  }
342
- export async function setupCursor() {
36
+ export async function setupCursor(session) {
343
37
  const homeDir = process.env.HOME || "";
344
38
  const configPath = path.join(homeDir, ".cursor", "mcp.json");
345
- // Global config has no workspace path — serves repos without .zivis/project.json
346
- await updateMcpConfig(configPath, SERVER_NAME, buildServerConfig(), "mcpServers");
347
- console.log(`✓ Cursor global MCP config updated: ${configPath}`);
39
+ await updateMcpConfig(configPath, SERVER_NAME, buildServerConfig(session), "mcpServers");
40
+ console.log(`✓ Cursor MCP config updated: ${configPath}`);
41
+ if (session)
42
+ console.log(` Session: ${session}`);
348
43
  console.log(" Restart Cursor for changes to take effect");
349
44
  }
350
- /**
351
- * Write a workspace-level .cursor/mcp.json with `--workspace <cwd>` so Cursor
352
- * starts an isolated MCP process bound to this specific repo.
353
- * One process = one org = zero cross-tenant risk, regardless of what other
354
- * repos are open in Cursor.
355
- */
356
- export async function setupCursorWorkspace() {
357
- const workspacePath = process.cwd();
358
- const configPath = path.join(workspacePath, ".cursor", "mcp.json");
359
- await updateMcpConfig(configPath, SERVER_NAME, buildServerConfig(workspacePath), "mcpServers");
360
- console.log(`✓ Cursor workspace MCP config updated: ${configPath}`);
361
- console.log(` Workspace: ${workspacePath}`);
362
- console.log(" Reload Cursor for changes to take effect");
363
- }
364
- export async function setupVsCodeCopilot() {
365
- const workspacePath = process.cwd();
366
- const localConfigPath = path.join(workspacePath, ".vscode", "mcp.json");
45
+ export async function setupVsCodeCopilot(session) {
46
+ const localConfigPath = path.join(process.cwd(), ".vscode", "mcp.json");
367
47
  const globalConfigPath = path.join(process.env.HOME || "", ".vscode", "mcp.json");
368
48
  let configPath = localConfigPath;
369
49
  const exists = fs.existsSync(localConfigPath);
370
50
  if (!exists && fs.existsSync(globalConfigPath)) {
371
51
  configPath = globalConfigPath;
372
52
  }
373
- await updateMcpConfig(configPath, SERVER_NAME, buildServerConfig(workspacePath, { type: "stdio" }), "servers");
53
+ await updateMcpConfig(configPath, SERVER_NAME, buildServerConfig(session, { type: "stdio" }), "servers");
374
54
  console.log(`✓ VS Code (GitHub Copilot) MCP config updated: ${configPath}`);
375
- console.log(` Workspace: ${workspacePath}`);
55
+ if (session)
56
+ console.log(` Session: ${session}`);
376
57
  console.log(" Restart VS Code for changes to take effect");
377
58
  }
378
- export async function setupVsCodeClaude() {
379
- const workspacePath = process.cwd();
380
- const configPath = path.join(workspacePath, ".vscode", "mcp.json");
381
- await updateMcpConfig(configPath, SERVER_NAME, buildServerConfig(workspacePath), "mcpServers");
59
+ export async function setupVsCodeClaude(session) {
60
+ const configPath = path.join(process.cwd(), ".vscode", "mcp.json");
61
+ await updateMcpConfig(configPath, SERVER_NAME, buildServerConfig(session), "mcpServers");
382
62
  console.log(`✓ VS Code (Claude Code) MCP config updated: ${configPath}`);
383
- console.log(` Workspace: ${workspacePath}`);
63
+ if (session)
64
+ console.log(` Session: ${session}`);
384
65
  console.log(" Restart VS Code for changes to take effect");
385
66
  }
386
- export async function setupClaudeCodeCli() {
67
+ export async function setupClaudeCodeCli(session) {
387
68
  const homeDir = process.env.HOME || "";
388
69
  const configPath = path.join(homeDir, ".claude.json");
389
- const workspacePath = process.cwd();
70
+ const projectPath = process.cwd();
390
71
  if (!fs.existsSync(configPath)) {
391
72
  console.log(" Skipping Claude Code CLI (no ~/.claude.json found)");
392
73
  return;
@@ -394,47 +75,48 @@ export async function setupClaudeCodeCli() {
394
75
  try {
395
76
  const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
396
77
  config.projects ??= {};
397
- config.projects[workspacePath] ??= {};
398
- config.projects[workspacePath].mcpServers ??= {};
399
- config.projects[workspacePath].mcpServers[SERVER_NAME] = {
78
+ config.projects[projectPath] ??= {};
79
+ config.projects[projectPath].mcpServers ??= {};
80
+ config.projects[projectPath].mcpServers[SERVER_NAME] = {
400
81
  type: "stdio",
401
82
  command: "zivis",
402
- args: ["mcp", "serve", "--workspace", workspacePath],
83
+ args: ["mcp", "serve"],
84
+ env: session ? { ZIVIS_SESSION: session } : {},
403
85
  };
404
86
  fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n");
405
87
  console.log("✓ Claude Code CLI MCP config updated: ~/.claude.json");
406
- console.log(` Workspace: ${workspacePath}`);
88
+ if (session)
89
+ console.log(` Session: ${session}`);
407
90
  console.log(" Restart Claude Code for changes to take effect");
408
91
  }
409
92
  catch (err) {
410
93
  console.log(` WARNING: Failed to update ~/.claude.json: ${err instanceof Error ? err.message : err}`);
411
94
  }
412
95
  }
413
- export async function setupCline() {
414
- const workspacePath = process.cwd();
96
+ export async function setupCline(session) {
415
97
  const homeDir = process.env.HOME || "";
416
98
  const configPath = process.platform === "darwin"
417
99
  ? path.join(homeDir, "Library", "Application Support", "Code", "User", "globalStorage", "saoudrizwan.claude-dev", "settings", "cline_mcp_settings.json")
418
100
  : path.join(homeDir, ".config", "Code", "User", "globalStorage", "saoudrizwan.claude-dev", "settings", "cline_mcp_settings.json");
419
- await updateMcpConfig(configPath, SERVER_NAME, buildServerConfig(workspacePath), "mcpServers");
101
+ await updateMcpConfig(configPath, SERVER_NAME, buildServerConfig(session), "mcpServers");
420
102
  console.log(`✓ Cline MCP config updated: ${configPath}`);
421
- console.log(` Workspace: ${workspacePath}`);
103
+ if (session)
104
+ console.log(` Session: ${session}`);
422
105
  console.log(" Restart VS Code for changes to take effect");
423
106
  }
424
- export async function setupWindsurf() {
425
- const workspacePath = process.cwd();
107
+ export async function setupWindsurf(session) {
426
108
  const homeDir = process.env.HOME || "";
427
109
  const configPath = path.join(homeDir, ".codeium", "windsurf", "mcp_config.json");
428
- await updateMcpConfig(configPath, SERVER_NAME, buildServerConfig(workspacePath), "mcpServers");
110
+ await updateMcpConfig(configPath, SERVER_NAME, buildServerConfig(session), "mcpServers");
429
111
  console.log(`✓ Windsurf MCP config updated: ${configPath}`);
430
- console.log(` Workspace: ${workspacePath}`);
112
+ if (session)
113
+ console.log(` Session: ${session}`);
431
114
  console.log(" Restart Windsurf for changes to take effect");
432
115
  }
433
- export function printClaudeCodeManual() {
434
- const workspacePath = process.cwd();
116
+ export function printClaudeCodeManual(session) {
435
117
  const serverConfig = {
436
118
  mcpServers: {
437
- [SERVER_NAME]: buildServerConfig(workspacePath),
119
+ [SERVER_NAME]: buildServerConfig(session),
438
120
  },
439
121
  };
440
122
  console.log("");
@@ -1 +1 @@
1
- {"version":3,"file":"ide-setup.js","sourceRoot":"","sources":["../../src/internal/ide-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ide-setup.js","sourceRoot":"","sources":["../../src/internal/ide-setup.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,5 @@ export interface EnsureBindingOpts {
7
7
  cwd: string;
8
8
  autoBind: boolean;
9
9
  skipBind: boolean;
10
- /** Overwrite an existing conflicting binding without erroring (used by `zivis auth init`). */
11
- force?: boolean;
12
10
  }
13
11
  export declare function ensureProjectBinding(opts: EnsureBindingOpts): Promise<void>;
@@ -13,27 +13,19 @@ export async function ensureProjectBinding(opts) {
13
13
  console.log(" Note: JWT has no org_id — skipping project binding.");
14
14
  return;
15
15
  }
16
- let detected = detectProjectBinding(cwd);
16
+ const detected = detectProjectBinding(cwd);
17
17
  if (detected?.binding.workosOrgId === jwtOrgId) {
18
18
  console.log(`✓ Project binding verified: ${detected.filePath}`);
19
19
  return;
20
20
  }
21
21
  if (detected?.binding.workosOrgId && detected.binding.workosOrgId !== jwtOrgId) {
22
- if (!opts.force) {
23
- console.error("");
24
- console.error("[zivis] ERROR: Project binding org mismatches JWT org.");
25
- console.error(`[zivis] Binding file: ${detected.filePath}`);
26
- console.error(`[zivis] Binding org: ${detected.binding.workosOrgId}${detected.binding.orgName ? ` (${detected.binding.orgName})` : ""}`);
27
- console.error(`[zivis] JWT org: ${jwtOrgId}`);
28
- console.error("[zivis] This should not happen — investigate before proceeding.");
29
- process.exit(1);
30
- }
31
- // force=true: init is intentionally replacing the binding.
32
- // Clear detected so we don't accidentally inherit the OLD binding's name/id.
33
- const oldLabel = detected.binding.orgName ?? detected.binding.workosOrgId;
34
- console.log(` Replacing existing binding (was: ${oldLabel})`);
35
- fs.unlinkSync(detected.filePath);
36
- detected = null;
22
+ console.error("");
23
+ console.error("[zivis] ERROR: Project binding org mismatches JWT org.");
24
+ console.error(`[zivis] Binding file: ${detected.filePath}`);
25
+ console.error(`[zivis] Binding org: ${detected.binding.workosOrgId}${detected.binding.orgName ? ` (${detected.binding.orgName})` : ""}`);
26
+ console.error(`[zivis] JWT org: ${jwtOrgId}`);
27
+ console.error("[zivis] This should not happen — investigate before proceeding.");
28
+ process.exit(1);
37
29
  }
38
30
  let orgInfo;
39
31
  try {
@@ -43,8 +35,6 @@ export async function ensureProjectBinding(opts) {
43
35
  catch (err) {
44
36
  console.log(` WARNING: Could not fetch org info: ${err instanceof Error ? err.message : err}`);
45
37
  }
46
- // Only fall back to detected?.binding.orgName when we are UPGRADING the same org
47
- // (detected still set), not when force-replacing a different org (detected=null).
48
38
  const orgName = orgInfo?.name || detected?.binding.orgName;
49
39
  const zivisOrgId = orgInfo?.id || detected?.binding.orgId;
50
40
  const orgLabel = orgName ? `${orgName} (${jwtOrgId})` : jwtOrgId;
@@ -1 +1 @@
1
- {"version":3,"file":"project-binding.js","sourceRoot":"","sources":["../../src/internal/project-binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-binding.js","sourceRoot":"","sources":["../../src/internal/project-binding.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zivis/cli",
3
- "version": "0.1.0-alpha.28",
3
+ "version": "0.1.0-alpha.3",
4
4
  "description": "ZIVIS CLI — threat modeling, scans, and MCP server for IDE integration",
5
5
  "type": "module",
6
6
  "bin": {
@@ -23,7 +23,7 @@
23
23
  "ignore": "^7.0.5",
24
24
  "open": "^10.1.0",
25
25
  "web-tree-sitter": "^0.26.8",
26
- "@zivis/mcp": "0.1.0-alpha.17"
26
+ "@zivis/mcp": "0.1.0-alpha.2"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^22.0.0",