@agentplugins/cli 0.1.0 → 0.2.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 (46) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.d.ts +14 -5
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +135 -9
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/add.d.ts +11 -0
  7. package/dist/commands/add.d.ts.map +1 -0
  8. package/dist/commands/add.js +123 -0
  9. package/dist/commands/add.js.map +1 -0
  10. package/dist/commands/build.d.ts +26 -0
  11. package/dist/commands/build.d.ts.map +1 -1
  12. package/dist/commands/build.js +81 -45
  13. package/dist/commands/build.js.map +1 -1
  14. package/dist/commands/doctor.d.ts +10 -0
  15. package/dist/commands/doctor.d.ts.map +1 -0
  16. package/dist/commands/doctor.js +62 -0
  17. package/dist/commands/doctor.js.map +1 -0
  18. package/dist/commands/info.d.ts +11 -0
  19. package/dist/commands/info.d.ts.map +1 -0
  20. package/dist/commands/info.js +84 -0
  21. package/dist/commands/info.js.map +1 -0
  22. package/dist/commands/init.d.ts +6 -3
  23. package/dist/commands/init.d.ts.map +1 -1
  24. package/dist/commands/init.js +277 -72
  25. package/dist/commands/init.js.map +1 -1
  26. package/dist/commands/lint.d.ts +13 -0
  27. package/dist/commands/lint.d.ts.map +1 -0
  28. package/dist/commands/lint.js +56 -0
  29. package/dist/commands/lint.js.map +1 -0
  30. package/dist/commands/list.d.ts +10 -0
  31. package/dist/commands/list.d.ts.map +1 -0
  32. package/dist/commands/list.js +47 -0
  33. package/dist/commands/list.js.map +1 -0
  34. package/dist/commands/preview.d.ts +14 -0
  35. package/dist/commands/preview.d.ts.map +1 -0
  36. package/dist/commands/preview.js +110 -0
  37. package/dist/commands/preview.js.map +1 -0
  38. package/dist/commands/remove.d.ts +11 -0
  39. package/dist/commands/remove.d.ts.map +1 -0
  40. package/dist/commands/remove.js +31 -0
  41. package/dist/commands/remove.js.map +1 -0
  42. package/dist/commands/update.d.ts +11 -0
  43. package/dist/commands/update.d.ts.map +1 -0
  44. package/dist/commands/update.js +58 -0
  45. package/dist/commands/update.js.map +1 -0
  46. package/package.json +18 -17
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @agentplugins/cli
2
2
 
