feat(onedev): redistribute TOD's agent skills through a plugin wrapper

OneDev ships TOD, an official CLI, and eight SKILL.md files alongside it. apm installs raw
SKILL.md sources straight from a git repo, so those skills need no reauthoring — but a
`marketplace.packages` entry takes a local `source:` path, so a third-party repo cannot be
listed for redistribution on its own.

plugins/onedev is that wrapper. It carries no primitives yet: it pins
code.onedev.io/onedev/tod#v4.3.4 so consumers installing `onedev` from the holocron
marketplace pick up TOD's eight skills transitively, and it is where this repo's own OneDev
skills and orchestrator agent will live once there is a gap worth filling.

The pin is deliberate. The six first-party dependencies stay unpinned for default-branch
parity because they are this repo's own content; tracking a third-party project's main
would import an outside project's drift instead.

Impact: root apm.yml consumes the wrapper by git+path, so `apm install` does not resolve
until this is on the remote's main — including the copy kyberforge's SessionStart hook runs
on launch. Accepted deliberately; this merges immediately. Gitea remains the tracker of
record and ADR-0007 is untouched.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NwD8Egs5r4ndqeFLmhusX2
This commit is contained in:
2026-09-20 19:39:08 +00:00
parent 32fbe39fb8
commit 0448f9cc01
3 changed files with 70 additions and 0 deletions

View File

@@ -36,6 +36,13 @@
"category": "Version Control",
"source": "./plugins/gitea"
},
{
"name": "onedev",
"description": "Skills and agents for working with a OneDev forge through the TOD CLI — the forge's own objects, as distinct from the local git clone.",
"version": "0.1.0",
"category": "Version Control",
"source": "./plugins/onedev"
},
{
"name": "core",
"description": "Skills for authoring and auditing a repo's AGENTS.md and the provider adapter files that defer to it.",

16
apm.yml
View File

@@ -28,6 +28,18 @@ dependencies:
path: plugins/kyberforge
- git: git@git.dev.rkdr.net:Defame1297/holocron.git
path: plugins/lint
# TOD's skills arrive transitively through this wrapper rather than as a
# direct entry, so the marketplace and this repo consume onedev by the same
# path. The pin lives in plugins/onedev/apm.yml: third-party content is
# pinned, unlike the six first-party entries above, which stay unpinned for
# default-branch parity.
#
# Resolves only once plugins/onedev is on the remote's main — until then
# `apm install` fails, which includes the copy kyberforge's SessionStart
# hook runs on launch. Accepted deliberately: this branch is merging
# immediately.
- git: git@git.dev.rkdr.net:Defame1297/holocron.git
path: plugins/onedev
mcp: []
# Turns apm's executable-trust gate ON. Without this block the gate is disabled
@@ -97,6 +109,10 @@ marketplace:
source: ./plugins/gitea
category: Version Control
- name: onedev
source: ./plugins/onedev
category: Version Control
- name: core
source: ./plugins/core
category: Productivity

47
plugins/onedev/apm.yml Normal file
View File

@@ -0,0 +1,47 @@
name: onedev
version: 0.1.0
description: Skills and agents for working with a OneDev forge through the TOD CLI — the forge's own objects, as distinct from the local git clone.
author:
name: Defame1297
email: defame1297@rkdr.net
url: https://git.dev.rkdr.net/Defame1297/
license: MIT
homepage: https://git.dev.rkdr.net/Defame1297/holocron/src/branch/main/plugins/onedev
repository: https://git.dev.rkdr.net/Defame1297/holocron/src/branch/main/plugins/onedev
keywords:
- onedev
- tod
- issues
- pulls
- builds
- iterations
# Constrains what .apm/ may contain: instructions, skill, hybrid, or prompts
type: hybrid
targets:
- claude
- copilot
- codex
# "auto" publishes the authoritative local source layout, or list explicit
# repo paths to define the complete publication set.
includes: auto
# This package currently carries no primitives of its own — it exists so the
# marketplace can redistribute upstream TOD. `marketplace.packages` entries
# take `source: ./plugins/<name>` (a local path), so a third-party git repo
# cannot be listed directly; a consumer installing `onedev` from the holocron
# marketplace picks up TOD's eight skills transitively through this entry.
#
# Pinned on purpose, unlike the six first-party dependencies in the root
# apm.yml. Those are unpinned for default-branch parity because they are this
# repo's own published content; TOD is third-party, so tracking its `main`
# would import someone else's drift. Bump this tag deliberately.
dependencies:
apm:
- code.onedev.io/onedev/tod#v4.3.4
mcp: []
devDependencies:
apm: []
scripts: {}