projscan 3.0.3 → 3.0.4

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 (58) hide show
  1. package/README.md +39 -25
  2. package/dist/cli/commands/evidencePack.js +6 -0
  3. package/dist/cli/commands/evidencePack.js.map +1 -1
  4. package/dist/cli/commands/init.js +143 -1
  5. package/dist/cli/commands/init.js.map +1 -1
  6. package/dist/cli/commands/mcp.js +67 -3
  7. package/dist/cli/commands/mcp.js.map +1 -1
  8. package/dist/cli/commands/start.d.ts +1 -0
  9. package/dist/cli/commands/start.js +79 -0
  10. package/dist/cli/commands/start.js.map +1 -0
  11. package/dist/cli/commands/workplan.js +17 -11
  12. package/dist/cli/commands/workplan.js.map +1 -1
  13. package/dist/cli/index.js +2 -0
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/core/adoption.d.ts +86 -0
  16. package/dist/core/adoption.js +441 -0
  17. package/dist/core/adoption.js.map +1 -1
  18. package/dist/core/bugHunt.js +16 -7
  19. package/dist/core/bugHunt.js.map +1 -1
  20. package/dist/core/preflight.js +24 -4
  21. package/dist/core/preflight.js.map +1 -1
  22. package/dist/core/releaseEvidence.d.ts +5 -1
  23. package/dist/core/releaseEvidence.js +332 -4
  24. package/dist/core/releaseEvidence.js.map +1 -1
  25. package/dist/core/start.d.ts +8 -0
  26. package/dist/core/start.js +156 -0
  27. package/dist/core/start.js.map +1 -0
  28. package/dist/core/workplan.d.ts +2 -1
  29. package/dist/core/workplan.js +77 -3
  30. package/dist/core/workplan.js.map +1 -1
  31. package/dist/index.d.ts +6 -5
  32. package/dist/index.js +4 -3
  33. package/dist/index.js.map +1 -1
  34. package/dist/mcp/tools/adoption.js +7 -3
  35. package/dist/mcp/tools/adoption.js.map +1 -1
  36. package/dist/mcp/tools/evidencePack.js +5 -0
  37. package/dist/mcp/tools/evidencePack.js.map +1 -1
  38. package/dist/mcp/tools/start.d.ts +2 -0
  39. package/dist/mcp/tools/start.js +58 -0
  40. package/dist/mcp/tools/start.js.map +1 -0
  41. package/dist/mcp/tools.js +2 -0
  42. package/dist/mcp/tools.js.map +1 -1
  43. package/dist/projscan-sbom.cdx.json +6 -6
  44. package/dist/tool-manifest.json +48 -5
  45. package/dist/types.d.ts +119 -0
  46. package/dist/utils/baseline.js +41 -1
  47. package/dist/utils/baseline.js.map +1 -1
  48. package/dist/utils/formatSupport.d.ts +5 -0
  49. package/dist/utils/formatSupport.js +5 -0
  50. package/dist/utils/formatSupport.js.map +1 -1
  51. package/docs/PLUGIN-GALLERY.md +25 -0
  52. package/docs/examples/plugins/api-route-ownership.mjs +60 -0
  53. package/docs/examples/plugins/api-route-ownership.projscan-plugin.json +8 -0
  54. package/docs/examples/plugins/monorepo-boundary.mjs +37 -0
  55. package/docs/examples/plugins/monorepo-boundary.projscan-plugin.json +8 -0
  56. package/docs/examples/plugins/security-sensitive-files.mjs +18 -0
  57. package/docs/examples/plugins/security-sensitive-files.projscan-plugin.json +8 -0
  58. package/package.json +2 -2