3
- > Build, validate, and scaffold [AgentPlugins](https://github.com/espetro/agentplugins) plugins.
3
+ > Build, validate, and scaffold [AgentPlugins](https://github.com/sigilco/agentplugins) plugins.
4
4
 
5
5
  `@agentplugins/cli` is the `agentplugins` command-line tool. It compiles a universal `PluginManifest` into platform-native outputs for all 7 supported agent harnesses.
6
6
 
package/dist/cli.d.ts CHANGED
@@ -4,11 +4,20 @@
4
4
  *
5
5
  * Build AI agent plugins once, ship to any harness.
6
6
  *
7
- * Usage:
8
- * npx agentplugins build # Build plugin for all targets
9
- * npx agentplugins build --target claude,codex # Build for specific targets
10
- * npx agentplugins validate # Validate plugin without building
11
- * npx agentplugins init # Scaffold a new plugin
7
+ * Distribution commands:
8
+ * agentplugins add <github-url> # Install a plugin to the store + all agents
9
+ * agentplugins remove <name> # Remove a plugin
10
+ * agentplugins list # List installed plugins
11
+ * agentplugins update [name] # Update plugin(s) from source
12
+ * agentplugins info <name> # Show plugin details
13
+ * agentplugins doctor # Run diagnostics
14
+ *
15
+ * Codegen commands:
16
+ * agentplugins build # Build plugin for target platforms
17
+ * agentplugins validate # Validate plugin without building
18
+ * agentplugins init # Scaffold a new plugin (interactive)
19
+ * agentplugins lint # Static analysis of plugin manifest
20
+ * agentplugins preview # Preview compile output without writing
12
21
  */
13
22
  export {};
14
23
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;GAmBG"}
package/dist/cli.js CHANGED
@@ -4,19 +4,109 @@
4
4
  *
5
5
  * Build AI agent plugins once, ship to any harness.
6
6
  *
7
- * Usage:
8
- * npx agentplugins build # Build plugin for all targets
9
- * npx agentplugins build --target claude,codex # Build for specific targets
10
- * npx agentplugins validate # Validate plugin without building
11
- * npx agentplugins init # Scaffold a new plugin
7
+ * Distribution commands:
8
+ * agentplugins add <github-url> # Install a plugin to the store + all agents
9
+ * agentplugins remove <name> # Remove a plugin
10
+ * agentplugins list # List installed plugins
11
+ * agentplugins update [name] # Update plugin(s) from source
12
+ * agentplugins info <name> # Show plugin details
13
+ * agentplugins doctor # Run diagnostics
14
+ *
15
+ * Codegen commands:
16
+ * agentplugins build # Build plugin for target platforms
17
+ * agentplugins validate # Validate plugin without building
18
+ * agentplugins init # Scaffold a new plugin (interactive)
19
+ * agentplugins lint # Static analysis of plugin manifest
20
+ * agentplugins preview # Preview compile output without writing
12
21
  */
13
22
  import { cac } from 'cac';
14
23
  import chalk from 'chalk';
15
24
  import { build } from './commands/build.js';
16
25
  import { validate } from './commands/validate.js';
17
26
  import { init } from './commands/init.js';
27
+ import { lint } from './commands/lint.js';
28
+ import { preview } from './commands/preview.js';
29
+ import { add } from './commands/add.js';
30
+ import { remove } from './commands/remove.js';
31
+ import { list } from './commands/list.js';
32
+ import { update } from './commands/update.js';
33
+ import { info } from './commands/info.js';
34
+ import { doctor } from './commands/doctor.js';
18
35
  import { loadConfig } from './config.js';
19
36
  const cli = cac('agentplugins');
37
+ // ─── Distribution Commands ───────────────────────────────────────────────────
38
+ cli
39
+ .command('add <source>', 'Install a plugin from GitHub to the store + all agents')
40
+ .action(async (source) => {
41
+ try {
42
+ await add({ source });
43
+ }
44
+ catch (err) {
45
+ console.error(chalk.red('Add failed:'), err instanceof Error ? err.message : String(err));
46
+ process.exit(1);
47
+ }
48
+ });
49
+ cli
50
+ .command('remove <name>', 'Remove a plugin from the store and unlink all symlinks')
51
+ .option('-f, --force', 'Skip confirmation', { default: false })
52
+ .action(async (name, options) => {
53
+ try {
54
+ await remove({ name, force: options.force });
55
+ }
56
+ catch (err) {
57
+ console.error(chalk.red('Remove failed:'), err instanceof Error ? err.message : String(err));
58
+ process.exit(1);
59
+ }
60
+ });
61
+ cli
62
+ .command('list', 'List installed plugins')
63
+ .option('--json', 'Output as JSON')
64
+ .action(async (options) => {
65
+ try {
66
+ await list({ json: options.json });
67
+ }
68
+ catch (err) {
69
+ console.error(chalk.red('List failed:'), err instanceof Error ? err.message : String(err));
70
+ process.exit(1);
71
+ }
72
+ });
73
+ cli
74
+ .command('update [name]', 'Update plugin(s) from source')
75
+ .option('-a, --all', 'Update all installed plugins')
76
+ .action(async (name, options) => {
77
+ try {
78
+ await update({ name, all: options.all });
79
+ }
80
+ catch (err) {
81
+ console.error(chalk.red('Update failed:'), err instanceof Error ? err.message : String(err));
82
+ process.exit(1);
83
+ }
84
+ });
85
+ cli
86
+ .command('info <name>', 'Show detailed information about an installed plugin')
87
+ .option('--json', 'Output as JSON')
88
+ .action(async (name, options) => {
89
+ try {
90
+ await info({ name, json: options.json });
91
+ }
92
+ catch (err) {
93
+ console.error(chalk.red('Info failed:'), err instanceof Error ? err.message : String(err));
94
+ process.exit(1);
95
+ }
96
+ });
97
+ cli
98
+ .command('doctor', 'Run diagnostics on store, agents, and symlinks')
99
+ .option('--json', 'Output as JSON')
100
+ .action(async (options) => {
101
+ try {
102
+ await doctor({ json: options.json });
103
+ }
104
+ catch (err) {
105
+ console.error(chalk.red('Doctor failed:'), err instanceof Error ? err.message : String(err));
106
+ process.exit(1);
107
+ }
108
+ });
109
+ // ─── Codegen Commands ────────────────────────────────────────────────────────
20
110
  cli
21
111
  .command('build', 'Build plugin for target platforms')
22
112
  .option('-t, --target <targets>', 'Comma-separated target platforms (claude,codex,copilot,gemini,kimi,opencode,pimono)')
@@ -60,12 +150,16 @@ cli
60
150
  });
