Consolidates three codebases into a single agent orchestration repo: - agentci (from go-scm): Clotho dual-run verification, agent config, SSH security (sanitisation, secure commands, token masking) - jobrunner (from go-scm): Poll-dispatch-report pipeline with 7 handlers (dispatch, completion, auto-merge, publish draft, dismiss reviews, send fix command, tick parent epic) - plugins marketplace (from agentic/plugins): 27 Claude/Codex/Gemini plugins with shared MCP server All 150+ tests passing across 6 packages. Co-Authored-By: Virgil <virgil@lethean.io>
3.6 KiB
3.6 KiB
Setting Up Forgejo as a Plugin Marketplace
This guide explains how to host the agentic-flows plugin on Forgejo and enable auto-updates.
Prerequisites
- Forgejo instance at
forge.lthn.ai - API token with repo access
curlfor API calls
Step 1: Ensure the Organization Exists
# Via API
curl -X POST "https://forge.lthn.ai/api/v1/orgs" \
-H "Authorization: token $FORGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"username": "agentic",
"description": "Claude Code plugins and agent infrastructure",
"visibility": "public"
}'
Step 2: Create the Repository
# Via API
curl -X POST "https://forge.lthn.ai/api/v1/orgs/agentic/repos" \
-H "Authorization: token $FORGE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "plugins",
"description": "Claude Code plugins - agentic flows, infrastructure, dev tools",
"private": false,
"auto_init": false
}'
Step 3: Push the Plugin
cd /home/shared/hostuk/claude-plugins
# Add Forgejo remote
git remote add forge https://forge.lthn.ai/agentic/plugins.git
# Push
git add -A
git commit -m "Initial commit: all plugins"
git tag v0.1.0
git push forge main --tags
Step 4: Configure Claude Code Marketplace
Add to ~/.claude/settings.json:
{
"pluginSources": {
"host-uk": {
"type": "git",
"url": "https://forge.lthn.ai/agentic/plugins.git"
}
}
}
Step 5: Install the Plugin
# Claude Code will clone from Forgejo on next start
# Or manually:
git clone https://forge.lthn.ai/agentic/plugins.git \
~/.claude/plugins/cache/host-uk/plugins/0.1.0
Auto-Update Workflow
When you commit changes to the Forgejo repo:
- Update version in
.claude-plugin/plugin.json - Commit and tag:
git commit -am "feat: add new skill" git tag v0.2.0 git push forge main --tags - Claude Code checks for updates based on
marketplace.yamlsettings - New version is pulled automatically
Publishing to dappco.re (CDN)
Package and upload to Forgejo generic packages:
# Package plugin as tarball
tar czf agentic-flows-0.5.0.tar.gz -C plugins/agentic-flows .
# Upload to Forgejo packages API
curl -X PUT \
"https://forge.lthn.ai/api/packages/agentic/generic/claude-plugin-agentic-flows/0.5.0/agentic-flows-0.5.0.tar.gz" \
-H "Authorization: token $FORGE_TOKEN" \
--upload-file agentic-flows-0.5.0.tar.gz
Available via CDN at dappco.re/ai/claude-plugin-agentic-flows/0.5.0/
Troubleshooting
Plugin not updating
# Check current version
cat ~/.claude/plugins/cache/host-uk/plugins/*/version
# Force refresh
rm -rf ~/.claude/plugins/cache/host-uk/plugins
# Restart Claude Code
Authentication issues
# Verify token
curl -H "Authorization: token $FORGE_TOKEN" \
https://forge.lthn.ai/api/v1/user
# Check repo access
curl -H "Authorization: token $FORGE_TOKEN" \
https://forge.lthn.ai/api/v1/repos/agentic/plugins
Directory Structure
forge.lthn.ai/agentic/plugins/
├── .claude-plugin/
│ ├── plugin.json # Root plugin manifest
│ └── marketplace.json # All plugins index
├── plugins/
│ ├── agentic-flows/ # Development pipeline
│ ├── host-uk-go/ # Go development
│ ├── host-uk-php/ # PHP/Laravel development
│ ├── infra/ # Infrastructure management
│ ├── lethean/ # Lethean data collectors
│ └── cryptonote-archive/ # Protocol research
├── marketplace.yaml
├── README.md
└── FORGE_SETUP.md # This file