@@ -0,0 +1,156 @@
1
+ import { computeFirstRunDiagnostics, getWorkflowRecipes } from './adoption.js';
2
+ import { computeQualityScorecard } from './qualityScorecard.js';
3
+ import { buildWorkplanHandoff, computeWorkplan, isWorkplanMode } from './workplan.js';
4
+ const DEFAULT_MAX_TASKS = 5;
5
+ const DEFAULT_MAX_RISKS = 5;
6
+ export async function computeStartReport(rootPath, options = {}) {
7
+ const mode = normalizeMode(options.mode);
8
+ const maxTasks = normalizeLimit(options.maxTasks, DEFAULT_MAX_TASKS, 12);
9
+ const maxRisks = normalizeLimit(options.maxRisks, DEFAULT_MAX_RISKS, 12);
10
+ const [setup, workplan, quality] = await Promise.all([
11
+ computeFirstRunDiagnostics(rootPath),
12
+ computeWorkplan(rootPath, { mode, maxTasks }),
13
+ computeQualityScorecard(rootPath, { maxRisks }),
14
+ ]);
15
+ const workflow = chooseWorkflow(mode, getWorkflowRecipes().recipes);
16
+ const topRisks = combineRisks(workplan, quality.topRisks, maxRisks);
17
+ const adoptionGaps = setup.diagnostics
18
+ .filter((diagnostic) => diagnostic.status !== 'pass')
19
+ .map((diagnostic) => ({
20
+ id: diagnostic.id,
21
+ status: diagnostic.status,
22
+ title: diagnostic.label,
23
+ summary: diagnostic.summary,
24
+ ...(diagnostic.command ? { command: diagnostic.command } : {}),
25
+ }));
26
+ const nextActions = dedupeActions([
27
+ ...workflow.commands.map((command) => ({ label: `Run ${workflow.name}`, command })),
28
+ ...workplan.suggestedNextActions,
29
+ ...quality.suggestedNextActions,
30
+ ]);
31
+ const report = {
32
+ schemaVersion: 1,
33
+ readOnly: true,
34
+ rootPath,
35
+ mode,
36
+ summary: summarize(mode, workplan, quality.topRisks.length, adoptionGaps.length),
37
+ setup: {
38
+ overall: setup.overall,
39
+ diagnostics: setup.diagnostics,
40
+ },
41
+ recommendedWorkflow: workflow,
42
+ evidence: {
43
+ workplanVerdict: workplan.verdict,
44
+ workplanSummary: workplan.summary,
45
+ qualityVerdict: quality.verdict,
46
+ qualitySummary: quality.summary,
47
+ healthScore: quality.health.score,
48
+ mcpReady: setup.diagnostics.find((diagnostic) => diagnostic.id === 'mcp-startup')?.status === 'pass',
49
+ },
50
+ topRisks,
51
+ adoptionGaps,
52
+ nextActions,
53
+ ...(options.includeHandoff ? { handoff: buildWorkplanHandoff(workplan) } : {}),
54
+ ...(workplan.truncated === true || quality.truncated === true ? { truncated: true } : {}),
55
+ };
56
+ return report;
57
+ }
58
+ function normalizeMode(value) {
59
+ if (typeof value === 'string' && isWorkplanMode(value))
60
+ return value;
61
+ return 'before_edit';
62
+ }
63
+ function normalizeLimit(value, fallback, max) {
64
+ if (typeof value !== 'number' || !Number.isFinite(value))
65
+ return fallback;
66
+ return Math.max(1, Math.min(max, Math.floor(value)));
67
+ }
68
+ function chooseWorkflow(mode, recipes) {
69
+ const id = recipeIdForMode(mode);
70
+ const recipe = recipes.find((entry) => entry.id === id) ?? recipes[0];
71
+ return {
72
+ id: recipe.id,
73
+ name: recipe.name,
74
+ why: `${recipe.useWhen} ${recipe.outcome}`,
75
+ commands: recipe.commands,
76
+ mcpTools: recipe.mcpTools,
77
+ };
78
+ }
79
+ function recipeIdForMode(mode) {
80
+ if (mode === 'bug_hunt')
81
+ return 'bug_hunt';
82
+ if (mode === 'release')
83
+ return 'release_approval';
84
+ if (mode === 'before_commit' || mode === 'before_merge')
85
+ return 'pre_merge';
86
+ if (mode === 'hardening')
87
+ return 'bug_hunt';
88
+ if (mode === 'refactor')
89
+ return 'before_edit';
90
+ return 'before_edit';
91
+ }
92
+ function combineRisks(workplan, qualityRisks, maxRisks) {
93
+ const fromWorkplan = workplan.topRisks.map(workplanRiskToStartRisk);
94
+ const fromQuality = qualityRisks.map(qualityRiskToStartRisk);
95
+ const risks = dedupeRisks([...fromWorkplan, ...fromQuality]).slice(0, maxRisks);
96
+ if (risks.length > 0)
97
+ return risks;
98
+ return [
99
+ {
100
+ id: 'start-baseline',
101
+ priority: 'p2',
102
+ title: 'Preserve the clean baseline',
103
+ source: 'baseline',
104
+ files: [],
105
+ command: 'projscan start --format json',
106
+ },
107
+ ];
108
+ }
109
+ function workplanRiskToStartRisk(risk, index) {
110
+ return {
111
+ id: `start-workplan-${index + 1}`,
112
+ priority: risk.priority,
113
+ title: risk.message,
114
+ source: risk.source,
115
+ files: risk.file ? [risk.file] : [],
116
+ command: risk.tool === 'projscan_review' ? 'projscan review --format json' : 'projscan preflight --format json',
117
+ };
118
+ }
119
+ function qualityRiskToStartRisk(risk) {
120
+ return {
121
+ id: `start-quality-${risk.id}`,
122
+ priority: risk.priority,
123
+ title: risk.title,
124
+ source: risk.source,
125
+ files: risk.files,
126
+ command: risk.command,
127
+ };
128
+ }
129
+ function dedupeRisks(risks) {
130
+ const seen = new Set();
131
+ const result = [];
132
+ for (const risk of risks) {
133
+ const key = `${risk.title}:${risk.files.join(',')}`;
134
+ if (seen.has(key))
135
+ continue;
136
+ seen.add(key);
137
+ result.push(risk);
138
+ }
139
+ return result;
140
+ }
141
+ function dedupeActions(actions) {
142
+ const seen = new Set();
143
+ const result = [];
144
+ for (const action of actions) {
145
+ const key = `${action.label}:${action.command ?? ''}:${action.tool ?? ''}`;
146
+ if (seen.has(key))
147
+ continue;
148
+ seen.add(key);
149
+ result.push(action);
150
+ }
151
+ return result.slice(0, 12);
152
+ }
153
+ function summarize(mode, workplan, qualityRisks, adoptionGaps) {
154
+ return `start: ${mode} recommends ${workplan.tasks[0]?.title ?? 'preserving the baseline'} with ${qualityRisks} quality risk(s) and ${adoptionGaps} adoption gap(s)`;
155
+ }
156
+ //# sourceMappingURL=start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/core/start.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { WorkplanMode, WorkplanReport, WorkplanTask } from '../types.js';
1
+ import type { WorkplanHandoffPayload, WorkplanMode, WorkplanReport, WorkplanTask } from '../types.js';
2
2
  export interface ComputeWorkplanOptions {
3
3
  mode?: WorkplanMode;
4
4
  baseRef?: string;
@@ -9,4 +9,5 @@ export interface ComputeWorkplanOptions {
9
9
  }
10
10
  export declare function isWorkplanMode(value: string): value is WorkplanMode;
11
11
  export declare function computeWorkplan(rootPath: string, options?: ComputeWorkplanOptions): Promise<WorkplanReport>;
12
+ export declare function buildWorkplanHandoff(report: WorkplanReport): WorkplanHandoffPayload;
12
13
  export declare function rankWorkplanTasks(tasks: WorkplanTask[]): WorkplanTask[];
@@ -1,5 +1,6 @@
1
1
  import { computePreflight } from './preflight.js';
2
2
  import { buildRiskNow } from './sessionResources.js';
3
+ import { loadOwnership } from './ownership.js';
3
4
  const DEFAULT_MAX_TASKS = 8;
4
5
  const MAX_TOP_RISKS = 8;
5
6
  const MAX_COORDINATION_FILES = 20;
@@ -26,7 +27,10 @@ export async function computeWorkplan(rootPath, options = {}) {
26
27
  maxChangedFiles: options.maxChangedFiles,
27
28
  enablePlugins: options.enablePlugins,
28
29
  });