61
151
  cli
62
152
  .command('init [name]', 'Scaffold a new AgentPlugins plugin')
63
- .option('--target <targets>', 'Initial target platforms', { default: 'claude,codex' })
153
+ .option('-y, --yes', 'Skip prompts and use defaults')
154
+ .option('-t, --template <name>', 'Template: minimal | logger | security-guard | formatter')
155
+ .option('--target <targets>', 'Target platforms (comma-separated)')
64
156
  .action(async (name, options) => {
65
157
  try {
66
158
  await init({
67
- name: name || 'my-agentplugins-plugin',
68
- targets: options.target.split(',').map((t) => t.trim()),
159
+ name,
160
+ yes: options.yes || false,
161
+ template: options.template,
162
+ target: options.target,
69
163
  });
70
164
  }
71
165
  catch (err) {
@@ -73,7 +167,39 @@ cli
73
167
  process.exit(1);
74
168
  }
75
169
  });
170
+ cli
171
+ .command('lint', 'Static analysis of plugin manifest')
172
+ .option('--config <file>', 'Config file path', { default: 'agentplugins.config.ts' })
173
+ .option('--json', 'Output as JSON')
174
+ .action(async (options) => {
175
+ try {
176
+ const config = await loadConfig(options.config);
177
+ await lint({ config, json: options.json || false });
178
+ }
179
+ catch (err) {
180
+ console.error(chalk.red('Lint failed:'), err instanceof Error ? err.message : String(err));
181
+ process.exit(1);
182
+ }
183
+ });
184
+ cli
185
+ .command('preview', 'Preview compile output without writing to disk')
186
+ .option('--config <file>', 'Config file path', { default: 'agentplugins.config.ts' })
187
+ .option('-t, --target <targets>', 'Comma-separated target platforms')
188
+ .option('--diff', 'Show diff against existing dist/ output')
189
+ .action(async (options) => {
190
+ try {
191
+ const config = await loadConfig(options.config);
192
+ const targets = options.target
193
+ ? options.target.split(',').map((t) => t.trim())
194
+ : undefined;
195
+ await preview({ config, targets, diff: options.diff || false });
196
+ }
197
+ catch (err) {
198
+ console.error(chalk.red('Preview failed:'), err instanceof Error ? err.message : String(err));
199
+ process.exit(1);
200
+ }
201
+ });
76
202
  cli.help();
77
- cli.version('0.1.0');
203
+ cli.version('0.2.0');
78
204
  cli.parse();
