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
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
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
- agent-rules DGouron-review-flow-a89a6e6/.claude/agents/architect.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/agents/debug.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/agents/documentalist.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/agents/feature-implementer.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/agents/feature-planner.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/agents/mentor.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/agents/open-source.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/agents/pair-programming.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/agents/product-manager.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/agents/reviewer.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/agents/tdd.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/commands/status.md
- agent-rules DGouron-review-flow-a89a6e6/.claude/commands/test.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/agent-creator/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/anti-overengineering/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/audit-docs/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/auto-review/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/clean-architecture/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/clean-code/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/commit/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/create-doc/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/ddd/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/discovery/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/docs-index/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/e2e/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/event-storming/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/implement-feature/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/product-manager/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/refactor-feature/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/refactoring/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/review-back/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/review-doc/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/review-followup/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/review-front/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/review-fullstack/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/security/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/ship/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/skill-creator/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/solid/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/tailwind/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/tdd/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/update-docs/SKILL.md
- skill DGouron-review-flow-a89a6e6/.claude/skills/worktree/SKILL.md
- agent-rules DGouron-review-flow-a89a6e6/CLAUDE.md
- skill DGouron-review-flow-a89a6e6/examples/skills/review-example/SKILL.md
- skill DGouron-review-flow-a89a6e6/examples/skills/review-followup-example/SKILL.md
- skill DGouron-review-flow-a89a6e6/templates/en/followup-advanced/SKILL.md
- skill DGouron-review-flow-a89a6e6/templates/en/followup-basic/SKILL.md
- skill DGouron-review-flow-a89a6e6/templates/en/review-advanced/SKILL.md
- skill DGouron-review-flow-a89a6e6/templates/en/review-basic/SKILL.md
- skill DGouron-review-flow-a89a6e6/templates/en/review-with-agents/SKILL.md
- skill DGouron-review-flow-a89a6e6/templates/fr/followup-advanced/SKILL.md
- skill DGouron-review-flow-a89a6e6/templates/fr/followup-basic/SKILL.md
- skill DGouron-review-flow-a89a6e6/templates/fr/review-advanced/SKILL.md
- skill DGouron-review-flow-a89a6e6/templates/fr/review-basic/SKILL.md
- skill DGouron-review-flow-a89a6e6/templates/fr/review-with-agents/SKILL.md
- skill DGouron-review-flow-a89a6e6/templates/skills/review-bootstrap/SKILL.md
danger signals1
- committed secret GitLab token DGouron-review-flow-a89a6e6/src/tests/acceptance/196-least-privilege-platform-token.acceptance.test.ts :25
glpat-…(30 chars, redacted)
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',