29
- const riskNow = await safeRiskNow(rootPath);
30
+ const [riskNow, ownership] = await Promise.all([
31
+ safeRiskNow(rootPath),
32
+ loadOwnership(rootPath).catch(() => undefined),
33
+ ]);
30
34
  const coordination = buildCoordination(preflight.verdict, riskNow.touchedFiles, riskNow.conflicts);
31
35
  const tasks = rankWorkplanTasks([
32
36
  ...tasksFromPreflight(preflight.reasons),
@@ -34,8 +38,8 @@ export async function computeWorkplan(rootPath, options = {}) {
34
38
  ...modeTasks(mode, preflight.verdict, coordination.touchedFiles),
35
39
  ]);
36
40
  const maxTasks = normalizeMaxTasks(options.maxTasks);
37
- const limitedTasks = tasks.slice(0, maxTasks);
38
- const topRisks = buildTopRisks(preflight.reasons, coordination.conflicts);
41
+ const limitedTasks = annotateTasksWithOwners(tasks.slice(0, maxTasks), ownership);
42
+ const topRisks = annotateTopRisksWithOwners(buildTopRisks(preflight.reasons, coordination.conflicts), ownership);
39
43
  const truncated = tasks.length > limitedTasks.length ||
40
44
  preflight.truncated === true ||
41
45
  riskNow.truncated === true ||
@@ -55,6 +59,40 @@ export async function computeWorkplan(rootPath, options = {}) {
55
59
  ...(truncated ? { truncated: true } : {}),
56
60
  };
57
61
  }