79
205
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * AgentPlugins Add Command
3
+ *
4
+ * Clones a plugin from GitHub, installs it to the universal store,
5
+ * and symlinks it into every detected agent harness.
6
+ */
7
+ export interface AddOptions {
8
+ source: string;
9
+ }
10
+ export declare function add(options: AddOptions): Promise<void>;
11
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA+E5D"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * AgentPlugins Add Command
3
+ *
4
+ * Clones a plugin from GitHub, installs it to the universal store,
5
+ * and symlinks it into every detected agent harness.
6
+ */
7
+ import chalk from 'chalk';
8
+ import { initStore, normalizeSource, extractRepoName, cloneRepo, findManifestInDir, installPlugin, getDetectedAgents, getStorePath, getSkillsCompatPath, getPluginStorePath, } from '@agentplugins/core';
9
+ import { join } from 'node:path';
10
+ import { existsSync, rmSync, mkdirSync, symlinkSync, unlinkSync } from 'node:fs';
11
+ export async function add(options) {
12
+ const source = normalizeSource(options.source);
13
+ const repoName = extractRepoName(source);
14
+ console.log(chalk.bold('\n📥 AgentPlugins Add\n'));
15
+ console.log(chalk.gray(`Source: ${source}`));
16
+ console.log(chalk.gray(`Store: ${getStorePath()}\n`));
17
+ initStore();
18
+ // Clone to temp dir
19
+ const tempDir = join(getStorePath(), `.tmp-${repoName}-${Date.now()}`);
20
+ if (existsSync(tempDir))
21
+ rmSync(tempDir, { recursive: true, force: true });
22
+ console.log(chalk.blue('Cloning repository...'));
23
+ let commit;
24
+ try {
25
+ commit = cloneRepo(source, tempDir);
26
+ }
27
+ catch (err) {
28
+ const msg = err instanceof Error ? err.message : String(err);
29
+ console.error(chalk.red(`\nFailed to clone: ${msg}`));
30
+ rmSync(tempDir, { recursive: true, force: true });
31
+ process.exit(1);
32
+ }
33
+ console.log(chalk.gray(`Commit: ${commit}`));
34
+ // Find manifest — try JSON/SKILL.md first
35
+ let manifestResult = findManifestInDir(tempDir);
36
+ // Fallback: try TypeScript config via jiti
37
+ if (!manifestResult) {
38
+ manifestResult = await tryTsConfig(tempDir);
39
+ }
40
+ if (!manifestResult) {
41
+ console.error(chalk.red('\nNo plugin manifest found in repository.'));
42
+ console.error(chalk.gray('Expected one of: agentplugins.config.ts, agentplugins.config.json, manifest.json, package.json, SKILL.md'));
43
+ rmSync(tempDir, { recursive: true, force: true });
44
+ process.exit(1);
45
+ }
46
+ const name = manifestResult.manifest['name'];
47
+ const version = manifestResult.manifest['version'] || '0.0.0';
48
+ console.log(chalk.cyan(`\nPlugin: ${name} v${version}`));
49
+ console.log(chalk.gray(`Manifest: ${manifestResult.path} (${manifestResult.type})`));
50
+ // Detect agents
51
+ const agents = getDetectedAgents();
52
+ if (agents.length === 0) {
53
+ console.log(chalk.yellow('\n⚠ No agent harnesses detected. Plugin will be stored but not symlinked.'));
54
+ console.log(chalk.gray('Install Claude, Codex, or another supported agent to enable symlinking.'));
55
+ }
56
+ else {
57
+ console.log(chalk.gray(`Detected ${agents.length} agent${agents.length > 1 ? 's' : ''}: ${agents.map((a) => a.displayName).join(', ')}`));
58
+ }
59
+ // Install
60
+ const result = installPlugin(tempDir, {
61
+ source,
62
+ name,
63
+ commit,
64
+ manifestPath: manifestResult.path,
65
+ version,
66
+ });
67
+ // Also symlink to skills-compat for Skills.sh
68
+ symlinkToSkillsCompat(name);
69
+ // Summary
70
+ console.log(chalk.green(`\n✅ Installed ${name} v${version}`));
71
+ console.log(chalk.gray(` Store: ${getStorePath()}/${name}`));
72
+ if (result.symlinks.length > 0) {
73
+ console.log(chalk.gray('\nSymlinked to:'));
74
+ for (const s of result.symlinks) {
75
+ console.log(chalk.gray(` ${s.agentDisplayName}: ${s.linkPath}`));
76
+ }
77
+ }
78
+ console.log();
79
+ }
80
+ /** Try loading a TypeScript config via jiti */
81
+ async function tryTsConfig(dir) {
82
+ const candidates = ['agentplugins.config.ts', 'agentplugins.config.js', 'agentplugins.config.mjs'];
83
+ for (const candidate of candidates) {
84
+ const fullPath = join(dir, candidate);
85
+ if (!existsSync(fullPath))
86
+ continue;
87
+ try {
88
+ const jiti = (await import('jiti')).default;
89
+ const loader = jiti(fullPath, { interopDefault: true, esmResolve: true });
90
+ const mod = await loader.import(fullPath, { default: true });
91
+ const exported = mod?.['default'] ?? mod;
92
+ const manifest = typeof exported === 'function'
93
+ ? await exported()
94
+ : exported;
95
+ if (manifest && typeof manifest['name'] === 'string') {
96
+ return { path: candidate, manifest, type: 'json' };
97
+ }
98
+ }
99
+ catch {
100
+ continue;
101
+ }
102
+ }
103
+ return null;
104
+ }
105
+ /** Symlink plugin to ~/.agents/skills/ for Skills.sh compatibility */
106
+ function symlinkToSkillsCompat(name) {
107
+ const skillsPath = join(getSkillsCompatPath(), name);
108
+ const targetPath = getPluginStorePath(name);
109
+ try {
110
+ mkdirSync(getSkillsCompatPath(), { recursive: true });
111
+ if (existsSync(skillsPath)) {
112
+ try {
113
+ unlinkSync(skillsPath);
114
+ }
115
+ catch { /* ignore */ }
116
+ }
117
+ symlinkSync(targetPath, skillsPath, 'dir');
118
+ }
119
+ catch {
120
+ // Non-fatal — skills compat is best-effort
121
+ }
122
+ }
123
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,33 @@
3
3
  *
