@orchid-labs/pluxx 0.1.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 (119) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +574 -0
  3. package/bin/pluxx.js +37 -0
  4. package/dist/cli/agent.d.ts +90 -0
  5. package/dist/cli/agent.d.ts.map +1 -0
  6. package/dist/cli/dev.d.ts +2 -0
  7. package/dist/cli/dev.d.ts.map +1 -0
  8. package/dist/cli/doctor.d.ts +19 -0
  9. package/dist/cli/doctor.d.ts.map +1 -0
  10. package/dist/cli/index.d.ts +24 -0
  11. package/dist/cli/index.d.ts.map +1 -0
  12. package/dist/cli/init-from-mcp.d.ts +145 -0
  13. package/dist/cli/init-from-mcp.d.ts.map +1 -0
  14. package/dist/cli/install.d.ts +56 -0
  15. package/dist/cli/install.d.ts.map +1 -0
  16. package/dist/cli/lint.d.ts +18 -0
  17. package/dist/cli/lint.d.ts.map +1 -0
  18. package/dist/cli/migrate.d.ts +2 -0
  19. package/dist/cli/migrate.d.ts.map +1 -0
  20. package/dist/cli/prompt.d.ts +20 -0
  21. package/dist/cli/prompt.d.ts.map +1 -0
  22. package/dist/cli/publish.d.ts +70 -0
  23. package/dist/cli/publish.d.ts.map +1 -0
  24. package/dist/cli/runtime.d.ts +20 -0
  25. package/dist/cli/runtime.d.ts.map +1 -0
  26. package/dist/cli/sync-from-mcp.d.ts +32 -0
  27. package/dist/cli/sync-from-mcp.d.ts.map +1 -0
  28. package/dist/cli/test.d.ts +33 -0
  29. package/dist/cli/test.d.ts.map +1 -0
  30. package/dist/compatibility/matrix.d.ts +14 -0
  31. package/dist/compatibility/matrix.d.ts.map +1 -0
  32. package/dist/config/define.d.ts +18 -0
  33. package/dist/config/define.d.ts.map +1 -0
  34. package/dist/config/load.d.ts +7 -0
  35. package/dist/config/load.d.ts.map +1 -0
  36. package/dist/generators/amp/index.d.ts +13 -0
  37. package/dist/generators/amp/index.d.ts.map +1 -0
  38. package/dist/generators/base.d.ts +49 -0
  39. package/dist/generators/base.d.ts.map +1 -0
  40. package/dist/generators/claude-code/index.d.ts +7 -0
  41. package/dist/generators/claude-code/index.d.ts.map +1 -0
  42. package/dist/generators/cline/index.d.ts +14 -0
  43. package/dist/generators/cline/index.d.ts.map +1 -0
  44. package/dist/generators/codex/index.d.ts +9 -0
  45. package/dist/generators/codex/index.d.ts.map +1 -0
  46. package/dist/generators/cursor/index.d.ts +11 -0
  47. package/dist/generators/cursor/index.d.ts.map +1 -0
  48. package/dist/generators/gemini-cli/index.d.ts +13 -0
  49. package/dist/generators/gemini-cli/index.d.ts.map +1 -0
  50. package/dist/generators/github-copilot/index.d.ts +11 -0
  51. package/dist/generators/github-copilot/index.d.ts.map +1 -0
  52. package/dist/generators/hooks-warning.d.ts +3 -0
  53. package/dist/generators/hooks-warning.d.ts.map +1 -0
  54. package/dist/generators/index.d.ts +11 -0
  55. package/dist/generators/index.d.ts.map +1 -0
  56. package/dist/generators/opencode/index.d.ts +15 -0
  57. package/dist/generators/opencode/index.d.ts.map +1 -0
  58. package/dist/generators/openhands/index.d.ts +11 -0
  59. package/dist/generators/openhands/index.d.ts.map +1 -0
  60. package/dist/generators/roo-code/index.d.ts +14 -0
  61. package/dist/generators/roo-code/index.d.ts.map +1 -0
  62. package/dist/generators/shared/claude-family.d.ts +18 -0
  63. package/dist/generators/shared/claude-family.d.ts.map +1 -0
  64. package/dist/generators/warp/index.d.ts +13 -0
  65. package/dist/generators/warp/index.d.ts.map +1 -0
  66. package/dist/hook-events.d.ts +4 -0
  67. package/dist/hook-events.d.ts.map +1 -0
  68. package/dist/index.d.ts +7 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.js +5302 -0
  71. package/dist/mcp/introspect.d.ts +34 -0
  72. package/dist/mcp/introspect.d.ts.map +1 -0
  73. package/dist/permissions.d.ts +18 -0
  74. package/dist/permissions.d.ts.map +1 -0
  75. package/dist/schema.d.ts +9457 -0
  76. package/dist/schema.d.ts.map +1 -0
  77. package/dist/user-config.d.ts +19 -0
  78. package/dist/user-config.d.ts.map +1 -0
  79. package/dist/validation/platform-rules.d.ts +64 -0
  80. package/dist/validation/platform-rules.d.ts.map +1 -0
  81. package/package.json +76 -0
  82. package/src/cli/agent.ts +1030 -0
  83. package/src/cli/dev.ts +112 -0
  84. package/src/cli/doctor.ts +588 -0
  85. package/src/cli/index.ts +2414 -0
  86. package/src/cli/init-from-mcp.ts +1611 -0
  87. package/src/cli/install.ts +698 -0
  88. package/src/cli/lint.ts +1219 -0
  89. package/src/cli/migrate.ts +614 -0
  90. package/src/cli/prompt.ts +82 -0
  91. package/src/cli/publish.ts +401 -0
  92. package/src/cli/runtime.ts +86 -0
  93. package/src/cli/sync-from-mcp.ts +563 -0
  94. package/src/cli/test.ts +134 -0
  95. package/src/compatibility/matrix.ts +149 -0
  96. package/src/config/define.ts +20 -0
  97. package/src/config/load.ts +74 -0
  98. package/src/generators/amp/index.ts +63 -0
  99. package/src/generators/base.ts +188 -0
  100. package/src/generators/claude-code/index.ts +29 -0
  101. package/src/generators/cline/index.ts +35 -0
  102. package/src/generators/codex/index.ts +120 -0
  103. package/src/generators/cursor/index.ts +158 -0
  104. package/src/generators/gemini-cli/index.ts +83 -0
  105. package/src/generators/github-copilot/index.ts +32 -0
  106. package/src/generators/hooks-warning.ts +51 -0
  107. package/src/generators/index.ts +71 -0
  108. package/src/generators/opencode/index.ts +526 -0
  109. package/src/generators/openhands/index.ts +32 -0
  110. package/src/generators/roo-code/index.ts +35 -0
  111. package/src/generators/shared/claude-family.ts +215 -0
  112. package/src/generators/warp/index.ts +32 -0
  113. package/src/hook-events.ts +33 -0
  114. package/src/index.ts +23 -0
  115. package/src/mcp/introspect.ts +834 -0
  116. package/src/permissions.ts +258 -0
  117. package/src/schema.ts +312 -0
  118. package/src/user-config.ts +177 -0
  119. package/src/validation/platform-rules.ts +565 -0
