mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-08 06:26:45 +02:00
merge: incorporate origin/main into community-mode branch
Conflicts resolved: - VERSION: keep 0.14.0.0 (our branch > main's 0.13.5.0) - package.json: same version resolution - CHANGELOG.md: keep both entries, 0.14.0.0 above 0.13.5.0 - scripts/gen-skill-docs.ts: take main's version (Factory Droid refactor); our branch's changes live in resolvers/ which merged cleanly Main brought in v0.13.5.0 "Factory Droid Compatibility": --host factory generates Factory-native skills, --host all for all 3 hosts, processExternalHost() shared helper, sensitive skill safety, gstack-platform-detect binary, tool name translation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# gstack-platform-detect: show which AI coding agents are installed and gstack status
|
||||
printf "%-16s %-10s %-40s %s\n" "Agent" "Version" "Skill Path" "gstack"
|
||||
printf "%-16s %-10s %-40s %s\n" "-----" "-------" "----------" "------"
|
||||
for entry in "claude:claude" "codex:codex" "droid:factory" "kiro-cli:kiro"; do
|
||||
bin="${entry%%:*}"; label="${entry##*:}"
|
||||
if command -v "$bin" >/dev/null 2>&1; then
|
||||
ver=$("$bin" --version 2>/dev/null | head -1 || echo "unknown")
|
||||
case "$label" in
|
||||
claude) spath="$HOME/.claude/skills/gstack" ;;
|
||||
codex) spath="$HOME/.codex/skills/gstack" ;;
|
||||
factory) spath="$HOME/.factory/skills/gstack" ;;
|
||||
kiro) spath="$HOME/.kiro/skills/gstack" ;;
|
||||
esac
|
||||
status=$([ -d "$spath" ] && echo "INSTALLED" || echo "NOT INSTALLED")
|
||||
printf "%-16s %-10s %-40s %s\n" "$label" "$ver" "$spath" "$status"
|
||||
fi
|
||||
done
|
||||
@@ -10,6 +10,7 @@
|
||||
# ~/.claude/skills/gstack — global Claude skill install (git clone or vendored)
|
||||
# ~/.claude/skills/{skill} — per-skill symlinks created by setup
|
||||
# ~/.codex/skills/gstack* — Codex skill install + per-skill symlinks
|
||||
# ~/.factory/skills/gstack* — Factory Droid skill install + per-skill symlinks
|
||||
# ~/.kiro/skills/gstack* — Kiro skill install + per-skill symlinks
|
||||
# ~/.gstack/ — global state (config, analytics, sessions, projects,
|
||||
# repos, installation-id, browse error logs)
|
||||
@@ -63,6 +64,7 @@ if [ "$FORCE" -eq 0 ]; then
|
||||
echo "This will remove gstack from your system:"
|
||||
{ [ -d "$HOME/.claude/skills/gstack" ] || [ -L "$HOME/.claude/skills/gstack" ]; } && echo " ~/.claude/skills/gstack (+ per-skill symlinks)"
|
||||
[ -d "$HOME/.codex/skills" ] && echo " ~/.codex/skills/gstack*"
|
||||
[ -d "$HOME/.factory/skills" ] && echo " ~/.factory/skills/gstack*"
|
||||
[ -d "$HOME/.kiro/skills" ] && echo " ~/.kiro/skills/gstack*"
|
||||
[ "$KEEP_STATE" -eq 0 ] && [ -d "$STATE_DIR" ] && echo " $STATE_DIR"
|
||||
|
||||
@@ -169,6 +171,16 @@ if [ -d "$CODEX_SKILLS" ]; then
|
||||
done
|
||||
fi
|
||||
|
||||
# ─── Remove Factory Droid skills ────────────────────────────
|
||||
FACTORY_SKILLS="$HOME/.factory/skills"
|
||||
if [ -d "$FACTORY_SKILLS" ]; then
|
||||
for _ITEM in "$FACTORY_SKILLS"/gstack*; do
|
||||
[ -e "$_ITEM" ] || [ -L "$_ITEM" ] || continue
|
||||
rm -rf "$_ITEM"
|
||||
REMOVED+=("factory/$(basename "$_ITEM")")
|
||||
done
|
||||
fi
|
||||
|
||||
# ─── Remove Kiro skills ─────────────────────────────────────
|
||||
KIRO_SKILLS="$HOME/.kiro/skills"
|
||||
if [ -d "$KIRO_SKILLS" ]; then
|
||||
@@ -191,6 +203,18 @@ if [ -n "$_GIT_ROOT" ] && [ -d "$_GIT_ROOT/.agents/skills" ]; then
|
||||
rmdir "$_GIT_ROOT/.agents" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# ─── Remove per-project .factory/ sidecar ────────────────────
|
||||
if [ -n "$_GIT_ROOT" ] && [ -d "$_GIT_ROOT/.factory/skills" ]; then
|
||||
for _ITEM in "$_GIT_ROOT/.factory/skills"/gstack*; do
|
||||
[ -e "$_ITEM" ] || [ -L "$_ITEM" ] || continue
|
||||
rm -rf "$_ITEM"
|
||||
REMOVED+=("factory/$(basename "$_ITEM")")
|
||||
done
|
||||
|
||||
rmdir "$_GIT_ROOT/.factory/skills" 2>/dev/null || true
|
||||
rmdir "$_GIT_ROOT/.factory" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# ─── Remove per-project state ───────────────────────────────
|
||||
if [ -n "$_GIT_ROOT" ]; then
|
||||
if [ -d "$_GIT_ROOT/.gstack" ]; then
|
||||
|
||||
Reference in New Issue
Block a user