Skip to content

Commit 0c419e5

Browse files
Merge main into feature/add-qwen-support
Resolved conflicts in release workflow and CLI: - Integrated external script approach for release package creation - Added Qwen Code support to release script and CLI tool checking - Maintained all existing functionality for other AI assistants
2 parents fe4de3c + d605d1e commit 0c419e5

File tree

8 files changed

+442
-337
lines changed

8 files changed

+442
-337
lines changed

.github/workflows/manual-release.yml

Lines changed: 0 additions & 191 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 3 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
- 'memory/**'
88
- 'scripts/**'
99
- 'templates/**'
10+
- '.github/workflows/**'
1011
workflow_dispatch:
1112

1213
jobs:
@@ -61,119 +62,8 @@ jobs:
6162
- name: Create release package
6263
if: steps.check_release.outputs.exists == 'false'
6364
run: |
64-
# Create base package directory structure
65-
mkdir -p sdd-package-base
66-
67-
# Copy common folders to base
68-
if [ -d "memory" ]; then
69-
cp -r memory sdd-package-base/
70-
echo "Copied memory folder"
71-
fi
72-
73-
if [ -d "scripts" ]; then
74-
cp -r scripts sdd-package-base/
75-
echo "Copied scripts folder"
76-
fi
77-
78-
if [ -d "templates" ]; then
79-
mkdir -p sdd-package-base/templates
80-
# Copy templates folder but exclude the commands directory
81-
find templates -type f -not -path "templates/commands/*" -exec cp --parents {} sdd-package-base/ \;
82-
echo "Copied templates folder (excluding commands directory)"
83-
fi
84-
85-
# Generate command files for each agent from source templates
86-
generate_commands() {
87-
local agent=$1
88-
local ext=$2
89-
local arg_format=$3
90-
local output_dir=$4
91-
92-
mkdir -p "$output_dir"
93-
94-
for template in templates/commands/*.md; do
95-
if [[ -f "$template" ]]; then
96-
name=$(basename "$template" .md)
97-
description=$(awk '/^description:/ {gsub(/^description: *"?/, ""); gsub(/"$/, ""); print; exit}' "$template" | tr -d '\r')
98-
content=$(awk '/^---$/{if(++count==2) start=1; next} start' "$template" | sed "s/{ARGS}/$arg_format/g")
99-
100-
case $ext in
101-
"toml")
102-
{
103-
echo "description = \"$description\""
104-
echo ""
105-
echo "prompt = \"\"\""
106-
echo "$content"
107-
echo "\"\"\""
108-
} > "$output_dir/$name.$ext"
109-
;;
110-
"md")
111-
echo "$content" > "$output_dir/$name.$ext"
112-
;;
113-
"prompt.md")
114-
{
115-
echo "# $(echo "$description" | sed 's/\. .*//')"
116-
echo ""
117-
echo "$content"
118-
} > "$output_dir/$name.$ext"
119-
;;
120-
esac
121-
fi
122-
done
123-
}
124-
125-
# Create Claude Code package
126-
mkdir -p sdd-claude-package
127-
cp -r sdd-package-base/* sdd-claude-package/
128-
mkdir -p sdd-claude-package/.claude/commands
129-
generate_commands "claude" "md" "\$ARGUMENTS" "sdd-claude-package/.claude/commands"
130-
echo "Created Claude Code package"
131-
132-
# Create Gemini CLI package
133-
mkdir -p sdd-gemini-package
134-
cp -r sdd-package-base/* sdd-gemini-package/
135-
mkdir -p sdd-gemini-package/.gemini/commands
136-
generate_commands "gemini" "toml" "{{args}}" "sdd-gemini-package/.gemini/commands"
137-
if [ -f "agent_templates/gemini/GEMINI.md" ]; then
138-
cp agent_templates/gemini/GEMINI.md sdd-gemini-package/GEMINI.md
139-
fi
140-
echo "Created Gemini CLI package"
141-
142-
# Create GitHub Copilot package
143-
mkdir -p sdd-copilot-package
144-
cp -r sdd-package-base/* sdd-copilot-package/
145-
mkdir -p sdd-copilot-package/.github/prompts
146-
generate_commands "copilot" "prompt.md" "\$ARGUMENTS" "sdd-copilot-package/.github/prompts"
147-
echo "Created GitHub Copilot package"
148-
149-
# Create Qwen CLI package
150-
mkdir -p sdd-qwen-package
151-
cp -r sdd-package-base/* sdd-qwen-package/
152-
mkdir -p sdd-qwen-package/.qwen/commands
153-
generate_commands "qwen" "md" "\$ARGUMENTS" "sdd-qwen-package/.qwen/commands"
154-
if [ -f "agent_templates/qwen/QWEN.md" ]; then
155-
cp agent_templates/qwen/QWEN.md sdd-qwen-package/QWEN.md
156-
fi
157-
echo "Created Qwen CLI package"
158-
159-
# Create archive files for each package
160-
cd sdd-claude-package && zip -r ../spec-kit-template-claude-${{ steps.get_tag.outputs.new_version }}.zip . && cd ..
161-
162-
cd sdd-gemini-package && zip -r ../spec-kit-template-gemini-${{ steps.get_tag.outputs.new_version }}.zip . && cd ..
163-
164-
cd sdd-copilot-package && zip -r ../spec-kit-template-copilot-${{ steps.get_tag.outputs.new_version }}.zip . && cd ..
165-
166-
cd sdd-qwen-package && zip -r ../spec-kit-template-qwen-${{ steps.get_tag.outputs.new_version }}.zip . && cd ..
167-
168-
# List contents for verification
169-
echo "Claude package contents:"
170-
unzip -l spec-kit-template-claude-${{ steps.get_tag.outputs.new_version }}.zip | head -10
171-
echo "Gemini package contents:"
172-
unzip -l spec-kit-template-gemini-${{ steps.get_tag.outputs.new_version }}.zip | head -10
173-
echo "Copilot package contents:"
174-
unzip -l spec-kit-template-copilot-${{ steps.get_tag.outputs.new_version }}.zip | head -10
175-
echo "Qwen package contents:"
176-
unzip -l spec-kit-template-qwen-${{ steps.get_tag.outputs.new_version }}.zip | head -10
65+
chmod +x .github/workflows/scripts/create-release-packages.sh
66+
.github/workflows/scripts/create-release-packages.sh ${{ steps.get_tag.outputs.new_version }}
17767
17868
- name: Generate release notes
17969
if: steps.check_release.outputs.exists == 'false'

0 commit comments

Comments
 (0)