4
4
  * Compiles a universal plugin into platform-specific packages.
5
5
  */
6
+ import { type TargetPlatform, type PluginManifest } from '@agentplugins/core';
6
7
  import type { LoadedConfig } from '../config.js';
8
+ export interface CompileFile {
9
+ path: string;
10
+ content: string;
11
+ }
12
+ export interface CompileResult {
13
+ target: TargetPlatform;
14
+ files: CompileFile[];
15
+ warnings: string[];
16
+ postInstall?: string[];
17
+ skipped: boolean;
18
+ error?: string;
19
+ }
20
+ export interface CompileOptions {
21
+ manifest: PluginManifest;
22
+ targets?: TargetPlatform[];
23
+ write?: boolean;
24
+ outDir?: string;
25
+ silent?: boolean;
26
+ }
27
+ /**
28
+ * Run the compilation pipeline for one or more targets.
29
+ * If `write` is true, files are written to `outDir/<target>/`.
30
+ * Returns per-target results.
31
+ */
32
+ export declare function compile(options: CompileOptions): Promise<CompileResult[]>;
7
33
  export interface BuildOptions {
8
34
  config: LoadedConfig;
9
35
  targets?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAiCD,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAoFhE"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAgCD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAgE/E;AAID,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ChE"}
@@ -34,76 +34,112 @@ async function getAdapterFactory(target) {
34
34
  throw new Error(`Unknown target: ${target}`);
35
35
  }
36
36
  }
