From 5f42f5710675f54007bb5b7c28858c0aafbd5c14 Mon Sep 17 00:00:00 2001 From: Defame1297 Date: Thu, 13 Aug 2026 17:50:41 +0000 Subject: [PATCH] feat(kyberforge): enable codex marketplace output Uncomment marketplace.outputs.codex in apm.yml. Codex output requires every package to declare a category -- added one per package (Developer Tools / Utilities / Version Control / Productivity, matching each plugin's actual scope). Re-running apm pack after enabling codex auto-synced 'codex' into each local package's own targets: list (apm.yml, per plugin) -- packages belonging to a marketplace that publishes a codex output need to declare codex as a supported compile target for that to be coherent. Verified idempotent: a second apm pack --check-clean run makes no further changes. .claude-plugin/marketplace.json regenerated (now carries category per plugin); .agents/plugins/marketplace.json is the new codex artifact. Refs: #90 --- .agents/plugins/marketplace.json | 95 ++++++++++++++++++++++++++++++++ .claude-plugin/marketplace.json | 7 +++ apm.yml | 19 ++++--- plugins/bin/apm.yml | 6 +- plugins/core/apm.yml | 1 + plugins/git/apm.yml | 1 + plugins/gitea/apm.yml | 1 + plugins/kyberforge/apm.yml | 1 + plugins/lint/apm.yml | 5 +- 9 files changed, 124 insertions(+), 12 deletions(-) create mode 100644 .agents/plugins/marketplace.json diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json new file mode 100644 index 0000000..3a719f5 --- /dev/null +++ b/.agents/plugins/marketplace.json @@ -0,0 +1,95 @@ +{ + "interface": { + "displayName": "holocron" + }, + "name": "holocron", + "plugins": [ + { + "category": "Developer Tools", + "name": "kyberforge", + "policy": { + "authentication": "ON_INSTALL", + "installation": "AVAILABLE" + }, + "source": { + "path": "./plugins/kyberforge", + "source": "local" + } + }, + { + "category": "Utilities", + "name": "bin", + "policy": { + "authentication": "ON_INSTALL", + "installation": "AVAILABLE" + }, + "source": { + "path": "./plugins/bin", + "source": "local" + } + }, + { + "category": "Version Control", + "name": "git", + "policy": { + "authentication": "ON_INSTALL", + "installation": "AVAILABLE" + }, + "source": { + "path": "./plugins/git", + "source": "local" + } + }, + { + "category": "Version Control", + "name": "gitea", + "policy": { + "authentication": "ON_INSTALL", + "installation": "AVAILABLE" + }, + "source": { + "path": "./plugins/gitea", + "source": "local" + } + }, + { + "category": "Productivity", + "name": "core", + "policy": { + "authentication": "ON_INSTALL", + "installation": "AVAILABLE" + }, + "source": { + "path": "./plugins/core", + "source": "local" + } + }, + { + "category": "Productivity", + "name": "mattpocock-skills", + "policy": { + "authentication": "ON_INSTALL", + "installation": "AVAILABLE" + }, + "source": { + "ref": "v1.2.3", + "sha": "835450ef244ab7335f75d95b83e7d979eae22a6d", + "source": "url", + "tag_pattern": "v{version}", + "url": "mattpocock/skills" + } + }, + { + "category": "Developer Tools", + "name": "lint", + "policy": { + "authentication": "ON_INSTALL", + "installation": "AVAILABLE" + }, + "source": { + "path": "./plugins/lint", + "source": "local" + } + } + ] +} diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 816db4d..eafc041 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -7,36 +7,42 @@ }, "plugins": [ { + "category": "Developer Tools", "description": "Skills and agents for creating, maintaining, and managing a Claude Code / Copilot CLI plugin marketplace.", "name": "kyberforge", "source": "./plugins/kyberforge", "version": "1.4.0" }, { + "category": "Utilities", "description": "A place for things to be binned", "name": "bin", "source": "./plugins/bin", "version": "1.1.1" }, { + "category": "Version Control", "description": "Skills for working with Git \u2014 conventional commits, branch management, pull requests, and feature flow.", "name": "git", "source": "./plugins/git", "version": "1.3.2" }, { + "category": "Version Control", "description": "Skills for managing Gitea repositories \u2014 issues, pull requests, milestones, releases, and wikis.", "name": "gitea", "source": "./plugins/gitea", "version": "1.3.3" }, { + "category": "Productivity", "description": "Cross-cutting utility skills for everyday AI-assisted coding \u2014 triage, diagnosis, architecture review, and session navigation.", "name": "core", "source": "./plugins/core", "version": "1.1.0" }, { + "category": "Productivity", "description": "Skills for Real Engineers \u2014 planning, TDD, architecture, and debugging workflows from Matt Pocock's .claude directory.", "name": "mattpocock-skills", "source": { @@ -48,6 +54,7 @@ } }, { + "category": "Developer Tools", "description": "Skills and agents for configuring and running linters.", "name": "lint", "source": "./plugins/lint", diff --git a/apm.yml b/apm.yml index 6ec4286..8910934 100644 --- a/apm.yml +++ b/apm.yml @@ -17,16 +17,12 @@ marketplace: build: tagPattern: "v{version}" - # Output targets (map form). 'claude' is enabled by default; - # uncomment 'codex' below to publish the Codex artifact too. - # Each output writes to its profile default path; add 'path:' - # under a key to override. + # Output targets (map form). Each output writes to its profile default + # path; add 'path:' under a key to override. + # 'codex' requires every package below to declare 'category:' (satisfied). outputs: claude: {} - # codex: {} - # - # Note: enabling codex requires every package below to declare - # 'category:' (e.g. category: Productivity). + codex: {} # CI tip: build one or all formats with a machine-readable manifest: # apm pack --marketplace=claude,codex --json | jq -r '.marketplace.outputs[].path' @@ -39,33 +35,40 @@ marketplace: description: Skills and agents for creating, maintaining, and managing a Claude Code / Copilot CLI plugin marketplace. source: ./plugins/kyberforge version: 1.4.0 + category: Developer Tools - name: bin description: A place for things to be binned source: ./plugins/bin version: 1.1.1 + category: Utilities - name: git description: Skills for working with Git — conventional commits, branch management, pull requests, and feature flow. source: ./plugins/git version: 1.3.2 + category: Version Control - name: gitea description: Skills for managing Gitea repositories — issues, pull requests, milestones, releases, and wikis. source: ./plugins/gitea version: 1.3.3 + category: Version Control - name: core description: Cross-cutting utility skills for everyday AI-assisted coding — triage, diagnosis, architecture review, and session navigation. source: ./plugins/core version: 1.1.0 + category: Productivity - name: mattpocock-skills description: Skills for Real Engineers — planning, TDD, architecture, and debugging workflows from Matt Pocock's .claude directory. source: mattpocock/skills version: "^1.2.0" + category: Productivity - name: lint description: Skills and agents for configuring and running linters. source: ./plugins/lint version: 1.1.5 + category: Developer Tools diff --git a/plugins/bin/apm.yml b/plugins/bin/apm.yml index c3f28c7..42baf2b 100644 --- a/plugins/bin/apm.yml +++ b/plugins/bin/apm.yml @@ -15,8 +15,10 @@ type: skill # Resolution order: --target flag > this field > auto-detect from filesystem. # Accepted values: agent-skills, antigravity, claude, codex, copilot, cursor, gemini, grok-build, kiro, opencode, windsurf targets: -- claude -- copilot + - claude + - copilot + - codex + dependencies: apm: [] mcp: [] diff --git a/plugins/core/apm.yml b/plugins/core/apm.yml index db83e85..d85d28c 100644 --- a/plugins/core/apm.yml +++ b/plugins/core/apm.yml @@ -19,6 +19,7 @@ type: skill targets: - claude - copilot + - codex # "auto" publishes the authoritative local source layout, or list explicit # repo paths to define the complete publication set. diff --git a/plugins/git/apm.yml b/plugins/git/apm.yml index 1f64983..8f46d70 100644 --- a/plugins/git/apm.yml +++ b/plugins/git/apm.yml @@ -17,6 +17,7 @@ keywords: targets: - claude - copilot + - codex type: hybrid dependencies: diff --git a/plugins/gitea/apm.yml b/plugins/gitea/apm.yml index 56173b3..22aaff2 100644 --- a/plugins/gitea/apm.yml +++ b/plugins/gitea/apm.yml @@ -20,6 +20,7 @@ type: hybrid targets: - claude - copilot + - codex # "auto" publishes the authoritative local source layout, or list explicit # repo paths to define the complete publication set. diff --git a/plugins/kyberforge/apm.yml b/plugins/kyberforge/apm.yml index b31f5f3..8859552 100644 --- a/plugins/kyberforge/apm.yml +++ b/plugins/kyberforge/apm.yml @@ -14,6 +14,7 @@ type: hybrid targets: - claude - copilot + - codex # "auto" publishes the authoritative local source layout — the large # docs/research/ tree stays as root-level passthrough content, not a primitive. diff --git a/plugins/lint/apm.yml b/plugins/lint/apm.yml index 98fa4ba..4796517 100644 --- a/plugins/lint/apm.yml +++ b/plugins/lint/apm.yml @@ -19,8 +19,9 @@ type: hybrid # Resolution order: --target flag > this field > auto-detect from filesystem. # Accepted values: agent-skills, antigravity, claude, codex, copilot, cursor, gemini, grok-build, kiro, opencode, windsurf targets: -- claude -- copilot + - claude + - copilot + - codex dependencies: apm: [] mcp: []