projscan 3.1.0 → 3.3.0

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 (41) hide show
  1. package/README.md +26 -26
  2. package/dist/cli/commands/recipes.js +6 -0
  3. package/dist/cli/commands/recipes.js.map +1 -1
  4. package/dist/cli/commands/start.js +10 -0
  5. package/dist/cli/commands/start.js.map +1 -1
  6. package/dist/core/adoption.d.ts +2 -1
  7. package/dist/core/adoption.js +10 -2
  8. package/dist/core/adoption.js.map +1 -1
  9. package/dist/core/agentBrief.js +13 -1
  10. package/dist/core/agentBrief.js.map +1 -1
  11. package/dist/core/dogfood.js +64 -0
  12. package/dist/core/dogfood.js.map +1 -1
  13. package/dist/core/evidenceComment.d.ts +3 -0
  14. package/dist/core/evidenceComment.js +233 -0
  15. package/dist/core/evidenceComment.js.map +1 -0
  16. package/dist/core/frameworkSources.js +39 -0
  17. package/dist/core/frameworkSources.js.map +1 -1
  18. package/dist/core/onboarding.d.ts +2 -0
  19. package/dist/core/onboarding.js +51 -0
  20. package/dist/core/onboarding.js.map +1 -0
  21. package/dist/core/pluginDx.js +55 -4
  22. package/dist/core/pluginDx.js.map +1 -1
  23. package/dist/core/releaseEvidence.d.ts +2 -3
  24. package/dist/core/releaseEvidence.js +2 -196
  25. package/dist/core/releaseEvidence.js.map +1 -1
  26. package/dist/core/releaseTrain.js +10 -0
  27. package/dist/core/releaseTrain.js.map +1 -1
  28. package/dist/core/roadmapCatalog.d.ts +5 -0
  29. package/dist/core/roadmapCatalog.js +213 -0
  30. package/dist/core/roadmapCatalog.js.map +1 -0
  31. package/dist/core/sessionResources.js +30 -0
  32. package/dist/core/sessionResources.js.map +1 -1
  33. package/dist/core/start.js +25 -0
  34. package/dist/core/start.js.map +1 -1
  35. package/dist/index.d.ts +1 -1
  36. package/dist/projscan-sbom.cdx.json +6 -6
  37. package/dist/tool-manifest.json +2 -2
  38. package/dist/types.d.ts +45 -0
  39. package/docs/PLUGIN-AUTHORING.md +8 -0
  40. package/docs/PLUGIN-GALLERY.md +2 -2
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dogfood.js","sourceRoot":"","sources":["../../src/core/dogfood.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dogfood.js","sourceRoot":"","sources":["../../src/core/dogfood.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { EvidencePackPrCommentValidation, EvidencePackReport } from '../types.js';
2
+ export declare function renderEvidencePackPrComment(report: EvidencePackReport): string;
3
+ export declare function validateEvidencePackPrComment(markdown: string, report?: EvidencePackReport): EvidencePackPrCommentValidation;
@@ -0,0 +1,233 @@
1
+ export function renderEvidencePackPrComment(report) {
2
+ const blockers = report.approval.blockingReasons.slice(0, 5);
3
+ const commands = dedupeStrings(report.artifacts.flatMap((artifact) => artifact.commands)).slice(0, 8);
4
+ const nextActions = report.suggestedNextActions.slice(0, 5);
5
+ const pr = report.prSummary;
6
+ const blockingReasonLabel = pr?.trust.verdict === 'manual_review' ? 'manual gate' : 'blocker';
7
+ const lines = [
8
+ '## projscan approval evidence',
9
+ '',
10
+ `**Verdict:** ${report.verdict}`,
11
+ `**Version:** ${report.currentVersion ?? 'unknown'}`,
12
+ `**Summary:** ${report.summary}`,
13
+ '',
14
+ '### Verdict',
15
+ `- ${pr?.verdictLabel ?? report.verdict}: ${pr?.decision ?? report.approval.recommendation}`,
16
+ ...(blockers.length > 0 ? blockers.map((reason) => `- ${blockingReasonLabel}: ${reason}`) : ['- blockers: none recorded']),
17
+ '',
18
+ '### Reviewer Decision',
19
+ ...formatReviewerDecision(report),
20
+ '',
21
+ '### Trust Calibration',
22
+ ...(pr?.trust ? formatTrustCalibration(pr.trust) : ['- Trust signals unavailable; run `projscan preflight --mode before_merge --format json`.']),
23
+ '',
24
+ '### Baseline Trend',
25
+ ...(pr?.baselineTrend ? formatBaselineTrend(pr.baselineTrend) : ['- No local baseline found. Run `projscan diff --save-baseline` after the first clean review.']),
26
+ '',
27
+ '### Top Risks',
28
+ ...(pr?.topRisks.length ? pr.topRisks.map(formatPrRisk) : ['- No prioritized risks recorded.']),
29
+ '',
30
+ '### First Fix',
31
+ ...(pr?.fixFirst ? formatFixFirst(pr.fixFirst) : ['- No immediate fix-first target. Preserve the baseline and rerun the verification commands.']),
32
+ '',
33
+ '### Team Routing',
34
+ ...(pr?.teamRoutes.length ? pr.teamRoutes.map(formatTeamRoute) : formatMissingOwnerHint(pr)),
35
+ '',
36
+ '### Verification',
37
+ ...commands.map((command) => `- \`${command}\``),
38
+ '',
39
+ '### Next Commands',
40
+ ...(pr?.nextCommands.length ? pr.nextCommands.map((command) => `- \`${command}\``) : ['- `projscan preflight --mode before_merge --format json`']),
41
+ '',
42
+ '### Suggested Next Actions',
43
+ ...(nextActions.length > 0 ? nextActions.map(formatSuggestedAction) : ['- None recorded.']),
44
+ '',
45
+ '### Developer Feedback',
46
+ ...formatDeveloperFeedback(),
47
+ '',
48
+ `Approval guidance: ${formatApprovalGuidance(report)}`,
49
+ ];
50
+ return `${lines.join('\n')}\n`;
51
+ }
52
+ const REQUIRED_PR_COMMENT_SECTIONS = [
53
+ '## projscan approval evidence',
54
+ '### Verdict',
55
+ '### Reviewer Decision',
56
+ '### Trust Calibration',
57
+ '### Baseline Trend',
58
+ '### Top Risks',
59
+ '### First Fix',
60
+ '### Team Routing',
61
+ '### Verification',
62
+ '### Next Commands',
63
+ '### Suggested Next Actions',
64
+ '### Developer Feedback',
65
+ ];
66
+ const GITHUB_COMMENT_LIMIT = 65_536;
67
+ export function validateEvidencePackPrComment(markdown, report) {
68
+ const missingSections = REQUIRED_PR_COMMENT_SECTIONS.filter((section) => !markdown.includes(section));
69
+ const actionableCommand = hasActionableCommand(markdown, report);
70
+ const renderedSanely = !/undefined|\[object Object\]/.test(markdown);
71
+ const checks = [
72
+ {
73
+ id: 'required-sections',
74
+ status: missingSections.length > 0 ? 'fail' : 'pass',
75
+ summary: missingSections.length > 0
76
+ ? `Missing required PR section(s): ${missingSections.map((section) => section.replace(/^#+\s*/, '')).join(', ')}`
77
+ : 'All required PR sections are present.',
78
+ },
79
+ {
80
+ id: 'github-size',
81
+ status: markdown.length > GITHUB_COMMENT_LIMIT ? 'fail' : 'pass',
82
+ summary: `${markdown.length} character(s), GitHub comment limit ${GITHUB_COMMENT_LIMIT}.`,
83
+ },
84
+ {
85
+ id: 'render-sanity',
86
+ status: renderedSanely ? 'pass' : 'fail',
87
+ summary: renderedSanely
88
+ ? 'Rendered comment has no unresolved placeholder strings.'
89
+ : 'Rendered comment contains an unresolved placeholder or object string.',
90
+ },
91
+ {
92
+ id: 'actionable-commands',
93
+ status: actionableCommand ? 'pass' : 'fail',
94
+ summary: actionableCommand
95
+ ? 'Comment includes at least one exact next command.'
96
+ : 'Comment does not include an exact next command.',
97
+ },
98
+ ];
99
+ const status = checks.some((check) => check.status === 'fail')
100
+ ? 'fail'
101
+ : checks.some((check) => check.status === 'warn')
102
+ ? 'warn'
103
+ : 'pass';
104
+ return { status, checks };
105
+ }
106
+ function hasActionableCommand(markdown, report) {
107
+ if (/`(?:projscan|npm|npx|gh|git)\b/.test(markdown))
108
+ return true;
109
+ return (report?.prSummary?.nextCommands.length ?? 0) > 0;
110
+ }
111
+ function formatApprovalGuidance(report) {
112
+ if (report.verdict === 'blocked' && report.prSummary?.trust.verdict === 'manual_review') {
113
+ return 'Require human release sign-off; no actual-defect blocker is recorded unless reviewers confirm one.';
114
+ }
115
+ return report.approval.recommendation;
116
+ }
117
+ function formatReviewerDecision(report) {
118
+ const trust = report.prSummary?.trust;
119
+ const decision = reviewerDecision(report);
120
+ const firstCommand = report.prSummary?.fixFirst?.commands[0]
121
+ ?? report.prSummary?.nextCommands[0]
122
+ ?? report.suggestedNextActions.find((action) => action.command)?.command
123
+ ?? 'projscan preflight --mode before_merge --format json';
124
+ const routedOwners = report.prSummary?.teamRoutes.map((route) => route.owner) ?? [];
125
+ const ownerState = routedOwners.length > 0 ? routedOwners.join(', ') : 'unassigned';
126
+ const reason = trust?.verdict === 'actual_defect'
127
+ ? 'Concrete blockers are present; fix the first item before approval.'
128
+ : trust?.verdict === 'manual_review'
129
+ ? 'Manual review or release sign-off is required; no concrete blocker is recorded unless listed above.'
130
+ : 'No concrete defect or manual-review signal is recorded; preserve the baseline and run verification.';
131
+ return [
132
+ `- decision: ${decision}`,
133
+ `- reason: ${reason}`,
134
+ `- owner state: ${ownerState}`,
135
+ `- first command: \`${firstCommand}\``,
136
+ ];
137
+ }
138
+ function reviewerDecision(report) {
139
+ const trust = report.prSummary?.trust.verdict;
140
+ if (trust === 'actual_defect' || report.verdict === 'blocked')
141
+ return trust === 'manual_review' ? 'review' : 'fix first';
142
+ if (trust === 'manual_review' || report.verdict === 'caution')
143
+ return trust === 'clean' ? 'ship' : 'review';
144
+ return 'ship';
145
+ }
146
+ function formatTrustCalibration(trust) {
147
+ return [
148
+ `- ${trust.summary}`,
149
+ ...(trust.concreteBlockers.length > 0
150
+ ? [`- actual defects: ${trust.concreteBlockers.join('; ')}`]
151
+ : ['- actual defects: none']),
152
+ ...(trust.manualReviewSignals.length > 0
153
+ ? [`- manual review: ${trust.manualReviewSignals.join('; ')}`]
154
+ : ['- manual review: none']),
155
+ ...(trust.watchSignals.length > 0
156
+ ? [`- watch signals: ${trust.watchSignals.join('; ')}`]
157
+ : ['- watch signals: none']),
158
+ ];
159
+ }
160
+ function formatBaselineTrend(trend) {
161
+ const riskDirection = trend.riskDirection ?? inferRiskDirection(trend.scoreDelta);
162
+ const riskDelta = trend.riskDelta ?? -trend.scoreDelta;
163
+ const changedSinceBaseline = trend.changedSinceBaseline ?? [];
164
+ const qualityBefore = trend.qualityScoreBefore;
165
+ const qualityAfter = trend.qualityScoreAfter;
166
+ const quality = typeof qualityBefore === 'number' && typeof qualityAfter === 'number'
167
+ ? ` (quality ${qualityBefore}->${qualityAfter})`
168
+ : '';
169
+ return [
170
+ `- ${trend.summary}`,
171
+ `- risk from baseline: ${riskDirection}${riskDelta === 0 ? '' : ` ${riskDelta > 0 ? '+' : ''}${riskDelta}`}${quality}`,
172
+ ...(changedSinceBaseline.length > 0 ? [`- changed since baseline: ${changedSinceBaseline.join('; ')}`] : []),
173
+ ...(trend.newHotspots.length > 0 ? [`- new hotspots: ${trend.newHotspots.join(', ')}`] : []),
174
+ ...(trend.recurringNoisyRules.length > 0
175
+ ? [`- recurring noisy rules: ${trend.recurringNoisyRules.map((rule) => `${rule.id} (${rule.before}->${rule.after})`).join(', ')}`]
176
+ : []),
177
+ ];
178
+ }
179
+ function inferRiskDirection(scoreDelta) {
180
+ if (scoreDelta < 0)
181
+ return 'up';
182
+ if (scoreDelta > 0)
183
+ return 'down';
184
+ return 'flat';
185
+ }
186
+ function formatPrRisk(risk) {
187
+ const files = risk.files.length > 0 ? ` files: ${risk.files.join(', ')}` : '';
188
+ const owner = risk.owner ? ` owner: ${risk.owner}` : ' owner: unassigned';
189
+ return `- **${risk.priority}** ${risk.title}${owner}${files} run: \`${risk.command}\``;
190
+ }
191
+ function formatTeamRoute(route) {
192
+ return `- ${route.owner}: ${route.reason}${route.files.length > 0 ? ` (${route.files.join(', ')})` : ''}`;
193
+ }
194
+ function formatMissingOwnerHint(pr) {
195
+ if (pr?.ownershipSuggestion) {
196
+ return [
197
+ `- No owner hints found. Add .github/CODEOWNERS line: \`${pr.ownershipSuggestion}\``,
198
+ '- Replace `@team-name` with the owning team before merging.',
199
+ ];
200
+ }
201
+ return ['- No owner hints found. Add .github/CODEOWNERS or package owner metadata for routing.'];
202
+ }
203
+ function formatFixFirst(fix) {
204
+ return [
205
+ `- **${fix.priority}** ${fix.title}${fix.owner ? ` owner: ${fix.owner}` : ''}`,
206
+ `- why first: ${fix.whyFirst}`,
207
+ ...(fix.files.length > 0 ? [`- files: ${fix.files.join(', ')}`] : []),
208
+ ...fix.commands.slice(0, 4).map((command) => `- run: \`${command}\``),
209
+ ...(fix.expected ? [`- fixed when: ${fix.expected}`] : []),
210
+ ];
211
+ }
212
+ function formatDeveloperFeedback() {
213
+ return [
214
+ '- Was this useful on this PR? Ask the reviewer whether the comment saved 10-20 minutes.',
215
+ '- Minutes saved: `0|5|10|20+`.',
216
+ '- Prevented bad edit or missed review step: `yes|no`.',
217
+ '- Owner routing clear: `yes|no`. Next command clear: `yes|no`.',
218
+ '- False positives or noisy rules: `none|<rule ids>`.',
219
+ '- What was missing or noisy? Capture one missing signal, one noisy rule, or `none` before merge.',
220
+ '- Keep using it every PR: `projscan evidence-pack --pr-comment`, `projscan feedback add --file .projscan-feedback.json --repo <repo> --pr <url> --reviewer <handle> --useful true --minutes-saved 10`, then `projscan dogfood --repo <repo-a> --repo <repo-b> --repo <repo-c> --feedback .projscan-feedback.json --format json`.',
221
+ ];
222
+ }
223
+ function formatSuggestedAction(action) {
224
+ const references = [
225
+ action.command ? `\`${action.command}\`` : undefined,
226
+ action.tool ? `MCP \`${action.tool}\`` : undefined,
227
+ ].filter(Boolean);
228
+ return references.length > 0 ? `- ${action.label}: ${references.join(' / ')}` : `- ${action.label}`;
229
+ }
230
+ function dedupeStrings(values) {
231
+ return [...new Set(values.filter(Boolean))];
232
+ }
233
+ //# sourceMappingURL=evidenceComment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidenceComment.js","sourceRoot":"","sources":["../../src/core/evidenceComment.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,14 @@ const NEXT_ROUTE_SOURCE_BY_CALLEE = new Map([
4
4
  ['text', 'request.text'],
