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

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