npm JavaScript analyzed 3.78.1

prjct-app/cli

v3.78.1
npm

The agentic harness for AI coding agents — work cycles, bounded RAG context, persistent memory, guardrails, and performance evals.

maintainer
prjct-app
license
MIT
first seen
2026-07-14
last seen
2026-08-01
releases · 30d
140
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×2 in prjct-app/cli
  2. HIGH code analysis flagged dynamic code execution ×2 in prjct-app/cli
  3. HIGH code analysis flagged dynamic code execution ×2 in prjct-app/cli
  4. HIGH code analysis flagged dynamic code execution ×2 in prjct-app/cli
  5. HIGH code analysis flagged dynamic code execution ×2 in prjct-app/cli
capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed v3.78.1 · analyzer v28 · 2d ago

skills & prompt files 2

danger signals2

code evidence v3.78.1 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 853

filesystem 111

  • fs prjct-app-cli-08a1aac/bin/prjct.cjs :12 const fs = require('node:fs')
  • fs prjct-app-cli-08a1aac/core/agent/paths.ts :5 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/agent/tools.ts :7 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/agentic/template-loader.ts :11 import fsSync from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/cli/lint-meta-commentary.ts :19 import { readdir, readFile } from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/commands/analysis/llm.ts :9 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/commands/context-checkpoint.ts :17 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/commands/context.ts :16 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/commands/crew.ts :11 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/commands/harness.ts :9 import { existsSync } from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/commands/memory-export.ts :12 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/commands/planning.ts :52 const manifest = JSON.parse(await fs.readFile(manifestPath, 'utf-8')) as {
  • fs prjct-app-cli-08a1aac/core/commands/setup.ts :5 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/commands/shipping.ts :14 import { existsSync } from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/commands/team.ts :26 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/commands/uninstall/actions.ts :7 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/commands/uninstall/inventory.ts :7 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/commands/update.ts :11 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/commands/update/cleanup-installs.ts :17 import { realpathSync } from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/commands/update/package-managers.ts :130 real = require('node:fs').realpathSync(candidate)
  • fs prjct-app-cli-08a1aac/core/daemon/client.ts :12 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/daemon/daemon.ts :15 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/daemon/staleness.ts :11 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/daemon/startup-lock.ts :14 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/domain/analyzer.ts :12 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/domain/bm25.ts :15 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/domain/file-hasher.ts :12 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/domain/import-graph.ts :15 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/domain/symbol-graph.ts :14 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/hooks/stop.ts :18 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/codex-skill.ts :9 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/command-installer.ts :10 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/command-installer/global-config.ts :10 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/config-manager.ts :12 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/editors-config.ts :11 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/grok-skill.ts :10 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/path-manager.ts :13 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/path-manager/monorepo.ts :8 import nodeFs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/infrastructure/pi-skill.ts :10 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/runtime-claude.ts :6 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/self-heal.ts :28 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/infrastructure/setup.ts :21 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/statusline-installer.ts :9 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/template-generator.ts :13 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/infrastructure/update-checker.ts :7 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/llm/secure-key.ts :14 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/memory/infer-memory-file.ts :9 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/schemas/analysis.ts :8 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/analysis-payload-builder.ts :11 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/auto-updater.ts :13 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/services/cbm-bridge.ts :9 import { access } from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/cloud-project-candidates.ts :11 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/code-graph-artifact.ts :12 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/content-bound-stamp.ts :11 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/context7-service.ts :1 import { constants as fsConstants } from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/services/doctor-heal.ts :139 const body = await fs.readFile(skillPath, 'utf-8').catch(() => null)
  • fs prjct-app-cli-08a1aac/core/services/drift-refresh.ts :11 import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/services/embeddings/secure-key.ts :15 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/services/eval-service.ts :10 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/friction-detector.ts :35 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/global-config.ts :11 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/services/harness-coverage.ts :13 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/hooks-service.ts :13 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/hooks-service/scripts.ts :14 const fs = require('node:fs')
  • fs prjct-app-cli-08a1aac/core/services/hooks-service/strategies.ts :9 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/legacy-crew-sweep.ts :26 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/local-state-generator.ts :11 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/mcp-service.ts :17 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/services/nested-context/_shared.ts :8 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/nested-context/agents-md-discovery.ts :22 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/nested-context/context-discovery.ts :8 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/package-legitimacy.ts :12 import { existsSync } from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/services/project-ide-rules.ts :9 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/project-index/scanners.ts :8 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/project-style-evolution.ts :11 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/routing-block.ts :9 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/safe-artifacts.ts :11 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/session-cleanup.ts :19 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/settings-installer.ts :15 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/skill-generator.ts :9 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/skill-index.ts :15 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/skill-miss-detector.ts :33 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/spec-inventory.ts :24 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/stack-detector.ts :12 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/sync-service.ts :17 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/sync-verifier.ts :10 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/sync/state-update.ts :7 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/token-backfill.ts :14 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/transcript-learner.ts :24 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/update-checker.ts :21 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/services/workspace-id.ts :23 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/services/worktree-service.ts :9 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/storage/database.ts :7 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/storage/index-storage.ts :17 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/storage/safe-reader.ts :13 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/sync/auth-config.ts :10 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/tools/context/files-tool.ts :12 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/tools/context/signatures-tool.ts :17 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/utils/codex-hooks.ts :13 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/utils/codex-mcp.ts :13 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/utils/cursor-hooks.ts :17 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/utils/file-helper.ts :1 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/utils/gemini-settings.ts :14 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/utils/grok-mcp.ts :15 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/utils/grok-plugin.ts :15 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/utils/mcp-config.ts :1 import fsSync from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/utils/opencode-mcp.ts :13 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/utils/provider-cache.ts :1 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/utils/version.ts :1 import fs from 'node:fs'
  • fs prjct-app-cli-08a1aac/core/workflow-engine/workflow-engine.ts :28 import fs from 'node:fs/promises'
  • fs prjct-app-cli-08a1aac/core/workflows/onboarding/detection.ts :8 import fs from 'node:fs/promises'

shell / exec 32

  • shell prjct-app-cli-08a1aac/bin/prjct.cjs :11 const childProcess = require('node:child_process')
  • shell prjct-app-cli-08a1aac/bin/prjct.ts :156 const { spawn } = await import('node:child_process')
  • shell prjct-app-cli-08a1aac/core/agent/tools.ts :6 import { execFile } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/cli/bin-commands.ts :142 const { spawn } = await import('node:child_process')
  • shell prjct-app-cli-08a1aac/core/commands/uninstall/actions.ts :6 import { execFileSync } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/commands/uninstall/inventory.ts :6 import { execFileSync } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/commands/update.ts :10 import { execFileSync } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/commands/update/cleanup-installs.ts :16 import { execFileSync } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/commands/update/package-managers.ts :9 import { execFileSync } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/daemon/client.ts :328 const { spawn } = await import('node:child_process')
  • shell prjct-app-cli-08a1aac/core/daemon/daemon.ts :14 import { spawn as spawnProcess } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/hooks/cold-entry.ts :30 import { spawn } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/hooks/pre-commit.ts :15 import { execSync } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/infrastructure/setup.ts :20 import { execFileSync } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/infrastructure/update-checker.ts :6 import { spawn } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/memory/infer-memory-file.ts :180 if (!new RegExp(String.raw`\.(?:${FILE_EXT})$`, 'i').test(p)) return null
  • shell prjct-app-cli-08a1aac/core/services/agent-switch.ts :9 import { spawn } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/services/auto-updater.ts :12 import { execFileSync, spawn } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/services/dependency-validator.ts :14 import { execFileSync, execSync } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/services/doctor-service.ts :12 import { execFileSync } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/services/drift-refresh.ts :10 import { spawn } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/services/hooks-service/scripts.ts :17 const { spawn } = require('node:child_process')
  • shell prjct-app-cli-08a1aac/core/services/hooks-service/strategies.ts :87 const sectionRegex = new RegExp(`^${escapedSection}:\\s*$`, 'm')
  • shell prjct-app-cli-08a1aac/core/services/land-synthesis.ts :16 import { execFileSync } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/services/skill-generator/prjct-skill-body.ts :280 '### Continue vs spawn (multi-agent)',
  • shell prjct-app-cli-08a1aac/core/storage/database/sqlite-compat.ts :193 exec(sql: string): void
  • shell prjct-app-cli-08a1aac/core/sync/secure-auth-token.ts :9 import { spawn } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/utils/exec.ts :6 } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/utils/runtime.ts :21 const { execFileSync } = require('node:child_process')
  • shell prjct-app-cli-08a1aac/core/utils/which.ts :10 import { execFileSync } from 'node:child_process'
  • shell prjct-app-cli-08a1aac/core/workflow-engine/when-evaluator.ts :104 const re = new RegExp(`^${out}$`)
  • shell prjct-app-cli-08a1aac/core/workflow-engine/workflow-engine.ts :27 import { execSync } from 'node:child_process'