62
+ export function buildWorkplanHandoff(report) {
63
+ const next = report.tasks.slice(0, 5).map((task) => task.handoffText);
64
+ const verificationCommands = unique(report.tasks.flatMap((task) => task.verification.commands)).slice(0, 12);
65
+ return {
66
+ summary: report.summary,
67
+ verdict: report.verdict,
68
+ mode: report.mode,
69
+ next,
70
+ verificationCommands,
71
+ coordination: report.coordination,
72
+ markdown: renderWorkplanHandoffMarkdown(report, next, verificationCommands),
73
+ };
74
+ }
75
+ function renderWorkplanHandoffMarkdown(report, next, verificationCommands) {
76
+ const lines = [
77
+ '# Agent Handoff',
78
+ '',
79
+ `**Mode:** ${report.mode}`,
80
+ `**Verdict:** ${report.verdict}`,
81
+ '',
82
+ report.summary,
83
+ '',
84
+ '## Next',
85
+ ...(next.length > 0 ? next.map((item) => `- ${item}`) : ['- Preserve the current baseline.']),
86
+ '',
87
+ '## Verification',
88
+ ...(verificationCommands.length > 0 ? verificationCommands.map((command) => `- \`${command}\``) : ['- `projscan preflight --format json`']),
89
+ '',
90
+ '## Coordination',
91
+ `- ${report.coordination.recommendedNextAgent}`,
92
+ ...report.coordination.touchedFiles.slice(0, 10).map((file) => `- touched: ${file}`),
93
+ ];
94
+ return `${lines.join('\n')}\n`;
95
+ }
58
96
  function modeToPreflightMode(mode) {
59
97
  if (mode === 'before_commit' || mode === 'before_merge' || mode === 'before_edit')
60
98
  return mode;
@@ -398,6 +436,42 @@ function buildTopRisks(reasons, conflicts) {
398
436
  })
399
437
  .slice(0, MAX_TOP_RISKS);
400
438
  }
