diff --git a/build.py b/build.py index bfd8872..45c3c78 100644 --- a/build.py +++ b/build.py @@ -161,6 +161,9 @@ def build(): # Auto-cleanup: keep first release + last 5 (per CLAUDE.md policy) cleanup_old_releases() + # Auto-deploy: sync shared files so Claude Code always has the latest + deploy_shared_files() + def cleanup_old_releases(): """Keep the first release (v1.0.0) and the last 5 releases, delete the rest.""" @@ -187,6 +190,37 @@ def cleanup_old_releases(): print(f"Cleaned {len(removed)} old releases: {', '.join(removed)}") +def deploy_shared_files(): + """Auto-deploy ssh.py, encryption.py, skill to shared dirs after build. + + Ensures Claude Code /ssh skill always uses the latest version. + Without this, editing tools/ssh.py updates the exe but NOT the live + ~/.server-connections/ssh.py that Claude Code actually calls. + """ + shared_dir = os.path.expanduser("~/.server-connections") + skill_dir = os.path.expanduser("~/.claude/commands") + + deploy_map = [ + (os.path.join(PROJECT_DIR, "tools", "ssh.py"), + os.path.join(shared_dir, "ssh.py")), + (os.path.join(PROJECT_DIR, "core", "encryption.py"), + os.path.join(shared_dir, "encryption.py")), + (os.path.join(PROJECT_DIR, "tools", "skill-ssh.md"), + os.path.join(skill_dir, "ssh.md")), + ] + + deployed = [] + for src, dst in deploy_map: + if not os.path.exists(src): + continue + os.makedirs(os.path.dirname(dst), exist_ok=True) + shutil.copy2(src, dst) + deployed.append(os.path.basename(dst)) + + if deployed: + print(f"Auto-deployed to local: {', '.join(deployed)}") + + if __name__ == "__main__": if "--clean" in sys.argv: clean() diff --git a/releases/ServerManager-v1.8.70-linux-x64 b/releases/ServerManager-v1.8.70-linux-x64 deleted file mode 100644 index 311c3c5..0000000 Binary files a/releases/ServerManager-v1.8.70-linux-x64 and /dev/null differ diff --git a/releases/ServerManager-v1.8.71-win-x64.exe b/releases/ServerManager-v1.8.75-win-x64.exe similarity index 97% rename from releases/ServerManager-v1.8.71-win-x64.exe rename to releases/ServerManager-v1.8.75-win-x64.exe index 8215b62..0886980 100644 Binary files a/releases/ServerManager-v1.8.71-win-x64.exe and b/releases/ServerManager-v1.8.75-win-x64.exe differ diff --git a/version.py b/version.py index c1c451a..e26f5b9 100755 --- a/version.py +++ b/version.py @@ -1,6 +1,6 @@ """Version info for ServerManager.""" -__version__ = "1.8.74" +__version__ = "1.8.75" __app_name__ = "ServerManager" __author__ = "aibot777" __description__ = "Desktop GUI for managing remote servers"