network 7

  • net prjct-app-cli-08a1aac/core/commands/setup.ts :6 import http from 'node:http'
  • net prjct-app-cli-08a1aac/core/daemon/client.ts :13 import { connect } from 'node:net'
  • net prjct-app-cli-08a1aac/core/daemon/daemon.ts :16 import type { Server, Socket } from 'node:net'
  • net prjct-app-cli-08a1aac/core/infrastructure/update-checker.ts :8 import https from 'node:https'
  • net prjct-app-cli-08a1aac/core/services/embeddings/index.ts :139 const res = await fetch(url, init)
  • net prjct-app-cli-08a1aac/core/services/update-checker.ts :99 const res = await fetch(NPM_REGISTRY, { signal: ac.signal })
  • net prjct-app-cli-08a1aac/core/sync/sync-client.ts :299 const response = await fetch(`${apiUrl}/auth/verify`, {

secrets 1

  • secrets prjct-app-cli-08a1aac/core/services/agent-identity.ts :49 if (process.env.GEMINI_CLI || process.env.GEMINI_API_KEY) {

install hooks 1

  • prepare prjct-app-cli-08a1aac/package.json :20 lefthook install

declared dependencies 14

  • @modelcontextprotocol/sdk@1.29.0
  • @clack/prompts@1.0.0
  • chalk@4.1.2
  • chokidar@5.0.0
  • jsonc-parser@3.3.1
  • zod@3.25.76
  • @biomejs/biome@2.3.13
  • @types/bun@latest
  • @types/chokidar@2.1.7
  • @types/node@^22
  • esbuild@0.28.1
  • knip@6.3.1
  • lefthook@2.1.0
  • typescript@5.9.3

obfuscation 1

  • dynamic require()/import() prjct-app-cli-08a1aac/core/__tests__/services/settings-installer.test.ts :276 const m = await import(`../../services/settings-installer?t=${Date.now()}`)