Add automatic repository update mechanism#6
Merged
bbernstein merged 3 commits intomainfrom Sep 9, 2025
Merged
Conversation
- Add update-repos.sh script for checking and updating all three repositories - Integrate update check into LacyLights.app launch process - Add update.sh convenience script for manual updates - Update README.md with documentation for update functionality - App now prompts to update before launching if updates are available Features: - Detects uncommitted changes and warns user - Checks for updates from remote repositories - Updates dependencies when package.json changes - Rebuilds TypeScript projects after updates - Supports auto-update mode and check-only mode 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Replace cd/cd.. with pushd/popd for safer directory navigation - Add script directory detection to ensure proper working directory - Add better error messages showing full paths for debugging - Verify we're in the lacylights directory before starting This fixes the "fatal: not a git repository" error when running updates. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Pull Request Overview
This PR adds a comprehensive automatic update mechanism that allows LacyLights to check for and install updates from all three repositories (lacylights-fe, lacylights-node, lacylights-mcp) before launching.
- Implements a new
update-repos.shscript with comprehensive repository update capabilities - Converts the existing
update.shto a simple wrapper that callsupdate-repos.sh - Integrates automatic update checking into the macOS app launcher
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| update.sh | Simplified to act as a wrapper script that forwards arguments to update-repos.sh |
| update-repos.sh | New comprehensive script that handles checking and updating all three repositories |
| README.md | Updated documentation to include new update commands and macOS app features |
| LacyLights.app/Contents/MacOS/LacyLights | Added automatic update checking functionality to the app launcher |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
- Use modern [[ ]] instead of [ ] for string comparisons in update-repos.sh - Add proper error handling for npm ci fallback with warning message - Add explicit error handling for build failures instead of silent || true - Fix inverted update check logic - script now returns proper exit codes: * Exit 0 when updates are available (so if statement executes) * Exit 1 when no updates available (so if statement is skipped) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a comprehensive automatic update mechanism that allows LacyLights to check for and install updates from all three repositories (lacylights-fe, lacylights-node, lacylights-mcp) before launching.
Changes
🔄 update-repos.sh - Core Update Script
pushd/popdfor safe directory navigation--checkor-c: Check for updates only--autoor-y: Update automatically without prompting📱 LacyLights.app Integration
🛠️ update.sh - Convenience Wrapper
./update.sh📖 Documentation Updates
Usage Examples
Problem Solved
Previously, LacyLights.app used whatever was currently in the directories without checking for newer versions. Now it ensures users always have the latest versions of all three repositories when launching the platform.
Safety Features
Test Plan
🤖 Generated with Claude Code