npm JavaScript analyzed 2.85.3

great-cto

v2.85.3
npm

One command install for the great_cto Claude Code plugin. Auto-detects your stack, picks the right archetype, bootstraps PROJECT.md.

maintainer
great_cto
licence
MIT
first seen
2026-06-03
last seen
2026-07-08
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 4 tools
transport stdio · http counts 4 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • cost_summary
  • pipeline_stages
  • project_status
  • recent_verdicts
code evidence v2.85.3 · npm-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 60

filesystem 39

  • fs package/board/packages/board/lib/alerts.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/lib/beads.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/lib/config.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/lib/data-readers.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/lib/fleet.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/lib/metrics.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/lib/notifications.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/lib/projects.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/lib/routes.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/lib/share.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/lib/util.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/lib/verdicts.mjs :1 import fs from 'fs';
show 27 more
  • fs package/board/packages/board/lib/watchers.mjs :1 import fs from 'fs';
  • fs package/board/packages/board/push-adapter.mjs :12 import fs from 'node:fs';
  • fs package/board/packages/board/server.mjs :12 import fs from 'fs';
  • fs (weak) package/board/scripts/lib/gate-plan.mjs :22 import { readFileSync } from 'node:fs';
  • fs package/dist/adapt.js :10 import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
  • fs package/dist/board-path.js :3 import { existsSync as fsExistsSync, readdirSync } from "node:fs";
  • fs package/dist/bootstrap.js :3 import { existsSync, mkdirSync, writeFileSync, readFileSync } from "node:fs";
  • fs package/dist/ci.js :18 import { existsSync, readFileSync } from "node:fs";
  • fs package/dist/companion.js :17 import { existsSync, mkdirSync, readdirSync } from "node:fs";
  • fs package/dist/detect.js :3 import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
  • fs package/dist/installer.js :4 import { existsSync, mkdirSync, rmSync, readFileSync, readdirSync } from "node:fs";
  • fs package/dist/llm-fallback.js :16 import { existsSync, readFileSync } from "node:fs";
  • fs package/dist/main.js :26 import { readFileSync, writeFileSync, copyFileSync, chmodSync, mkdirSync, unlinkSync, existsSync as fsExistsSync } from "node:fs";
  • fs package/dist/mcp.js :24 import { existsSync, readFileSync } from "node:fs";
  • fs package/dist/overlay.js :11 import { existsSync, readFileSync, writeFileSync, copyFileSync, mkdirSync, readdirSync, } from "node:fs";
  • fs package/dist/report.js :21 import { existsSync, readFileSync, readdirSync } from "node:fs";
  • fs package/dist/self-upgrade.js :18 import { realpathSync } from "node:fs";
  • fs package/dist/serve.js :21 import { appendFileSync, existsSync, mkdirSync, readFileSync } from "node:fs";
  • fs package/dist/settings.js :3 import { existsSync, readFileSync, writeFileSync, mkdirSync, copyFileSync, renameSync } from "node:fs";
  • fs package/dist/task-queue.js :6 import { existsSync, mkdirSync, readFileSync, writeFileSync, appendFileSync, renameSync } from "node:fs";
  • fs package/dist/telemetry.js :25 import * as fs from "node:fs";
  • fs package/dist/update-check.js :34 import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
  • fs package/dist/upgrade.js :8 import { existsSync, readdirSync, rmSync } from "node:fs";
  • fs package/dist/webhook-config.js :14 import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
  • fs package/dist/webhook-dispatch.js :16 import { appendFileSync, existsSync, mkdirSync } from "node:fs";
  • fs package/dist/worker.js :5 import { existsSync, mkdirSync, openSync, writeFileSync, unlinkSync } from "node:fs";
  • fs package/index.mjs :6 import { existsSync } from "node:fs";

shell / exec 12

  • shell package/board/packages/board/lib/beads.mjs :4 import { spawnSync } from 'child_process';
  • shell package/board/packages/board/lib/fleet.mjs :39 { key: 'spawn-fail', re: /spawn(Sync)?\b.*ENOENT|command not found/i },
  • shell package/board/packages/board/lib/projects.mjs :4 import { spawnSync } from 'child_process';
  • shell package/board/packages/board/server.mjs :14 import { spawnSync } from 'child_process';
  • shell (weak) package/board/scripts/lib/gate-plan.mjs :21 import { execFileSync } from 'node:child_process';
  • shell package/dist/companion.js :16 import { spawnSync, execFileSync } from "node:child_process";
  • shell package/dist/installer.js :3 import { spawnSync, execFileSync } from "node:child_process";
  • shell package/dist/land.js :5 import { spawnSync } from "node:child_process";
  • shell package/dist/main.js :268 const { spawn } = await import("node:child_process");
  • shell package/dist/self-upgrade.js :19 import { spawnSync } from "node:child_process";
  • shell package/dist/update-check.js :35 import { spawn } from "node:child_process";
  • shell package/dist/worker.js :3 import { spawn, spawnSync } from "node:child_process";

network 12

  • net package/board/packages/board/lib/alerts.mjs :79 const res = await fetch(`${relay}/notify`, {
  • net package/board/packages/board/lib/routes.mjs :167 const r = await fetch(`${NOTIFY_RELAY}/notify/verify`, {
  • net package/board/packages/board/mcp-server.mjs :123 const res = await fetch(`${BASE_URL}${path}`);
  • net package/board/packages/board/public/sw.js :22 const res = await fetch(`${BOARD_ORIGIN}/api/notif-history?unread=1&limit=1`);
  • net package/board/packages/board/push-adapter.mjs :10 import https from 'node:https';
  • net package/board/packages/board/server.mjs :10 import http from 'http';
  • net package/dist/llm-fallback.js :15 // Zero deps: uses native fetch (Node 18+). No @anthropic-ai/sdk import.
  • net package/dist/mcp.js :102 const res = await fetch(`${BOARD_BASE}${path}`);
  • net package/dist/serve.js :23 import { createServer } from "node:http";
  • net package/dist/telemetry.js :133 await fetch(TELEMETRY_ENDPOINT, {
  • net package/dist/webhook-dispatch.js :151 const res = await fetch(url, { method: "POST", headers, body });
  • net package/dist/worker.js :4 import { createServer } from "node:http";

secrets 2

  • secrets package/dist/llm-fallback.js :37 const apiKey = process.env.ANTHROPIC_API_KEY;
  • secrets package/dist/main.js :628 const apiKey = process.env.ANTHROPIC_API_KEY;

tool registrations 4

  • project_status package/board/packages/board/mcp-server.mjs :45
  • cost_summary package/board/packages/board/mcp-server.mjs :62
  • pipeline_stages package/board/packages/board/mcp-server.mjs :83
  • recent_verdicts package/board/packages/board/mcp-server.mjs :99

install hooks 3

  • postinstall package/package.json :83 node postinstall.mjs
  • prepack package/package.json :84 node scripts/bundle-board.mjs
  • prepublishOnly package/package.json :85 npm run build

declared dependencies 2

  • @types/node@22.15.3
  • typescript@^5.8.3