439
+ function annotateTasksWithOwners(tasks, ownership) {
440
+ if (!ownership)
441
+ return tasks;
442
+ return tasks.map((task) => {
443
+ const owner = ownerForTask(task, ownership);
444
+ if (!owner)
445
+ return task;
446
+ return {
447
+ ...task,
448
+ owner,
449
+ handoffText: compact(`${task.handoffText} Owner: ${owner}.`, HANDOFF_LIMIT),
450
+ };
451
+ });
452
+ }
453
+ function annotateTopRisksWithOwners(risks, ownership) {
454
+ if (!ownership)
455
+ return risks;
456
+ return risks.map((risk) => {
457
+ const owner = ownerForFiles([risk.file].filter((file) => typeof file === 'string'), ownership);
458
+ return owner ? { ...risk, owner } : risk;
459
+ });
460
+ }
461
+ function ownerForTask(task, ownership) {
462
+ const evidenceFiles = task.evidence
463
+ .map((item) => item.file)
464
+ .filter((file) => typeof file === 'string' && file.length > 0);
465
+ return ownerForFiles([...task.files, ...evidenceFiles], ownership);
466
+ }
467
+ function ownerForFiles(files, ownership) {
468
+ for (const file of unique(files)) {
469
+ const owner = ownership(file);
470
+ if (owner)
471
+ return owner;
472
+ }
473
+ return undefined;
474
+ }
401
475
  function summarizeWorkplan(mode, verdict, tasks, risks) {
402
476
  if (tasks.length === 0)
403
477
  return `${verdict}: ${mode} workplan has no recommended tasks`;
@@ -1 +1 @@
1
- {"version":3,"file":"workplan.js","sourceRoot":"","sources":["../../src/core/workplan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workplan.js","sourceRoot":"","sources":["../../src/core/workplan.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -34,15 +34,16 @@ export { computeReview } from './core/review.js';
34
34
  export { buildSemanticGraph } from './core/semanticGraph.js';
35
35
  export { computeDataflow, type DataflowOptions } from './core/dataflow.js';
36
36
  export { computeGraphCorpus } from './core/graphCorpus.js';
37
- export { computeWorkplan } from './core/workplan.js';
37
+ export { buildWorkplanHandoff, computeWorkplan } from './core/workplan.js';
38
38
  export { computeReleaseTrain } from './core/releaseTrain.js';
39
39
  export { computeBugHunt } from './core/bugHunt.js';
40
- export { computeEvidencePack } from './core/releaseEvidence.js';
40
+ export { computeEvidencePack, renderEvidencePackPrComment, validateEvidencePackPrComment } from './core/releaseEvidence.js';
41
41
  export { computeRegressionPlan } from './core/regressionPlan.js';
42
42
  export { computeAgentBrief } from './core/agentBrief.js';
43
43
  export { computeQualityScorecard } from './core/qualityScorecard.js';
44
- export { computeFirstRunDiagnostics, getMcpConfigGuide, getWorkflowRecipes } from './core/adoption.js';
45
- export type { AgentWorkflowRecipe, FirstRunDiagnostic, FirstRunReport, McpConfigCatalog, McpConfigGuide, McpClientId, WorkflowRecipeCatalog, } from './core/adoption.js';
44
+ export { computeStartReport } from './core/start.js';
45
+ export { computeFirstRunDiagnostics, computeMcpSetupDoctor, getGithubActionStarter, getMcpConfigGuide, getPolicyStarterKit, getWorkflowRecipes, isPolicyStarterTeam, writeGithubActionStarter, writePolicyStarterKit, writeTeamStarterKit, } from './core/adoption.js';
46
+ export type { AgentWorkflowRecipe, FirstRunDiagnostic, FirstRunReport, McpConfigCatalog, McpConfigGuide, McpClientId, McpSetupDoctorCheck, McpSetupDoctorReport, TeamStarterKit, TeamOnboardingStep, WorkflowRecipeCatalog, GithubActionStarter, PolicyStarterKit, PolicyStarterTeam, WriteGithubActionStarterResult, WritePolicyStarterResult, } from './core/adoption.js';
46
47
  export { suggestFixForIssue, previewSuggestionForIssue, syntheticIssue, findIssue } from './core/fixSuggest.js';
47
48
  export { explainIssue } from './core/explainIssue.js';
48
49
  export { computeImpact } from './core/impact.js';
@@ -54,4 +55,4 @@ export { getPromptDefinitions } from './mcp/prompts.js';
54
55
  export { getResourceDefinitions } from './mcp/resources.js';
55
56
  export { BUILTIN_LANGUAGE_IDS } from './core/languages/LanguageAdapter.js';
56
57
  export type { BuiltinLanguageId, LanguageId, LanguageAdapter } from './core/languages/LanguageAdapter.js';
57
- export type { ScanResult, FileEntry, DirectoryNode, LanguageBreakdown, LanguageStat, FrameworkResult, DetectedFramework, DependencyReport, DependencyRisk, Issue, IssueLocation, IssueSeverity, Fix, FixResult, FileExplanation, FileInspection, FunctionDetail, ImportInfo, ExportInfo, ArchitectureLayer, AnalysisReport, AgentBriefGuardrail, AgentBriefIntent, AgentBriefItem, AgentBriefReport, ReportFormat, FileHotspot, HotspotReport, AuthorShare, BaselineHotspot, HotspotDelta, HotspotDiffSummary, McpToolDefinition, McpPromptDefinition, McpResourceDefinition, ProjscanConfig, LoadedConfig, SemverDrift, OutdatedPackage, OutdatedReport, AuditSeverity, AuditFinding, AuditReport, UpgradePreview, CoverageSource, FileCoverage, CoverageReport, CoverageJoinedHotspot, CoverageJoinedReport, ReviewReport, ReviewFile, ReviewCycle, ReviewDataflowRisk, ReviewFunction, ReviewDependencyChange, FixSuggestion, IssueExplanation, ImportPolicyRule, ImpactReport, ImpactNode, GraphCorpusFixtureMetrics, GraphCorpusReport, DataflowReport, DataflowRisk, DataflowRiskConfidence, DataflowRiskKind, DataflowRiskSeverity, SemanticGraphEdge, SemanticGraphEdgeKind, SemanticGraphNode, SemanticGraphNodeKind, SemanticGraphReport, BugHuntFinding, BugHuntReport, BugHuntVerdict, EvidencePackArtifact, EvidencePackArtifactStatus, EvidencePackReport, EvidencePackVerdict, RegressionPlanLevel, RegressionPlanReport, RegressionPlanTarget, RegressionPlanVerdict, QualityScorecardDimension, QualityScorecardReport, QualityScorecardRisk, QualityScorecardStatus, QualityScorecardVerdict, ReleaseTrainReport, ReleaseTrainTask, ReleaseTrainTrack, WorkplanCoordination, WorkplanEvidence, WorkplanMode, WorkplanPriority, WorkplanReport, WorkplanTask, WorkplanTopRisk, WorkplanVerification, } from './types.js';
58
+ export type { ScanResult, FileEntry, DirectoryNode, LanguageBreakdown, LanguageStat, FrameworkResult, DetectedFramework, DependencyReport, DependencyRisk, Issue, IssueLocation, IssueSeverity, Fix, FixResult, FileExplanation, FileInspection, FunctionDetail, ImportInfo, ExportInfo, ArchitectureLayer, AnalysisReport, AgentBriefGuardrail, AgentBriefIntent, AgentBriefItem, AgentBriefReport, ReportFormat, FileHotspot, HotspotReport, AuthorShare, BaselineHotspot, HotspotDelta, HotspotDiffSummary, McpToolDefinition, McpPromptDefinition, McpResourceDefinition, ProjscanConfig, LoadedConfig, SemverDrift, OutdatedPackage, OutdatedReport, AuditSeverity, AuditFinding, AuditReport, UpgradePreview, CoverageSource, FileCoverage, CoverageReport, CoverageJoinedHotspot, CoverageJoinedReport, ReviewReport, ReviewFile, ReviewCycle, ReviewDataflowRisk, ReviewFunction, ReviewDependencyChange, FixSuggestion, IssueExplanation, ImportPolicyRule, ImpactReport, ImpactNode, GraphCorpusFixtureMetrics, GraphCorpusReport, DataflowReport, DataflowRisk, DataflowRiskConfidence, DataflowRiskKind, DataflowRiskSeverity, SemanticGraphEdge, SemanticGraphEdgeKind, SemanticGraphNode, SemanticGraphNodeKind, SemanticGraphReport, BugHuntFinding, BugHuntReport, BugHuntVerdict, EvidencePackArtifact, EvidencePackArtifactStatus, EvidencePackPrCommentValidation, EvidencePackPrCommentValidationCheck, EvidencePackReport, EvidencePackTrustCalibration, EvidencePackVerdict, RegressionPlanLevel, RegressionPlanReport, RegressionPlanTarget, RegressionPlanVerdict, QualityScorecardDimension, QualityScorecardReport, QualityScorecardRisk, QualityScorecardStatus, QualityScorecardVerdict, StartAdoptionGap, StartReport, StartRisk, StartWorkflowRecommendation, ReleaseTrainReport, ReleaseTrainTask, ReleaseTrainTrack, WorkplanCoordination, WorkplanHandoffPayload, WorkplanEvidence, WorkplanMode, WorkplanPriority, WorkplanReport, WorkplanTask, WorkplanTopRisk, WorkplanVerification, } from './types.js';
package/dist/index.js CHANGED
@@ -32,14 +32,15 @@ export { computeReview } from './core/review.js';
32
32
  export { buildSemanticGraph } from './core/semanticGraph.js';
33
33
  export { computeDataflow } from './core/dataflow.js';
34
34
  export { computeGraphCorpus } from './core/graphCorpus.js';
35
- export { computeWorkplan } from './core/workplan.js';
35
+ export { buildWorkplanHandoff, computeWorkplan } from './core/workplan.js';
36
36
  export { computeReleaseTrain } from './core/releaseTrain.js';
37
37
  export { computeBugHunt } from './core/bugHunt.js';
38
- export { computeEvidencePack } from './core/releaseEvidence.js';
38
+ export { computeEvidencePack, renderEvidencePackPrComment, validateEvidencePackPrComment } from './core/releaseEvidence.js';
39
39
  export { computeRegressionPlan } from './core/regressionPlan.js';
40
40
  export { computeAgentBrief } from './core/agentBrief.js';
41
41
  export { computeQualityScorecard } from './core/qualityScorecard.js';
42
- export { computeFirstRunDiagnostics, getMcpConfigGuide, getWorkflowRecipes } from './core/adoption.js';
42
+ export { computeStartReport } from './core/start.js';
43
+ export { computeFirstRunDiagnostics, computeMcpSetupDoctor, getGithubActionStarter, getMcpConfigGuide, getPolicyStarterKit, getWorkflowRecipes, isPolicyStarterTeam, writeGithubActionStarter, writePolicyStarterKit, writeTeamStarterKit, } from './core/adoption.js';
43
44
  export { suggestFixForIssue, previewSuggestionForIssue, syntheticIssue, findIssue } from './core/fixSuggest.js';
44
45
  export { explainIssue } from './core/explainIssue.js';
45
46
  export { computeImpact } from './core/impact.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { computeFirstRunDiagnostics, getMcpConfigGuide, getWorkflowRecipes, isMcpClientId, } from '../../core/adoption.js';
1
+ import { computeFirstRunDiagnostics, computeMcpSetupDoctor, getMcpConfigGuide, getWorkflowRecipes, isMcpClientId, } from '../../core/adoption.js';
2
2
  export const adoptionTool = {
3
3
  name: 'projscan_adoption',
4
4
  description: 'Adoption helper for new projscan users and agents. Returns ready-to-paste MCP client configs, workflow recipes, or first-run diagnostics without mutating the repo.',
@@ -7,12 +7,12 @@ export const adoptionTool = {
7
7
  properties: {
8
8
  action: {
9
9
  type: 'string',
10
- enum: ['mcp_config', 'recipes', 'first_run'],
10
+ enum: ['mcp_config', 'recipes', 'first_run', 'mcp_doctor'],
11
11
  description: 'What to return. mcp_config returns client snippets, recipes returns agent workflow recipes, first_run checks setup diagnostics. Default: recipes.',
12
12
  },
13
13
  client: {
14
14
  type: 'string',
15
- description: 'For action=mcp_config: all, claude-desktop, claude-code, cursor, codex, continue, windsurf, cline, zed, or gemini. Default: all.',
15
+ description: 'For action=mcp_config or action=mcp_doctor: all, claude-desktop, claude-code, cursor, codex, continue, windsurf, cline, zed, or gemini. Default: all.',
16
16
  },
17
17
  max_tokens: {
18
18
  type: 'number',
@@ -26,6 +26,10 @@ export const adoptionTool = {
26
26
  const client = isMcpClientId(args.client) ? args.client : 'all';
27
27
  return { config: getMcpConfigGuide(client) };
28
28
  }
29
+ if (action === 'mcp_doctor') {
30
+ const client = isMcpClientId(args.client) ? args.client : 'all';
31
+ return { mcpDoctor: await computeMcpSetupDoctor(rootPath, client) };
32
+ }
29
33
  if (action === 'first_run') {
30
34
  return { firstRun: await computeFirstRunDiagnostics(rootPath) };
31
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adoption.js","sourceRoot":"","sources":["../../../src/mcp/tools/adoption.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAGhC,MAAM,CAAC,MAAM,YAAY,GAAY;IACnC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,qKAAqK;IACvK,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC;gBAC5C,WAAW,EACT,mJAAmJ;aACtJ;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,kIAAkI;aACrI;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+CAA+C;aAC7D;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAChE,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC3C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"adoption.js","sourceRoot":"","sources":["../../../src/mcp/tools/adoption.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAGhC,MAAM,CAAC,MAAM,YAAY,GAAY;IACnC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,qKAAqK;IACvK,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC;gBAC1D,WAAW,EACT,mJAAmJ;aACtJ;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,uJAAuJ;aAC1J;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+CAA+C;aAC7D;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAChE,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAChE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QACtE,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC3C,CAAC;CACF,CAAC"}
@@ -14,6 +14,10 @@ export const evidencePackTool = {
14
14
  type: 'boolean',
15
15
  description: 'Include website-update prompt text in the response.',
16
16
  },
17
+ pr_comment: {
18
+ type: 'boolean',
19
+ description: 'Include a concise GitHub PR comment markdown artifact in the response.',
20
+ },
17
21
  max_findings: {
18
22
  type: 'number',
19
23
  description: 'Maximum bug-hunt findings to include. Default: 10, max: 25.',
@@ -30,6 +34,7 @@ export const evidencePackTool = {
30
34
  ? args.lines.filter((line) => typeof line === 'string')
31
35
  : undefined,
32
36
  includeWebsitePrompt: args.website_prompt === true,
37
+ includePrComment: args.pr_comment === true,
33
38
  maxFindings: typeof args.max_findings === 'number' && Number.isFinite(args.max_findings)
34
39
  ? args.max_findings
35
40
  : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"evidencePack.js","sourceRoot":"","sources":["../../../src/mcp/tools/evidencePack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGpE,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,iGAAiG;IACnG,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,0DAA0D;aACxE;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,qDAAqD;aACnE;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6DAA6D;aAC3E;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+CAA+C;aAC7D;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClC,YAAY,EAAE,MAAM,mBAAmB,CAAC,QAAQ,EAAE;YAChD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;gBACvE,CAAC,CAAC,SAAS;YACb,oBAAoB,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;YAClD,WAAW,EACT,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;gBACzE,CAAC,CAAC,IAAI,CAAC,YAAY;gBACnB,CAAC,CAAC,SAAS;SAChB,CAAC;KACH,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"evidencePack.js","sourceRoot":"","sources":["../../../src/mcp/tools/evidencePack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGpE,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,iGAAiG;IACnG,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,0DAA0D;aACxE;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,qDAAqD;aACnE;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,wEAAwE;aACtF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6DAA6D;aAC3E;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+CAA+C;aAC7D;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClC,YAAY,EAAE,MAAM,mBAAmB,CAAC,QAAQ,EAAE;YAChD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;gBACvE,CAAC,CAAC,SAAS;YACb,oBAAoB,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;YAClD,gBAAgB,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;YAC1C,WAAW,EACT,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;gBACzE,CAAC,CAAC,IAAI,CAAC,YAAY;gBACnB,CAAC,CAAC,SAAS;SAChB,CAAC;KACH,CAAC;CACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { McpTool } from './_shared.js';
2
+ export declare const startTool: McpTool;
@@ -0,0 +1,58 @@
1
+ import { computeStartReport } from '../../core/start.js';
2
+ import { isWorkplanMode } from '../../core/workplan.js';
3
+ const START_MODES = [
4
+ 'before_edit',
5
+ 'before_commit',
6
+ 'before_merge',
7
+ 'refactor',
8
+ 'release',
9
+ 'bug_hunt',
10
+ 'hardening',
11
+ ];
12
+ export const startTool = {
13
+ name: 'projscan_start',
14
+ description: 'First-60-seconds repo orientation for agents and developers. Composes setup diagnostics, workplan, quality scorecard, adoption gaps, top risks, and next commands into one read-only workflow recommendation.',
15
+ inputSchema: {
16
+ type: 'object',
17
+ properties: {
18
+ mode: {
19
+ type: 'string',
20
+ enum: START_MODES,
21
+ description: 'Workflow mode to orient around. Default: before_edit.',
22
+ },
23
+ max_tasks: {
24
+ type: 'number',
25
+ description: 'Maximum workplan tasks to inspect. Default: 5, max: 12.',
26
+ },
27
+ max_risks: {
28
+ type: 'number',
29
+ description: 'Maximum top risks to return. Default: 5, max: 12.',
30
+ },
31
+ include_handoff: {
32
+ type: 'boolean',
33
+ description: 'Include a compact handoff payload for the next agent.',
34
+ },
35
+ max_tokens: {
36
+ type: 'number',
37
+ description: 'Cap the response to roughly this many tokens.',
38
+ },
39
+ },
40
+ },
41
+ handler: async (args, rootPath) => ({
42
+ start: await computeStartReport(rootPath, {
43
+ mode: readMode(args.mode),
44
+ maxTasks: readNumber(args.max_tasks),
45
+ maxRisks: readNumber(args.max_risks),
46
+ includeHandoff: args.include_handoff === true,
47
+ }),
48
+ }),
49
+ };
50
+ function readMode(value) {
51
+ if (typeof value === 'string' && isWorkplanMode(value))
52
+ return value;
53
+ return 'before_edit';
54
+ }
55
+ function readNumber(value) {
56
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
57
+ }
58
+ //# sourceMappingURL=start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/mcp/tools/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIxD,MAAM,WAAW,GAA4B;IAC3C,aAAa;IACb,eAAe;IACf,cAAc;IACd,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAY;IAChC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,+MAA+M;IACjN,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,uDAAuD;aACrE;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yDAAyD;aACvE;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mDAAmD;aACjE;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,uDAAuD;aACrE;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+CAA+C;aAC7D;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,EAAE,MAAM,kBAAkB,CAAC,QAAQ,EAAE;YACxC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YACpC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YACpC,cAAc,EAAE,IAAI,CAAC,eAAe,KAAK,IAAI;SAC9C,CAAC;KACH,CAAC;CACH,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC"}
package/dist/mcp/tools.js CHANGED
@@ -47,6 +47,7 @@ import { regressionPlanTool } from './tools/regressionPlan.js';
47
47
  import { agentBriefTool } from './tools/agentBrief.js';
48
48
  import { qualityScorecardTool } from './tools/qualityScorecard.js';
49
49
  import { adoptionTool } from './tools/adoption.js';
50
+ import { startTool } from './tools/start.js';
50
51
  const tools = [
51
52
  analyzeTool,
52
53
  doctorTool,
@@ -87,6 +88,7 @@ const tools = [
87
88
  agentBriefTool,
88
89
  qualityScorecardTool,
89
90
  adoptionTool,
91
+ startTool,
90
92
  ];
91
93
  export function getToolDefinitions() {
92
94
  return tools.map(({ name, description, inputSchema }) => ({ name, description, inputSchema }));
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}