Files
rootiest-ai/.gitea/workflows/plugins.yml
T
rootiestandClaude Sonnet 5 bfd96285ee
Generate plugin manifests / generate (pull_request) Skipped
Generate plugin manifests / validate (pull_request) Successful in 7s
feat: restructure into a multi-extension plugin framework for Claude Code and agy
Replace the skills-only SSoT (skills/<name>/SKILL.md) with plugins/<name>/,
where a plugin can bundle skills, MCP servers, lifecycle hooks, rules,
commands, and agents. scripts/generate_plugins.py now discovers plugins
from one or more layered --source roots and emits real per-target trees
(dist/claude-code/** + .claude-plugin/marketplace.json, dist/agy/**),
translating hooks.json/mcp.json between Claude Code's and agy's actual
schemas instead of only fanning out flat skill lists.

Adds a private-overlay build path (--source/--private-repo/--out/
--install-local) so a second, non-public repo (PII, tokens, personal-only
plugins) can extend or override the public plugin set without either repo
touching the other's history — private builds default to a gitignored
dist-private/ and never land in tracked output.

Drops install.sh and descriptions.json: both only ever covered skills and
pre-date the native plugin marketplace; both tools now install the plugin
marketplace the documented way (Claude Code's /plugin marketplace add,
agy's plugins.json entries). CI path filters move to plugins/**, and the
workflow gains workflow_dispatch for a manual re-trigger.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014YVWWAnvR5TDQzmfY3RXG9
2026-08-24 19:20:42 -04:00

50 lines
1.3 KiB
YAML

name: Generate plugin manifests
on:
pull_request:
paths:
- "plugins/**"
- "manifest.yaml"
- "scripts/**"
push:
branches: [main]
paths:
- "plugins/**"
- "manifest.yaml"
- "scripts/**"
workflow_dispatch: {}
jobs:
validate:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- run: pip install -r scripts/requirements.txt
- run: python3 scripts/generate_plugins.py --check
generate:
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.x"
- run: pip install -r scripts/requirements.txt
- run: python3 scripts/generate_plugins.py
- name: Commit generated output
run: |
git config user.name "gitea-actions"
git config user.email "actions@git.rootiest.dev"
git add .claude-plugin dist
if git diff --cached --quiet; then
echo "No generated output changes."
exit 0
fi
git commit -m "chore(plugins): regenerate plugin manifests"
git push origin HEAD:main