paqad-ai
Version:
Spec-driven development framework — AI agents that think before they type
97 lines (95 loc) • 3.19 kB
JavaScript
import { createRequire as __paqadCreateRequire } from 'module'; const require = __paqadCreateRequire(import.meta.url);
import {
buildPluginHookChain,
mergeNativeHooks,
renderClaudePluginStageAgents
} from "../chunk-KXN6TRQP.js";
import "../chunk-73AIVIC6.js";
import "../chunk-BKNKG26S.js";
import "../chunk-AK3HYELM.js";
import "../chunk-THDANA7U.js";
import "../chunk-LYNDVGNE.js";
import "../chunk-RJMJYPHL.js";
import "../chunk-NCYDV2N5.js";
import "../chunk-D6VEUSB6.js";
import "../chunk-NJE7NS7E.js";
import "../chunk-ACJQW7SB.js";
import "../chunk-YA6SCYMC.js";
import "../chunk-Z3NGWHFX.js";
import "../chunk-YWAORJG6.js";
import "../chunk-Q353EDKY.js";
import "../chunk-AZLA53A6.js";
import "../chunk-IHMBVS6H.js";
import {
init_esm_shims
} from "../chunk-IDFRWBMN.js";
// src/plugin/manifest-build.ts
init_esm_shims();
var PLUGIN_MOD_MODULES = ["./mod/register.tsx"];
var PLUGIN_MOD_TYPES = "./runtime/claude-plugin/mod/types/index.d.ts";
var PLUGIN_ICON = "./assets/icon.png";
function buildPluginHooksConfig() {
return { ...mergeNativeHooks({}, buildPluginHookChain()), modules: [...PLUGIN_MOD_MODULES] };
}
function serializePluginHooksJson() {
return `${JSON.stringify(buildPluginHooksConfig(), null, 2)}
`;
}
function pluginAgentPaths() {
return renderClaudePluginStageAgents().map(
(agent) => `./runtime/claude-plugin/agents/${agent.name}`
);
}
function buildPluginManifest(packageVersion) {
return {
name: "paqad",
displayName: "paqad",
description: "Your team's rules, enforced at edit time, with evidence for every change.",
version: packageVersion,
author: { name: "Eliyce", email: "hello@eliyce.com", url: "https://eliyce.com" },
homepage: "https://paqad.ai",
repository: "https://github.com/Eliyce/paqad-claude-plugin",
license: "MIT",
keywords: ["governance", "code-review", "evidence", "rules", "quality-gates", "compliance"],
icon: PLUGIN_ICON,
documentationUrl: "https://paqad.ai/docs/",
supportUrl: "https://paqad.ai/support/",
privacyPolicyUrl: "https://paqad.ai/privacy/",
termsOfServiceUrl: "https://paqad.ai/terms/",
hooks: "./runtime/claude-plugin/hooks.json",
agents: pluginAgentPaths(),
skills: "./runtime/claude-plugin/skills",
types: PLUGIN_MOD_TYPES,
userConfig: {
openai_api_key: {
type: "string",
title: "OpenAI API key",
description: "Only needed if you set rag_embedding_provider=openai. Stored in your system credential store.",
sensitive: true,
required: false
},
cohere_api_key: {
type: "string",
title: "Cohere API key",
description: "Only needed if you turn on reranking with the cohere backend. Stored in your system credential store.",
sensitive: true,
required: false
}
}
};
}
function serializePluginManifest(packageVersion) {
return `${JSON.stringify(buildPluginManifest(packageVersion), null, 2)}
`;
}
export {
PLUGIN_ICON,
PLUGIN_MOD_MODULES,
PLUGIN_MOD_TYPES,
buildPluginHooksConfig,
buildPluginManifest,
pluginAgentPaths,
renderClaudePluginStageAgents,
serializePluginHooksJson,
serializePluginManifest
};