@@ -0,0 +1,18 @@
1
+ import { type PluginConfig } from '../schema';
2
+ /**
3
+ * Define a plugin configuration with full type checking and validation.
4
+ *
5
+ * Usage in pluxx.config.ts:
6
+ * ```ts
7
+ * import { definePlugin } from 'pluxx'
8
+ *
9
+ * export default definePlugin({
10
+ * name: 'my-plugin',
11
+ * description: 'My awesome plugin',
12
+ * author: { name: 'Me' },
13
+ * // ...
14
+ * })
15
+ * ```
16
+ */
17
+ export declare function definePlugin(config: PluginConfig): PluginConfig;
18
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/config/define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,WAAW,CAAA;AAEjE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAE/D"}
@@ -0,0 +1,7 @@
1
+ import { type PluginConfig } from '../schema';
2
+ export declare const CONFIG_FILES: string[];
3
+ /**
4
+ * Load and validate a pluxx config from the given directory.
5
+ */
6
+ export declare function loadConfig(dir?: string): Promise<PluginConfig>;
7
+ //# sourceMappingURL=load.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AAEjE,eAAO,MAAM,YAAY,UAIxB,CAAA;AAuCD;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqBnF"}
@@ -0,0 +1,13 @@
1
+ import { Generator } from '../base';
2
+ import type { TargetPlatform } from '../../schema';
3
+ /**
4
+ * Amp uses AGENT.md for instructions, .amp/settings.json for hooks,
5
+ * MCP config, and skills/ for skills. No plugin manifest.
6
+ */
7
+ export declare class AmpGenerator extends Generator {
8
+ readonly platform: TargetPlatform;
9
+ generate(): Promise<void>;
10
+ private generateAgentMd;
11
+ private generateSettings;
12
+ }
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/amp/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD;;;GAGG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAQ;IAEnC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAWjB,eAAe;YAkBf,gBAAgB;CAqB/B"}
@@ -0,0 +1,49 @@
1
+ import type { PluginConfig, TargetPlatform, McpServer } from '../schema';
2
+ type McpRemoteServer = Exclude<McpServer, {
3
+ transport: 'stdio';
4
+ }>;
5
+ interface McpConfigOptions {
6
+ includeDefaultAuthHeaders?: boolean;
7
+ transformRemoteEntry?: (context: {
8
+ name: string;
9
+ server: McpRemoteServer;
10
+ entry: Record<string, unknown>;
11
+ }) => Record<string, unknown>;
12
+ }
13
+ export declare abstract class Generator {
14
+ protected config: PluginConfig;
15
+ protected rootDir: string;
16
+ abstract readonly platform: TargetPlatform;
17
+ constructor(config: PluginConfig, rootDir: string);
18
+ /** The output directory for this platform */
19
+ get outDir(): string;
20
+ /** Generate all platform-specific files */
21
+ abstract generate(): Promise<void>;
22
+ /** Write a file to the output directory */
23
+ protected writeFile(relativePath: string, content: string): Promise<void>;
24
+ /** Write JSON to the output directory */
25
+ protected writeJson(relativePath: string, data: unknown): Promise<void>;
26
+ /** Copy a directory from source to output */
27
+ protected copyDir(srcRelative: string, destRelative: string, configKey: string): void;
28
+ /** Resolve a user-configured path and ensure it stays within the project root. */
29
+ protected resolveConfigPath(configPath: string, configKey: string): string;
30
+ /** Copy skills directory, applying any platform-specific frontmatter */
31
+ protected copySkills(): void;
32
+ /** Copy commands directory if it exists */
33
+ protected copyCommands(): void;
34
+ /** Copy agents directory if it exists */
35
+ protected copyAgents(): void;
36
+ /** Copy scripts directory if it exists */
37
+ protected copyScripts(): void;
38
+ /** Copy assets directory if it exists */
39
+ protected copyAssets(): void;
40
+ /** Build canonical MCP server configs for target-specific output shaping. */
41
+ protected buildMcpServers(options?: McpConfigOptions): Record<string, unknown> | undefined;
42
+ protected getMcpAuthMode(): 'inline' | 'platform';
43
+ /** Generate MCP config JSON in the common `{ mcpServers }` shape. */
44
+ protected generateMcpConfig(relativePath: string, options?: McpConfigOptions): Promise<void>;
45
+ private getMcpAuthHeaders;
46
+ private getEnvVarReference;
47
+ }
48
+ export {};
49
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/generators/base.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAExE,KAAK,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AAEjE,UAAU,gBAAgB;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC/B,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,eAAe,CAAA;QACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC/B,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,8BAAsB,SAAS;IAI3B,SAAS,CAAC,MAAM,EAAE,YAAY;IAC9B,SAAS,CAAC,OAAO,EAAE,MAAM;IAJ3B,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;gBAG9B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM;IAG3B,6CAA6C;IAC7C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC,2CAA2C;cAC3B,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/E,yCAAyC;cACzB,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E,6CAA6C;IAC7C,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAQrF,kFAAkF;IAClF,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAW1E,wEAAwE;IACxE,SAAS,CAAC,UAAU,IAAI,IAAI;IAI5B,2CAA2C;IAC3C,SAAS,CAAC,YAAY,IAAI,IAAI;IAM9B,yCAAyC;IACzC,SAAS,CAAC,UAAU,IAAI,IAAI;IAM5B,0CAA0C;IAC1C,SAAS,CAAC,WAAW,IAAI,IAAI;IAM7B,yCAAyC;IACzC,SAAS,CAAC,UAAU,IAAI,IAAI;IAM5B,6EAA6E;IAC7E,SAAS,CAAC,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IA2C9F,SAAS,CAAC,cAAc,IAAI,QAAQ,GAAG,UAAU;IAYjD,qEAAqE;cACrD,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtG,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,kBAAkB;CAG3B"}
@@ -0,0 +1,7 @@
1
+ import { Generator } from '../base';
2
+ import type { TargetPlatform } from '../../schema';
3
+ export declare class ClaudeCodeGenerator extends Generator {
4
+ readonly platform: TargetPlatform;
5
+ generate(): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/claude-code/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAgB;IAE3C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBhC"}
@@ -0,0 +1,14 @@
1
+ import { Generator } from '../base';
2
+ import type { TargetPlatform } from '../../schema';
3
+ /**
4
+ * Cline uses .clinerules for instructions, .cline/mcp.json for MCP config,
5
+ * and .cline/skills/ for skills. No plugin manifest.
6
+ */
7
+ export declare class ClineGenerator extends Generator {
8
+ readonly platform: TargetPlatform;
9
+ generate(): Promise<void>;
10
+ private generateRules;
11
+ /** Copy skills into .cline/skills/ instead of the default skills/ */
12
+ private copyClineSkills;
13
+ }
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/cline/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAU;IAErC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAUjB,aAAa;IAS3B,qEAAqE;IACrE,OAAO,CAAC,eAAe;CAGxB"}
@@ -0,0 +1,9 @@
1
+ import { Generator } from '../base';
2
+ import type { TargetPlatform } from '../../schema';
3
+ export declare class CodexGenerator extends Generator {
4
+ readonly platform: TargetPlatform;
5
+ generate(): Promise<void>;
6
+ private generateManifest;
7
+ private generateAgentsMd;
8
+ }
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/codex/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,qBAAa,cAAe,SAAQ,SAAS;IAC3C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAU;IAErC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YA+CjB,gBAAgB;YAyDhB,gBAAgB;CAQ/B"}
@@ -0,0 +1,11 @@
1
+ import { Generator } from '../base';
2
+ import type { TargetPlatform } from '../../schema';
3
+ export declare class CursorGenerator extends Generator {
4
+ readonly platform: TargetPlatform;
5
+ generate(): Promise<void>;
6
+ private generateManifest;
7
+ private generateHooks;
8
+ private generateRules;
9
+ private generateAgentsMd;
10
+ }
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/cursor/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAGlD,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAW;IAEtC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAgBjB,gBAAgB;YAwBhB,aAAa;YAmEb,aAAa;YAkCb,gBAAgB;CAQ/B"}
@@ -0,0 +1,13 @@
1
+ import { Generator } from '../base';
2
+ import type { TargetPlatform } from '../../schema';
3
+ /**
4
+ * Gemini CLI uses gemini-extension.json for the plugin manifest,
5
+ * GEMINI.md for instructions, and mcpServers in the same format as Claude Code.
6
+ */
7
+ export declare class GeminiCliGenerator extends Generator {
8
+ readonly platform: TargetPlatform;
9
+ generate(): Promise<void>;
10
+ private generateManifest;
11
+ private generateInstructions;
12
+ }
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/gemini-cli/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAe;IAE1C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAWjB,gBAAgB;YA0ChB,oBAAoB;CAiBnC"}
@@ -0,0 +1,11 @@
1
+ import { Generator } from '../base';
2
+ import type { TargetPlatform } from '../../schema';
3
+ /**
4
+ * GitHub Copilot CLI uses the same plugin manifest format as Claude Code.
5
+ * Discovery dirs: .github/skills/, .claude/skills/, .agents/skills/
6
+ */
7
+ export declare class GitHubCopilotGenerator extends Generator {
8
+ readonly platform: TargetPlatform;
9
+ generate(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/github-copilot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAmB;IAE9C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAoBhC"}
@@ -0,0 +1,3 @@
1
+ import type { HookEntry, TargetPlatform } from '../schema';
2
+ export declare function warnDroppedHookFields(platform: TargetPlatform, event: string, entries: HookEntry[]): void;
3
+ //# sourceMappingURL=hooks-warning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-warning.d.ts","sourceRoot":"","sources":["../../src/generators/hooks-warning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAiB1D,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,SAAS,EAAE,GACnB,IAAI,CA6BN"}
@@ -0,0 +1,11 @@
1
+ import type { PluginConfig, TargetPlatform } from '../schema';
2
+ import { Generator } from './base';
3
+ export interface BuildOptions {
4
+ /** Override targets from config */
5
+ targets?: TargetPlatform[];
6
+ /** Clean output directory before building */
7
+ clean?: boolean;
8
+ }
9
+ export declare function build(config: PluginConfig, rootDir: string, options?: BuildOptions): Promise<void>;
10
+ export { Generator };
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AA2BlC,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAsB,KAAK,CACzB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { Generator } from '../base';
2
+ import type { TargetPlatform } from '../../schema';
3
+ export declare class OpenCodeGenerator extends Generator {
4
+ readonly platform: TargetPlatform;
5
+ generate(): Promise<void>;
6
+ private generatePackageJson;
7
+ private generatePluginWrapper;
8
+ private getRequiredEnvVars;
9
+ private getOpenCodeMcpDefinitions;
10
+ private getOpenCodeCommandDefinitions;
11
+ private getInstructionsContent;
12
+ private getOpenCodeHookPlan;
13
+ private walkFiles;
14
+ }
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/opencode/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAa,cAAc,EAAE,MAAM,cAAc,CAAA;AAwC7D,qBAAa,iBAAkB,SAAQ,SAAS;IAC9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAa;IAExC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAYjB,mBAAmB;YAwBnB,qBAAqB;IA0PnC,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,yBAAyB;IAqBjC,OAAO,CAAC,6BAA6B;IA0BrC,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,mBAAmB;IA+D3B,OAAO,CAAC,SAAS;CAgBlB"}
@@ -0,0 +1,11 @@
1
+ import { Generator } from '../base';
2
+ import type { TargetPlatform } from '../../schema';
3
+ /**
4
+ * OpenHands uses .plugin/plugin.json (Claude Code-compatible format).
5
+ * Discovery dirs: .openhands/skills/, .claude/skills/, .agents/skills/
6
+ */
7
+ export declare class OpenHandsGenerator extends Generator {
8
+ readonly platform: TargetPlatform;
9
+ generate(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/openhands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAc;IAEzC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAoBhC"}
@@ -0,0 +1,14 @@
1
+ import { Generator } from '../base';
2
+ import type { TargetPlatform } from '../../schema';
3
+ /**
4
+ * Roo Code uses .roo/mcp.json for MCP config, .roorules for instructions,
5
+ * and .roo/skills/ for skills. No plugin manifest.
6
+ */
7
+ export declare class RooCodeGenerator extends Generator {
8
+ readonly platform: TargetPlatform;
9
+ generate(): Promise<void>;
10
+ private generateRules;
11
+ /** Copy skills into .roo/skills/ instead of the default skills/ */
12
+ private copyRooSkills;
13
+ }
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/roo-code/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAa;IAExC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAUjB,aAAa;IAS3B,mEAAmE;IACnE,OAAO,CAAC,aAAa;CAGtB"}
@@ -0,0 +1,18 @@
1
+ import type { PluginConfig, TargetPlatform } from '../../schema';
2
+ export interface ClaudeFamilyOptions {
3
+ manifestPath: string;
4
+ instructionsFile: string;
5
+ pluginRootVar: string;
6
+ titleSuffix?: string;
7
+ mapEventName?: (event: string) => string;
8
+ includeStandardHooksManifest?: boolean;
9
+ }
10
+ export declare function generateClaudeFamilyOutputs(args: {
11
+ config: PluginConfig;
12
+ rootDir: string;
13
+ platform: TargetPlatform;
14
+ options: ClaudeFamilyOptions;
15
+ writeJson: (relativePath: string, data: unknown) => Promise<void>;
16
+ writeFile: (relativePath: string, content: string) => Promise<void>;
17
+ }): Promise<void>;
18
+ //# sourceMappingURL=claude-family.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-family.d.ts","sourceRoot":"","sources":["../../../src/generators/shared/claude-family.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAIhE,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACxC,4BAA4B,CAAC,EAAE,OAAO,CAAA;CACvC;AAED,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjE,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhB"}
@@ -0,0 +1,13 @@
1
+ import { Generator } from '../base';
2
+ import type { TargetPlatform } from '../../schema';
3
+ /**
4
+ * Warp reads skills from .agents/skills/ and .warp/skills/.
5
+ * Uses AGENTS.md for instructions. MCP via config.
6
+ * No formal plugin manifest — generates skills + AGENTS.md + MCP config.
7
+ */
8
+ export declare class WarpGenerator extends Generator {
9
+ readonly platform: TargetPlatform;
10
+ generate(): Promise<void>;
11
+ private generateAgentsMd;
12
+ }
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/warp/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAS;IAEpC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAUjB,gBAAgB;CAS/B"}
@@ -0,0 +1,4 @@
1
+ export declare const CURSOR_SUPPORTED_HOOK_EVENTS: readonly ["sessionStart", "sessionEnd", "preToolUse", "postToolUse", "postToolUseFailure", "subagentStart", "subagentStop", "beforeShellExecution", "afterShellExecution", "beforeMCPExecution", "afterMCPExecution", "beforeReadFile", "afterFileEdit", "beforeSubmitPrompt", "preCompact", "stop", "afterAgentResponse", "afterAgentThought", "beforeTabFileRead", "afterTabFileEdit"];
2
+ export declare const CURSOR_LOOP_LIMIT_HOOK_EVENTS: readonly ["stop", "subagentStop"];
3
+ export declare function mapHookEventToPascalCase(event: string): string;
4
+ //# sourceMappingURL=hook-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-events.d.ts","sourceRoot":"","sources":["../src/hook-events.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,0XAqB/B,CAAA;AAEV,eAAO,MAAM,6BAA6B,mCAAoC,CAAA;AAM9E,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG9D"}
@@ -0,0 +1,7 @@
1
+ export { PluginConfigSchema, type PluginConfig, type TargetPlatform, type UserConfigEntry, type PermissionRule, type Permissions, } from './schema';
2
+ export { definePlugin } from './config/define';
3
+ export { PLATFORM_LIMITS, PLATFORM_VALIDATION_RULES, getPlatformRules, type PlatformLimits, type PlatformRules, type PlatformRuleSource } from './validation/platform-rules';
4
+ export { getPlatformCompatibilityMatrix, renderCompatibilityMatrixMarkdown, type PlatformCompatibilityRow } from './compatibility/matrix';
5
+ export { buildGeneratedPermissionHookScript, buildOpenCodePermissionMap, collectPermissionRules, parsePermissionRule, permissionRulesNeedToolLevelDowngrade, type OpenCodePermissionMap, type ParsedPermissionRule, type PermissionAction, type PermissionRuleKind, } from './permissions';
6
+ export { formatPublishPlan, planPublish, runPublish, type PublishAssetPlan, type PublishCheck, type PublishPlan, type PublishPlanOptions, type PublishRunResult } from './cli/publish';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAC5K,OAAO,EAAE,8BAA8B,EAAE,iCAAiC,EAAE,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACzI,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,qCAAqC,EACrC,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA"}