Update Sync-ai-instructions

This commit is contained in:
MaksTinyWorkshop
2026-03-28 12:26:32 +01:00
parent b6c2aba8e2
commit e9c1cb8ff9

View File

@@ -92,6 +92,84 @@ sync_skills_for_target() {
done
}
sync_codex_prompt_wrappers() {
local target_dir="$1"
local source_dir="$2"
local skill_dir
local skill_name
local dest
local tmp
mkdir -p "$target_dir"
[ -d "$source_dir" ] || return 0
for skill_dir in "$source_dir"/*; do
[ -d "$skill_dir" ] || continue
[ -f "$skill_dir/SKILL.md" ] || continue
skill_name="$(basename "$skill_dir")"
dest="$target_dir/leadtech-$skill_name.md"
tmp="$(mktemp)"
cat > "$tmp" <<EOF
---
description: 'Lead_tech: exécuter le skill $skill_name.'
---
Utilise le skill \`$skill_name\` depuis \`$skill_dir/SKILL.md\`.
Contrainte:
- Respecter strictement le workflow et les règles du skill.
- Si une information manque, le signaler explicitement avant d'agir.
EOF
if [ ! -f "$dest" ] || ! cmp -s "$tmp" "$dest"; then
mv "$tmp" "$dest"
CHANGED=1
else
rm -f "$tmp"
fi
done
}
sync_claude_command_wrappers() {
local target_dir="$1"
local source_dir="$2"
local skill_dir
local skill_name
local dest
local tmp
mkdir -p "$target_dir"
[ -d "$source_dir" ] || return 0
for skill_dir in "$source_dir"/*; do
[ -d "$skill_dir" ] || continue
[ -f "$skill_dir/SKILL.md" ] || continue
skill_name="$(basename "$skill_dir")"
dest="$target_dir/leadtech-$skill_name.md"
tmp="$(mktemp)"
cat > "$tmp" <<EOF
---
description: 'Lead_tech: exécuter le skill $skill_name.'
---
Utilise le skill \`$skill_name\` depuis \`$skill_dir/SKILL.md\`.
Contrainte:
- Respecter strictement le workflow et les règles du skill.
- Si une information manque, le signaler explicitement avant d'agir.
EOF
if [ ! -f "$dest" ] || ! cmp -s "$tmp" "$dest"; then
mv "$tmp" "$dest"
CHANGED=1
else
rm -f "$tmp"
fi
done
}
CLAUDE_HEADER="# Instructions globales — Lead Tech Copilote
Ce fichier est chargé automatiquement par Claude Code ou Codex à chaque session.
@@ -102,6 +180,8 @@ generate_repo_claude "$CLAUDE_HEADER" "$HOME/.claude/CLAUDE.md"
ensure_symlink "$HOME/.claude/CLAUDE.md" "$HOME/.codex/AGENTS.md"
sync_skills_for_target "$HOME/.claude/skills" "$SKILLS_SOURCE_DIR"
sync_skills_for_target "$HOME/.codex/skills" "$SKILLS_SOURCE_DIR"
sync_claude_command_wrappers "$HOME/.claude/commands" "$SKILLS_SOURCE_DIR"
sync_codex_prompt_wrappers "$HOME/.codex/prompts" "$SKILLS_SOURCE_DIR"
if [ "$CHANGED" -eq 1 ]; then
echo "Sync AI instructions (OS: $OS)"