5
5
  ['arrayBuffer', 'request.arrayBuffer'],
6
6
  ]);
7
+ const HONO_REQUEST_SOURCE_BY_MEMBER = new Map([
8
+ ['json', 'hono.req.json'],
9
+ ['parseBody', 'hono.req.parseBody'],
10
+ ['text', 'hono.req.text'],
11
+ ['query', 'hono.req.query'],
12
+ ['param', 'hono.req.param'],
13
+ ['header', 'hono.req.header'],
14
+ ]);
7
15
  const EXPRESS_REQUEST_SOURCE_BY_REFERENCE = new Map([
8
16
  ['body', 'express.req.body'],
9
17
  ['query', 'express.req.query'],
@@ -13,15 +21,21 @@ const EXPRESS_REQUEST_SOURCE_BY_REFERENCE = new Map([
13
21
  ]);
14
22
  const NEXT_ROUTE_HANDLERS = new Set(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS']);
15
23
  const EXPRESS_REQUEST_PARAM_NAMES = new Set(['req', 'request']);
24
+ const HONO_CONTEXT_PARAM_NAMES = new Set(['c', 'ctx', 'context']);
16
25
  const EXPRESS_HANDLER_METHODS = new Set(['all', 'delete', 'get', 'head', 'options', 'patch', 'post', 'put', 'use']);
26
+ const HONO_HANDLER_METHODS = new Set(['all', 'delete', 'get', 'head', 'options', 'patch', 'post', 'put', 'use']);
17
27
  export const FRAMEWORK_REQUEST_SOURCES = [
18
28
  ...NEXT_ROUTE_SOURCE_BY_CALLEE.values(),
29
+ ...HONO_REQUEST_SOURCE_BY_MEMBER.values(),
19
30
  ...EXPRESS_REQUEST_SOURCE_BY_REFERENCE.values(),
20
31
  ];
21
32
  export function frameworkRequestSourceForFunction(file, functionName, memberCallSites, parameters, enabledSources, references = [], contextualCallSite, imports = []) {
22
33
  const nextSource = nextRouteRequestSource(file, functionName, memberCallSites, parameters, enabledSources);
23
34
  if (nextSource)
24
35
  return nextSource;
36
+ const honoSource = honoRequestSource(parameters, memberCallSites, enabledSources, contextualCallSite, imports);
37
+ if (honoSource)
38
+ return honoSource;
25
39
  return expressRequestSource(parameters, references, enabledSources, contextualCallSite, imports);
26
40
  }
27
41
  function nextRouteRequestSource(file, functionName, memberCallSites, parameters, enabledSources) {
@@ -38,6 +52,23 @@ function nextRouteRequestSource(file, functionName, memberCallSites, parameters,
38
52
  }
39
53
  return null;
40
54
  }
55
+ function honoRequestSource(parameters, memberCallSites, enabledSources, contextualCallSite, imports) {
56
+ if (!isHonoFile(imports))
57
+ return null;
58
+ if (!isHonoHandlerCall(contextualCallSite))
59
+ return null;
60
+ const contextParams = parameters.filter((parameter) => HONO_CONTEXT_PARAM_NAMES.has(parameter));
61
+ if (contextParams.length === 0)
62
+ return null;
63
+ const members = new Set(memberCallSites);
64
+ for (const parameter of contextParams) {
65
+ for (const [callee, source] of HONO_REQUEST_SOURCE_BY_MEMBER) {
66
+ if (enabledSources.has(source) && members.has(`${parameter}.req.${callee}`))
67
+ return source;
68
+ }
69
+ }
70
+ return null;
71
+ }
41
72
  function expressRequestSource(parameters, references, enabledSources, contextualCallSite, imports) {
42
73
  if (!isExpressFile(imports))
43
74
  return null;
@@ -55,12 +86,20 @@ function expressRequestSource(parameters, references, enabledSources, contextual
55
86
  function isExpressFile(imports) {
56
87
  return imports.some((imp) => imp.source === 'express');
57
88
  }
89
+ function isHonoFile(imports) {
90
+ return imports.some((imp) => imp.source === 'hono' || imp.source.startsWith('hono/'));
91
+ }
58
92
  function isExpressHandlerCall(contextualCallSite) {
59
93
  if (!contextualCallSite)
60
94
  return false;
61
95
  const method = bareName(contextualCallSite);
62
96
  return EXPRESS_HANDLER_METHODS.has(method);
63
97
  }
98
+ function isHonoHandlerCall(contextualCallSite) {
99
+ if (!contextualCallSite)
100
+ return false;
101
+ return HONO_HANDLER_METHODS.has(bareName(contextualCallSite));
102
+ }
64
103
  function isNextRouteHandler(file, functionName) {
65
104
  if (!NEXT_ROUTE_HANDLERS.has(bareName(functionName)))
66
105
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"frameworkSources.js","sourceRoot":"","sources":["../../src/core/frameworkSources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frameworkSources.js","sourceRoot":"","sources":["../../src/core/frameworkSources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { StartFirstTenMinutes } from '../types.js';
2
+ export declare function buildFirstTenMinutes(): StartFirstTenMinutes;
@@ -0,0 +1,51 @@
1
+ export function buildFirstTenMinutes() {
2
+ return {
3
+ title: 'First 10 minutes with projscan',
4
+ outcome: 'Verify the local trust boundary, orient the workflow, gate the first edit, then produce reviewer-facing PR evidence.',
5
+ commands: [
6
+ {
7
+ id: 'trust-boundary',
8
+ label: 'Verify trust boundary',
9
+ why: 'Shows offline mode, telemetry, ignored-file handling, env scanning, plugin execution, local writes, and network-capable endpoints before broader analysis.',
10
+ command: 'projscan privacy-check --offline',
11
+ },
12
+ {
13
+ id: 'orient',
14
+ label: 'Orient the repo',
15
+ why: 'Combines setup diagnostics, recommended workflow, top risks, adoption gaps, and next commands.',
16
+ command: 'projscan start --mode before_edit',
17
+ },
18
+ {
19
+ id: 'preflight',
20
+ label: 'Gate the first edit',
21
+ why: 'Returns proceed, caution, or block before an agent changes code.',
22
+ command: 'projscan preflight --mode before_edit --format json',
23
+ },
24
+ {
25
+ id: 'mcp-setup',
26
+ label: 'Verify MCP setup',
27
+ why: 'Returns ready-to-paste MCP config for the active coding client.',
28
+ command: 'projscan mcp doctor --client codex --format json',
29
+ },
30
+ {
31
+ id: 'first-pr-evidence',
32
+ label: 'Generate first PR evidence',
33
+ why: 'Creates the reviewer-facing verdict, first fix, owner routing, verification, and feedback prompt.',
34
+ command: 'projscan evidence-pack --pr-comment',
35
+ },
36
+ {
37
+ id: 'feedback-capture',
38
+ label: 'Capture reviewer feedback',
39
+ why: 'Records whether the PR comment saved time, prevented a bad edit, or produced noise.',
40
+ command: 'projscan feedback add --file .projscan-feedback.json --repo <repo> --pr <url> --reviewer <handle> --useful true --minutes-saved 10',
41
+ },
42
+ {
43
+ id: 'adoption-proof',
44
+ label: 'Run adoption proof',
45
+ why: 'Rolls repo coverage and reviewer feedback into measured adoption proof.',
46
+ command: 'projscan dogfood --repo <repo-a> --repo <repo-b> --repo <repo-c> --feedback .projscan-feedback.json --format json',
47
+ },
48
+ ],
49
+ };
50
+ }
51
+ //# sourceMappingURL=onboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/core/onboarding.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,KAAK,EAAE,gCAAgC;QACvC,OAAO,EAAE,sHAAsH;QAC/H,QAAQ,EAAE;YACR;gBACE,EAAE,EAAE,gBAAgB;gBACpB,KAAK,EAAE,uBAAuB;gBAC9B,GAAG,EAAE,4JAA4J;gBACjK,OAAO,EAAE,kCAAkC;aAC5C;YACD;gBACE,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,iBAAiB;gBACxB,GAAG,EAAE,gGAAgG;gBACrG,OAAO,EAAE,mCAAmC;aAC7C;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,qBAAqB;gBAC5B,GAAG,EAAE,kEAAkE;gBACvE,OAAO,EAAE,qDAAqD;aAC/D;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,kBAAkB;gBACzB,GAAG,EAAE,iEAAiE;gBACtE,OAAO,EAAE,kDAAkD;aAC5D;YACD;gBACE,EAAE,EAAE,mBAAmB;gBACvB,KAAK,EAAE,4BAA4B;gBACnC,GAAG,EAAE,mGAAmG;gBACxG,OAAO,EAAE,qCAAqC;aAC/C;YACD;gBACE,EAAE,EAAE,kBAAkB;gBACtB,KAAK,EAAE,2BAA2B;gBAClC,GAAG,EAAE,qFAAqF;gBAC1F,OAAO,EAAE,oIAAoI;aAC9I;YACD;gBACE,EAAE,EAAE,gBAAgB;gBACpB,KAAK,EAAE,oBAAoB;gBAC3B,GAAG,EAAE,yEAAyE;gBAC9E,OAAO,EAAE,mHAAmH;aAC7H;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -46,9 +46,10 @@ export async function testPlugin(manifestPath, options = {}) {
46
46
  message: `plugin module failed to load: ${err instanceof Error ? err.message : String(err)}`,
47
47
  });
48
48
  }
49
+ const guidance = await buildPluginTestGuidance(resolvedManifestPath, modulePath);
49
50
  return manifest.kind === 'analyzer'
50
- ? testAnalyzerPlugin(resolvedManifestPath, manifest, exportsObj, options)
51
- : testReporterPlugin(resolvedManifestPath, manifest, exportsObj, options);
51
+ ? testAnalyzerPlugin(resolvedManifestPath, manifest, exportsObj, options, guidance)
52
+ : testReporterPlugin(resolvedManifestPath, manifest, exportsObj, options, guidance);
52
53
  }
53
54
  function analyzerManifest(name, modulePath) {
54
55
  return {
@@ -114,7 +115,7 @@ function reporterTemplate(name) {
114
115
  };
115
116
  `;
116
117
  }
117
- async function testAnalyzerPlugin(manifestPath, manifest, exportsObj, options) {
118
+ async function testAnalyzerPlugin(manifestPath, manifest, exportsObj, options, guidance) {
118
119
  if (typeof exportsObj.check !== 'function') {
119
120
  return failResult(manifestPath, {
120
121
  code: 'invalid-analyzer-export',
@@ -156,10 +157,11 @@ async function testAnalyzerPlugin(manifestPath, manifest, exportsObj, options) {
156
157
  manifestPath,
157
158
  ok: true,
158
159
  diagnostics: [],
160
+ ...guidance,
159
161
  analyzer: { issues },
160
162
  };
161
163
  }
162
- async function testReporterPlugin(manifestPath, manifest, exportsObj, options) {
164
+ async function testReporterPlugin(manifestPath, manifest, exportsObj, options, guidance) {
163
165
  if (typeof exportsObj.render !== 'function') {
164
166
  return failResult(manifestPath, {
165
167
  code: 'invalid-reporter-export',
@@ -201,6 +203,7 @@ async function testReporterPlugin(manifestPath, manifest, exportsObj, options) {
201
203
  manifestPath,
202
204
  ok: true,
203
205
  diagnostics: [],
206
+ ...guidance,
204
207
  reporter: { outputs },
205
208
  };
206
209
  }
@@ -215,12 +218,60 @@ function sampleReporterPayload(command) {
215
218
  return { health: { score: 100, grade: 'A', errors: 0, warnings: 0, infos: 0 }, issues: [] };
216
219
  }
217
220
  }
221
+ async function buildPluginTestGuidance(manifestPath, modulePath) {
222
+ const source = modulePath ? await fs.readFile(modulePath, 'utf-8').catch(() => '') : '';
223
+ const capabilities = [];
224
+ if (/getSemanticGraph\s*\(/.test(source))
225
+ capabilities.push('semanticGraph');
226
+ if (/getDataflow\s*\(/.test(source))
227
+ capabilities.push('dataflow');
228
+ const requested = capabilities.length > 0 || /check\s*[:=]?\s*(?:async\s*)?\([^)]*context/.test(source);
229
+ return {
230
+ trust: {
231
+ localOnly: true,
232
+ previewFlag: 'PROJSCAN_PLUGINS_PREVIEW=1',
233
+ reminder: 'Local plugins execute code from this repository. Only enable plugins you trust.',
234
+ },
235
+ commands: {
236
+ validate: `projscan plugin validate ${manifestPath}`,
237
+ test: `projscan plugin test ${manifestPath} --format json`,
238
+ enable: `PROJSCAN_PLUGINS_PREVIEW=1 projscan doctor`,
239
+ },
240
+ context: {
241
+ requested,
242
+ capabilities,
243
+ note: requested
244
+ ? 'This analyzer appears to request optional graph/dataflow context; test it before enabling preview execution.'
245
+ : 'No optional graph/dataflow analyzer context request was detected.',
246
+ },
247
+ };
248
+ }
218
249
  function failResult(manifestPath, diagnostic) {
219
250
  return {
220
251
  schemaVersion: 1,
221
252
  manifestPath,
222
253
  ok: false,
223
254
  diagnostics: [diagnostic],
255
+ ...defaultPluginTestGuidance(manifestPath),
256
+ };
257
+ }
258
+ function defaultPluginTestGuidance(manifestPath) {
259
+ return {
260
+ trust: {
261
+ localOnly: true,
262
+ previewFlag: 'PROJSCAN_PLUGINS_PREVIEW=1',
263
+ reminder: 'Local plugins execute code from this repository. Only enable plugins you trust.',
264
+ },
265
+ commands: {
266
+ validate: `projscan plugin validate ${manifestPath}`,
267
+ test: `projscan plugin test ${manifestPath} --format json`,
268
+ enable: 'PROJSCAN_PLUGINS_PREVIEW=1 projscan doctor',
269
+ },
270
+ context: {
271
+ requested: false,
272
+ capabilities: [],
273
+ note: 'Plugin context capabilities were not inspected because validation failed before module testing.',
274
+ },
224
275
  };
225
276
  }
226
277
  async function assertDoesNotExist(filePath) {