Plugin Examples
This page provides minimal P!npoint plugin implementation examples.
Diff Analyzer
export default {
analyzeDiff(context) {
if (!context.summary.changed_files) return [];
return [
{
severity: "info",
title: "Diff inspected",
message: `${context.summary.changed_files} file(s) changed.`,
},
];
},
};
Required manifest values:
extension_points:["diffAnalyzer"]permissions:["diff:read"]
Command Provider
export default {
getCommands(context) {
return [
{
id: "project-summary",
title: "Project summary",
category: "Plugin",
async run() {
return {
level: "info",
message: "Project inspected.",
};
},
},
];
},
};
Required manifest values:
extension_points:["commandProvider"]permissions:["command:contribute"]
Workspace Panel
export default {
getPanelHtml(context) {
return `
<section>
<h1>Plugin panel</h1>
<p>This HTML is rendered in a sandboxed iframe.</p>
</section>
`;
},
};
Required manifest values:
extension_points:["workspacePanel"]permissions:["panel:render"]