37
- export async function build(options) {
38
- const { config, outDir } = options;
39
- const manifest = config.manifest;
40
- // Determine targets
37
+ /**
38
+ * Run the compilation pipeline for one or more targets.
39
+ * If `write` is true, files are written to `outDir/<target>/`.
40
+ * Returns per-target results.
41
+ */
42
+ export async function compile(options) {
43
+ const { manifest, write = false, outDir, silent = false } = options;
41
44
  const targetList = (options.targets || manifest.targets || ALL_TARGETS);
42
- console.log(chalk.bold('\n🌉 AgentPlugins Build\n'));
43
- console.log(chalk.gray(`Plugin: ${manifest.name} v${manifest.version}`));
44
- console.log(chalk.gray(`Targets: ${targetList.join(', ')}`));
45
- console.log(chalk.gray(`Output: ${resolve(outDir)}\n`));
46
- // ─── Universal Validation ─────────────────────────────────────────────────
47
- console.log(chalk.blue('🔍 Running universal validation...'));
48
- const universalIssues = validateUniversal(manifest);
49
- printIssues(universalIssues);
50
- const hasErrors = universalIssues.some(i => i.severity === 'error');
51
- if (hasErrors) {
52
- throw new Error('Universal validation failed. Fix errors before building.');
53
- }
54
- // ─── Platform-Specific Compilation ────────────────────────────────────────
55
- const outRoot = resolve(outDir);
45
+ const results = [];
56
46
  for (const target of targetList) {
57
47
  let factory;
58
48
  try {
59
49
  factory = await getAdapterFactory(target);
60
50
  }
61
- catch (err) {
62
- console.log(chalk.yellow(`⚠️ No adapter for "${target}" skipping`));
51
+ catch {
52
+ results.push({ target, files: [], warnings: [], skipped: true });
63
53
  continue;
64
54
  }
65
- console.log(chalk.blue(`\n📦 Building for ${target}...`));
66
- // Platform-specific validation
55
+ if (!silent)
56
+ console.log(chalk.blue(`\n📦 Building for ${target}...`));
67
57
  const platformIssues = validateForPlatform(manifest, target);
68
- printIssues(platformIssues);
69
58
  const platformErrors = platformIssues.filter(i => i.severity === 'error');
70
59
  if (platformErrors.length > 0) {
71
- console.log(chalk.red(` ✗ Build failed for ${target} (${platformErrors.length} error${platformErrors.length > 1 ? 's' : ''})`));
60
+ const msg = `${platformErrors.length} validation error${platformErrors.length > 1 ? 's' : ''}`;
61
+ if (!silent)
62
+ console.log(chalk.red(` ✗ Build failed for ${target} (${msg})`));
63
+ results.push({ target, files: [], warnings: [], skipped: true, error: msg });
72
64
  continue;
73
65
  }
74
- // Compile
75
66
  try {
76
67
  const adapter = factory();
77
68
  const output = adapter.compile(manifest);
78
- // Write files
79
- const targetDir = join(outRoot, target);
80
- await mkdir(targetDir, { recursive: true });
81
- for (const file of output.files) {
82
- const filePath = join(targetDir, file.path);
83
- await mkdir(resolve(filePath, '..'), { recursive: true });
84
- await writeFile(filePath, file.content, 'utf-8');
85
- }
86
- // Print results
87
- console.log(chalk.green(` ✓ Built ${output.files.length} file${output.files.length > 1 ? 's' : ''}`));
88
- if (output.warnings.length > 0) {
89
- for (const w of output.warnings) {
90
- console.log(chalk.yellow(` ⚠ ${w}`));
69
+ if (write && outDir) {
70
+ const targetDir = join(resolve(outDir), target);
71
+ await mkdir(targetDir, { recursive: true });
72
+ for (const file of output.files) {
73
+ const filePath = join(targetDir, file.path);
74
+ await mkdir(resolve(filePath, '..'), { recursive: true });
75
+ await writeFile(filePath, file.content, 'utf-8');
91
76
  }
92
77
  }
93
- if (output.postInstall) {
94
- console.log(chalk.cyan(` ${output.postInstall.join('\n ⓘ ')}`));
78
+ if (!silent) {
79
+ console.log(chalk.green(` Built ${output.files.length} file${output.files.length > 1 ? 's' : ''}`));
80
+ if (output.warnings.length > 0) {
81
+ for (const w of output.warnings)
82
+ console.log(chalk.yellow(` ⚠ ${w}`));
83
+ }
84
+ if (output.postInstall) {
85
+ console.log(chalk.cyan(` ⓘ ${output.postInstall.join('\n ⓘ ')}`));
86
+ }
95
87
  }
88
+ results.push({
89
+ target,
90
+ files: output.files,
91
+ warnings: output.warnings || [],
92
+ postInstall: output.postInstall,
93
+ skipped: false,
94
+ });
96
95
  }
97
96
  catch (err) {
98
- console.log(chalk.red(` ✗ Build failed for ${target}: ${err instanceof Error ? err.message : String(err)}`));
97
+ const msg = err instanceof Error ? err.message : String(err);
98
+ if (!silent)
99
+ console.log(chalk.red(` ✗ Build failed for ${target}: ${msg}`));
100
+ results.push({ target, files: [], warnings: [], skipped: true, error: msg });
99
101
  }
100
102
  }
101
- // ─── Summary ──────────────────────────────────────────────────────────────
103
+ return results;
104
+ }
105
+ export async function build(options) {
106
+ const { config, outDir } = options;
107
+ const manifest = config.manifest;
108
+ const targetList = (options.targets || manifest.targets || ALL_TARGETS);
109
+ console.log(chalk.bold('\n🌉 AgentPlugins Build\n'));
110
+ console.log(chalk.gray(`Plugin: ${manifest.name} v${manifest.version}`));
111
+ console.log(chalk.gray(`Targets: ${targetList.join(', ')}`));
112
+ console.log(chalk.gray(`Output: ${resolve(outDir)}\n`));
113
+ // Universal validation
114
+ console.log(chalk.blue('🔍 Running universal validation...'));
115
+ const universalIssues = validateUniversal(manifest);
116
+ printIssues(universalIssues);
117
+ const hasErrors = universalIssues.some(i => i.severity === 'error');
118
+ if (hasErrors) {
119
+ throw new Error('Universal validation failed. Fix errors before building.');
120
+ }
121
+ // Compile + write
122
+ const results = await compile({
123
+ manifest,
124
+ targets: targetList,
125
+ write: true,
126
+ outDir,
127
+ });
128
+ // Strict mode: fail on warnings
129
+ if (options.strict) {
130
+ const allWarnings = results.flatMap(r => r.warnings);
131
+ if (allWarnings.length > 0) {
132
+ throw new Error(`Strict mode: ${allWarnings.length} warning(s) found.`);
133
+ }
134
+ }
135
+ // Summary
102
136
  console.log(chalk.bold('\n✅ Build complete!\n'));
103
137
  console.log(chalk.gray('Install your plugins:'));
104
- for (const target of targetList) {
105
- const installCmd = getInstallCommand(target, manifest.name);
106
- console.log(chalk.gray(` ${target}: ${installCmd}`));
138
+ for (const r of results) {
139
+ if (r.skipped)
140
+ continue;
141
+ const cmd = getInstallCommand(r.target, manifest.name);
142
+ console.log(chalk.gray(` ${r.target}: ${cmd}`));
107
143
  }
108
144
  console.log();
109
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}