-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
99 lines (83 loc) · 2.83 KB
/
Copy pathaction.yml
File metadata and controls
99 lines (83 loc) · 2.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
name: 'acplugin - Claude Code Plugin Converter'
description: 'Convert Claude Code plugins to Codex, OpenCode, Cursor, and Antigravity formats'
author: 'TokenRollAI'
branding:
icon: 'refresh-cw'
color: 'purple'
inputs:
platforms:
description: 'Target platforms (comma-separated: codex,opencode,cursor,antigravity)'
required: false
default: 'codex,opencode,cursor,antigravity'
source:
description: 'Source directory to scan (relative to repo root)'
required: false
default: '.'
output:
description: 'Output directory (relative to repo root)'
required: false
default: '.'
all:
description: 'Convert all plugins without selection (for marketplace repos)'
required: false
default: 'true'
commit:
description: 'Auto-commit generated files'
required: false
default: 'true'
commit-message:
description: 'Commit message for auto-commit'
required: false
default: 'chore: auto-convert Claude Code plugins via acplugin'
outputs:
files-changed:
description: 'Number of files generated'
platforms-converted:
description: 'Platforms that were converted to'
runs:
using: 'composite'
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install acplugin
shell: bash
run: npm install -g @disdjj/acplugin
- name: Run conversion
id: convert
shell: bash
run: |
cd "${{ github.workspace }}"
SOURCE="${{ inputs.source }}"
OUTPUT="${{ inputs.output }}"
PLATFORMS="${{ inputs.platforms }}"
ALL_FLAG=""
if [ "${{ inputs.all }}" = "true" ]; then
ALL_FLAG="--all"
fi
echo "::group::acplugin convert"
acplugin convert "$SOURCE" --to "$PLATFORMS" -o "$OUTPUT" $ALL_FLAG 2>&1 | tee /tmp/acplugin-output.txt
echo "::endgroup::"
# Count generated files
FILE_COUNT=$(git diff --name-only | wc -l | tr -d ' ')
UNTRACKED=$(git ls-files --others --exclude-standard | wc -l | tr -d ' ')
TOTAL=$((FILE_COUNT + UNTRACKED))
echo "files-changed=$TOTAL" >> "$GITHUB_OUTPUT"
echo "platforms-converted=$PLATFORMS" >> "$GITHUB_OUTPUT"
echo "Generated $TOTAL file(s) for platforms: $PLATFORMS"
- name: Commit changes
if: inputs.commit == 'true'
shell: bash
run: |
cd "${{ github.workspace }}"
# Check if there are changes to commit
git diff --quiet && git diff --cached --quiet && [ -z "$(git ls-files --others --exclude-standard)" ] && {
echo "No changes to commit"
exit 0
}
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -A
git commit -m "${{ inputs.commit-message }}"
git push