mirror of
https://github.com/chainbase-labs/Agentkey.git
synced 2026-09-20 14:20:23 +08:00
49a015b408
## Summary - add the Cursor-native plugin manifest and marketplace metadata with inline AgentKey MCP OAuth - add the root Gemini CLI extension manifest using Streamable HTTP and native OAuth discovery - add one root Antigravity plugin package for both Antigravity 2.0 and Antigravity CLI - configure Antigravity remote MCP with the required `serverUrl` field and automatic OAuth discovery - reuse the existing `skills/agentkey/` package across Gemini and Antigravity without duplication - keep endpoint and release/version synchronization across every client - document Cursor, Gemini, Antigravity 2.0, and Antigravity CLI onboarding in English and Chinese ## Validation - `npx -y bats@1.12.0 tests/` (20/20 passing) - `npx -y @google/gemini-cli@0.54.4 extensions validate .` - verified all eight version values match `1.13.1` - verified Claude, Codex, Cursor, Kimi, Gemini, and Antigravity MCP endpoints remain synchronized - verified the AgentKey endpoint advertises OAuth protected-resource metadata - verified the branch merges cleanly with `chainbase-labs/main` ## Antigravity validation boundary The `agy` binary is not installed in the current environment, so a live CLI install was not run. The plugin layout, manifest fields, `serverUrl`, OAuth configuration, and shared Skill discovery are covered by automated assertions against the current Antigravity documentation. The documentation-prescribed `$schema` URL currently returns HTTP 404; the manifest retains the prescribed value while tests enforce the published schema locally. --------- Co-authored-by: Allen <0xfatdog@gmail.com>
67 lines
3.0 KiB
YAML
67 lines
3.0 KiB
YAML
name: verify-version-sync
|
|
|
|
# Guards against drift between the canonical version, the skill metadata, and
|
|
# every plugin manifest. release-please syncs them via extra-files; this job
|
|
# catches a manual edit that updates only one copy.
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'skills/agentkey/version.txt'
|
|
- 'skills/agentkey/scripts/check-update.sh'
|
|
- 'skills/agentkey/SKILL.md'
|
|
- '.claude-plugin/plugin.json'
|
|
- '.codex-plugin/plugin.json'
|
|
- '.cursor-plugin/plugin.json'
|
|
- '.kimi-plugin/plugin.json'
|
|
- 'gemini-extension.json'
|
|
- 'release-please-config.json'
|
|
pull_request:
|
|
paths:
|
|
- 'skills/agentkey/version.txt'
|
|
- 'skills/agentkey/scripts/check-update.sh'
|
|
- 'skills/agentkey/SKILL.md'
|
|
- '.claude-plugin/plugin.json'
|
|
- '.codex-plugin/plugin.json'
|
|
- '.cursor-plugin/plugin.json'
|
|
- '.kimi-plugin/plugin.json'
|
|
- 'gemini-extension.json'
|
|
- 'release-please-config.json'
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Assert versions match
|
|
run: |
|
|
set -euo pipefail
|
|
canonical=$(tr -d '[:space:]' < skills/agentkey/version.txt)
|
|
script=$(grep -E '^LOCAL_VERSION="[^"]+"' skills/agentkey/scripts/check-update.sh \
|
|
| head -1 | sed -E 's/^LOCAL_VERSION="([^"]+)".*/\1/')
|
|
claude_plugin=$(python3 -c 'import json; print(json.load(open(".claude-plugin/plugin.json"))["version"])')
|
|
codex_plugin=$(python3 -c 'import json; print(json.load(open(".codex-plugin/plugin.json"))["version"])')
|
|
cursor_plugin=$(python3 -c 'import json; print(json.load(open(".cursor-plugin/plugin.json"))["version"])')
|
|
kimi_plugin=$(python3 -c 'import json; print(json.load(open(".kimi-plugin/plugin.json"))["version"])')
|
|
gemini_extension=$(python3 -c 'import json; print(json.load(open("gemini-extension.json"))["version"])')
|
|
skill=$(awk '/^---/{c++; next} c==1 && /^version:/{print $2; exit}' skills/agentkey/SKILL.md)
|
|
echo "version.txt: $canonical"
|
|
echo "check-update.sh: $script"
|
|
echo "Claude plugin: $claude_plugin"
|
|
echo "Codex plugin: $codex_plugin"
|
|
echo "Cursor plugin: $cursor_plugin"
|
|
echo "Kimi plugin: $kimi_plugin"
|
|
echo "Gemini extension: $gemini_extension"
|
|
echo "SKILL.md: $skill"
|
|
if [ "$canonical" != "$script" ] \
|
|
|| [ "$canonical" != "$claude_plugin" ] \
|
|
|| [ "$canonical" != "$codex_plugin" ] \
|
|
|| [ "$canonical" != "$cursor_plugin" ] \
|
|
|| [ "$canonical" != "$kimi_plugin" ] \
|
|
|| [ "$canonical" != "$gemini_extension" ] \
|
|
|| [ "$canonical" != "$skill" ]; then
|
|
echo "::error::Version drift detected. release-please syncs all eight values from version.txt — re-run release-please or restore the values manually."
|
|
exit 1
|
|
fi
|