github TypeScript analyzed · update queued a89a6e6 (1 behind)

DGouron/review-flow

github

Automated AI code reviews powered — webhook-driven, real-time dashboard, MCP integration, smart queue with deduplication, multi-agent audits, and iterative follow-up reviews for GitLab MRs and GitHub PRs

maintainer
DGouron
license
MIT
first seen
2026-06-01
last seen
2026-08-15
releases · 30d
7
short id

Drift inferred · capture-to-capture

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

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 commit a89a6e6 · analyzer v32 · 1w ago

skills & prompt files 57

danger signals1

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

code files: 1244

filesystem 122

  • fs (weak) DGouron-review-flow-a89a6e6/scripts/copyAssets.mjs :1 import { cpSync, mkdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/config/projectConfig.ts :1 import { readFileSync, existsSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/frameworks/claude/claudeInvoker.ts :2 import { writeFileSync, mkdirSync, existsSync, unlinkSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/frameworks/config/configLoader.ts :2 import { readFileSync, existsSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/frameworks/settings/runtimeSettings.ts :1 import { existsSync, readFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/main/cli.ts :3 import { realpathSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/main/commands/discover.command.ts :1 import { existsSync, readFileSync, writeFileSync, readdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/main/commands/init.command.ts :9 } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/main/commands/validate.command.ts :1 import { existsSync, readFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/main/dependencies.ts :1 import { mkdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/main/routes.ts :1 import { existsSync, readFileSync, statSync, writeFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/main/shared/cliConstants.ts :2 import { readFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/mcp/mcpLogger.ts :1 import { appendFileSync, mkdirSync, existsSync, statSync, writeFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/mcp/mcpServerStdio.ts :1 import { readFileSync, existsSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.ts :1 import { readFileSync, existsSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/claude-invocation/interface-adapters/gateways/mcpCompletion.fileSystem.gateway.ts :8 } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/claude-invocation/interface-adapters/gateways/reviewReport.fileSystem.gateway.ts :1 import { existsSync, readFileSync, readdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.ts :1 import { readFile, stat } from 'node:fs/promises';
  • fs DGouron-review-flow-a89a6e6/src/modules/cli-configuration/interface-adapters/gateways/installTypeDetector.fs.gateway.ts :1 import { existsSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/cli-configuration/interface-adapters/gateways/projectConfig.fileSystem.gateway.ts :1 import { existsSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/cli-configuration/interface-adapters/gateways/sourceCheckoutUpdate.cli.gateway.ts :2 import { existsSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/data-lifecycle/interface-adapters/gateways/fileSystem/reviewLogFile.fileSystem.gateway.ts :1 import { readdir, stat, unlink } from 'node:fs/promises';
  • fs DGouron-review-flow-a89a6e6/src/modules/ember-chat/interface-adapters/gateways/emberAnswerTransport.claude.gateway.ts :1 import { readFileSync, existsSync, readdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/ember-chat/interface-adapters/gateways/emberMemory.fileSystem.gateway.ts :1 import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/platform-integration/interface-adapters/gateways/threadFetch.gitlab.gateway.ts :2 import { mkdirSync, writeFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/review-execution/interface-adapters/controllers/http/reviews.routes.ts :1 import { existsSync, unlinkSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/review-execution/interface-adapters/gateways/fileSystem/jobHistory.fileSystem.gateway.ts :1 import { existsSync, mkdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/review-execution/interface-adapters/gateways/fileSystem/projectPrinciples.fileSystem.gateway.ts :1 import { existsSync, readFileSync, readdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/review-execution/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.ts :1 import { readdir, stat, readFile, unlink, access } from 'node:fs/promises';
  • fs DGouron-review-flow-a89a6e6/src/modules/review-execution/interface-adapters/gateways/pendingReviewRequest.fileSystem.gateway.ts :8 } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/review-execution/interface-adapters/gateways/reviewContext.fileSystem.gateway.ts :9 } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.ts :1 import { readFileSync, writeFileSync, existsSync, appendFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.ts :2 import { existsSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.ts :8 } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/serverConfig.fileSystem.gateway.ts :1 import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.ts :8 } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.ts :1 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.ts :1 import { existsSync, readFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/statistics-insights/interface-adapters/gateways/aiInsightsSession.claude.gateway.ts :1 import { readFileSync, existsSync, readdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/statistics-insights/interface-adapters/gateways/fileSystem/insights.fileSystem.ts :1 import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/statistics-insights/interface-adapters/gateways/fileSystem/stats.fileSystem.ts :1 import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/supervisor-management/interface-adapters/gateways/supervisorLock.fileSystem.gateway.ts :1 import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/token-accounting/interface-adapters/gateways/budget/budget.filesystem.gateway.ts :1 import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/token-accounting/interface-adapters/gateways/tokenUsage/tokenUsage.filesystem.gateway.ts :1 import { appendFileSync, existsSync, mkdirSync, readFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/tracking/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.ts :1 import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/worktree-management/interface-adapters/gateways/worktree.fileSystem.gateway.ts :1 import { existsSync, mkdirSync, readdirSync, rmSync, statSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.ts :1 import { existsSync, readFileSync, statSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/worktree-management/services/trustedClaudeAssetsSync.ts :1 import { cpSync, existsSync, rmSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/modules/worktree-management/services/worktreeSettingsWriter.ts :1 import { mkdirSync, writeFileSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/shared/services/claudePathResolver.ts :2 import { existsSync, readdirSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/shared/services/daemonSpawner.ts :2 import { openSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/shared/services/logFileReader.ts :1 import { readFileSync, existsSync, statSync } from 'node:fs';
  • fs DGouron-review-flow-a89a6e6/src/shared/services/pidFileManager.ts :1 import { readFileSync, writeFileSync, unlinkSync, existsSync, mkdirSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/174-semi-auto-review-trigger-mode.acceptance.test.ts :1 import { mkdtempSync, rmSync, existsSync, writeFileSync, mkdirSync, readdirSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/176-job-history-persistence.acceptance.test.ts :21 } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/177-dashboard-add-project-ui.acceptance.test.ts :12 import { readFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/178-dashboard-tabs-reposition.acceptance.test.ts :12 import { readFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/179-dashboard-project-settings-modal.acceptance.test.ts :12 import { readFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/183-setup-wizard.acceptance.test.ts :12 import { mkdtempSync, rmSync, mkdirSync, writeFileSync, existsSync, readFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/187-setup-wizard-json-stdin-input.acceptance.test.ts :12 import { mkdtempSync, rmSync, mkdirSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/191-team-insights-bg-migration.acceptance.test.ts :1 import { readdirSync, readFileSync, existsSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/193-ember-record-recurring-insight.acceptance.test.ts :1 import { mkdtempSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/203-bugs-found-by-category.acceptance.test.ts :15 import { mkdirSync, rmSync, existsSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/218-worktree-trusted-claude-assets.acceptance.test.ts :14 import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/225-carry-thread-conversation.acceptance.test.ts :17 import { mkdtempSync, mkdirSync, writeFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/47-capture-git-diff-stats.acceptance.test.ts :18 import { mkdirSync, rmSync, existsSync, writeFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/80-split-stats-service.acceptance.test.ts :21 import { mkdirSync, rmSync, existsSync, writeFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/dashboardModulesCoverage.acceptance.test.ts :1 import { readdirSync, existsSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/reviewFocus.acceptance.test.ts :1 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/integration/claudeInvocation.integration.test.ts :1 import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/architecture/noClaudePInProduction.test.ts :1 import { readdirSync, readFileSync, statSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/cli/cli.integration.test.ts :2 import { mkdtempSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/config/projectConfig.test.ts :1 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/dashboard/dashboardLayout.test.ts :13 import { readFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/dashboard/dashboardLoadingRace.test.ts :9 import { readFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/dashboard/inlineHandlerExports.test.ts :10 import { readFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/frameworks/claude/ensureProjectMcpConfig.test.ts :1 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/frameworks/claude/mcpContext.test.ts :1 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/frameworks/claude/resolveMcpServerPath.test.ts :1 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/frameworks/config/configLoader.test.ts :2 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/frameworks/settings/runtimeSettings.test.ts :1 import { mkdtempSync, rmSync, writeFileSync, readFileSync, existsSync, readdirSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/interface-adapters/controllers/mcp/addAction.handler.test.ts :1 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/interface-adapters/controllers/mcp/getThreads.handler.test.ts :1 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/interface-adapters/gateways/insights.gateway.test.ts :1 import { mkdirSync, rmSync, existsSync, readFileSync, writeFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/interface-adapters/gateways/installTypeDetector.fs.gateway.test.ts :1 import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/interface-adapters/gateways/projectConfig/routingPolicy.projectConfig.gateway.test.ts :1 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/interface-adapters/gateways/reviewContext.fileSystem.gateway.test.ts :1 import { mkdirSync, rmSync, existsSync, readFileSync, writeFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/interface-adapters/gateways/reviewLogFile.fileSystem.test.ts :1 import { mkdir, writeFile, rm } from 'node:fs/promises';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/interface-adapters/gateways/selfUpdate.cli.gateway.test.ts :1 import { mkdtempSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/interface-adapters/gateways/tokenUsage/tokenUsage.filesystem.gateway.test.ts :1 import { mkdtempSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/main/commands/setup.command.test.ts :1 import { mkdtempSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/main/mcpDependencies.test.ts :1 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/mcp/mcpServerStdio.test.ts :1 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/claude-invocation/interface-adapters/gateways/claudeSession.cli.gateway.test.ts :1 import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/claude-invocation/interface-adapters/gateways/mcpCompletion.fileSystem.gateway.test.ts :1 import { mkdtempSync, rmSync, writeFileSync, readdirSync, existsSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/cli-configuration/interface-adapters/controllers/http/projectConfig.routes.test.ts :1 import { statSync, type Stats } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/cli-configuration/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.ts :1 import { mkdtempSync, mkdirSync, rmSync, writeFileSync, readFileSync, existsSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/ember-chat/gateways/emberAnswerTransport.claude.gateway.test.ts :1 import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/ember-chat/gateways/emberMemory.fileSystem.gateway.test.ts :1 import { mkdtempSync, rmSync, writeFileSync, readdirSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/jobHistory.fileSystem.gateway.test.ts :9 } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/projectPrinciples.fileSystem.gateway.test.ts :1 import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/review-execution/interface-adapters/gateways/fileSystem/reviewFile.fileSystem.test.ts :1 import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/review-execution/interface-adapters/gateways/pendingReviewRequest.fileSystem.gateway.test.ts :1 import { mkdtempSync, rmSync, writeFileSync, existsSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/setup-wizard/gateways/serverConfig.fileSystem.gateway.test.ts :1 import { mkdtempSync, writeFileSync, readFileSync, existsSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.test.ts :1 import { mkdtempSync, rmSync, readFileSync, writeFileSync, existsSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.ts :1 import { mkdtempSync, rmSync, existsSync, readFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.test.ts :1 import { mkdtempSync, rmSync, writeFileSync, readFileSync, existsSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.test.ts :1 import { mkdtempSync, readFileSync, writeFileSync, mkdirSync, existsSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.test.ts :1 import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/statistics-insights/gateways/aiInsightsSession.claude.gateway.test.ts :1 import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/statistics-insights/gateways/stats.fileSystem.test.ts :1 import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, existsSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/supervisor-management/gateways/supervisorLock.fileSystem.gateway.test.ts :1 import { mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/token-accounting/interface-adapters/gateways/budget/budget.filesystem.gateway.test.ts :1 import { mkdtempSync, rmSync, existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/tracking/interface-adapters/gateways/fileSystem/reviewRequestTracking.fileSystem.test.ts :1 import { mkdtempSync, rmSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.test.ts :1 import { mkdtempSync, mkdirSync, writeFileSync, rmSync, utimesSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/worktree-management/services/trustedClaudeAssetsSync.test.ts :1 import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/worktree-management/services/worktreeSettingsWriter.test.ts :1 import { mkdtempSync, rmSync, existsSync, readFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/security/noSpoofableTransportGuard.test.ts :1 import { readFileSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/shared/services/claudePathResolver.test.ts :2 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/shared/services/logFileReader.test.ts :1 import { mkdtempSync, writeFileSync, appendFileSync, rmSync } from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/usecases/mcp/addAction.usecase.test.ts :1 import * as fs from 'node:fs';
  • fs (weak) DGouron-review-flow-a89a6e6/src/tests/units/usecases/mcp/getThreads.usecase.test.ts :1 import * as fs from 'node:fs';

shell / exec 31

  • shell DGouron-review-flow-a89a6e6/src/frameworks/claude/claudeInvoker.ts :1 import { spawn } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/frameworks/config/configLoader.ts :1 import { execSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/main/commands/init.command.ts :1 import { execSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/main/shared/cliConstants.ts :1 import { execSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/cli-configuration/interface-adapters/controllers/http/cliStatus.routes.ts :1 import { spawn } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/cli-configuration/interface-adapters/gateways/selfUpdate.cli.gateway.ts :1 import { execFile } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/cli-configuration/interface-adapters/gateways/sourceCheckoutUpdate.cli.gateway.ts :1 import { execFile } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/platform-integration/interface-adapters/gateways/threadFetch.github.gateway.ts :1 import { execSync, execFileSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/platform-integration/interface-adapters/gateways/threadFetch.gitlab.gateway.ts :1 import { execSync, execFileSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/review-execution/services/threadActionsExecutor.ts :1 import { execSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/setup-wizard/entities/setupProcess/setupProcess.gateway.ts :17 spawn(options?: SetupProcessSpawnOptions): SetupProcessHandle;
  • shell DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/claudeAuth.cli.gateway.ts :1 import { execSync, spawnSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.ts :1 import { execSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/dependencyProbe.cli.gateway.ts :1 import { execSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.ts :1 import { execSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.ts :1 import { spawn } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/supervisor-management/interface-adapters/gateways/supervisor.cli.gateway.ts :1 import { spawn } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/worktree-management/interface-adapters/gateways/gitCommand.cli.gateway.ts :1 import { spawn } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/modules/worktree-management/interface-adapters/gateways/worktreeSizeProbe.cli.gateway.ts :1 import { spawn } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/shared/services/browserOpener.ts :1 import { execFileSync as defaultExecFileSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/shared/services/claudePathResolver.ts :1 import { execSync } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/shared/services/daemonSpawner.ts :1 import { spawn } from 'node:child_process';
  • shell DGouron-review-flow-a89a6e6/src/shared/services/dependencyChecker.ts :1 import { execSync } from 'node:child_process';
  • shell (weak) DGouron-review-flow-a89a6e6/src/tests/acceptance/80-split-stats-service.acceptance.test.ts :20 import { execSync } from 'node:child_process';
  • shell (weak) DGouron-review-flow-a89a6e6/src/tests/integration/claudeInvocation.integration.test.ts :21 // `ClaudeProcessRunner` port that wraps `node:child_process.spawn` — the
  • shell (weak) DGouron-review-flow-a89a6e6/src/tests/stubs/setupProcess.stub.ts :47 spawn(options?: SetupProcessSpawnOptions): SetupProcessHandle {
  • shell (weak) DGouron-review-flow-a89a6e6/src/tests/units/cli/cli.integration.test.ts :1 import { execSync } from 'node:child_process';
  • shell (weak) DGouron-review-flow-a89a6e6/src/tests/units/frameworks/config/configLoader.test.ts :1 import * as childProcess from 'node:child_process';
  • shell (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/platform-integration/interface-adapters/gateways/cli/noteCommentPost.cli.shellSafety.test.ts :1 import { execFileSync } from 'node:child_process';
  • shell (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/platform-integration/interface-adapters/gateways/cli/reviewLabel.cli.test.ts :1 import { execFileSync } from 'node:child_process';
  • shell (weak) DGouron-review-flow-a89a6e6/src/tests/units/shared/services/claudePathResolver.test.ts :1 import * as childProcess from 'node:child_process';

network 5

  • net DGouron-review-flow-a89a6e6/src/dashboard/modules/cleanup.js :32 const response = await fetch('/api/reviews/cleanup', { method: 'POST' });
  • net DGouron-review-flow-a89a6e6/src/dashboard/modules/teamTab.js :317 const response = await fetch(`${apiUrl}/api/insights?path=${encodeURIComponent(projectPath)}`);
  • net DGouron-review-flow-a89a6e6/src/modules/cli-configuration/interface-adapters/gateways/packageVersion.npm.gateway.ts :13 const response = await fetch(this.registryUrl);
  • net DGouron-review-flow-a89a6e6/src/modules/cli-configuration/usecases/cli/followupImportants.usecase.ts :32 const response = await this.deps.fetch(`${baseUrl}/api/mr-tracking/followup-importants`, {
  • net (weak) DGouron-review-flow-a89a6e6/src/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.ts :1 import { get } from 'node:http';

secrets 3

  • secrets DGouron-review-flow-a89a6e6/src/frameworks/config/configLoader.ts :313 const gitlabWebhookToken = process.env.GITLAB_WEBHOOK_TOKEN;
  • secrets DGouron-review-flow-a89a6e6/src/security/gitlabWebhookTokenSource.ts :8 const token = process.env.GITLAB_WEBHOOK_TOKEN;
  • secrets (weak) DGouron-review-flow-a89a6e6/src/tests/units/security/verifier.test.ts :29 originalToken = process.env.GITLAB_WEBHOOK_TOKEN;

declared dependencies 26

  • @modelcontextprotocol/sdk@^1.26.0
  • @fastify/static@^10.1.2
  • @fastify/websocket@^11.0.0
  • @hono/node-server@2.0.10
  • @inquirer/prompts@^8.2.0
  • animejs@^4
  • dotenv@^16.4.0
  • fastify@^5.0.0
  • p-queue@^8.0.0
  • pino@^8.18.0
  • pino-pretty@^10.3.0
  • zod@^4.3.6
  • @stryker-mutator/core@^9.6.1
  • @stryker-mutator/vitest-runner@^9.6.1
  • @types/node@^20.0.0
  • @types/ws@^8.18.1
  • @vitest/coverage-v8@^4.0.18
  • @vitest/ui@^4.0.18
  • oxfmt@^0.54.0
  • oxlint@^1.69.0
  • tsc-alias@^1.8.16
  • tsx@^4.7.0
  • typescript@^5.8.0
  • vitepress@^1.6.4
  • vitest@^4.0.18
  • vue@^3.5.27

transport_posture 1

  • network-listening, binds all interfaces, no auth detected DGouron-review-flow-a89a6e6/src/main/server.ts :294 host: '0.0.0.0',