Skip to content

feat: add --local flag to install.sh for developer builds#8

Open
io41 wants to merge 1 commit intoJasonDocton:mainfrom
io41:feat/dev-install-script
Open

feat: add --local flag to install.sh for developer builds#8
io41 wants to merge 1 commit intoJasonDocton:mainfrom
io41:feat/dev-install-script

Conversation

@io41
Copy link

@io41 io41 commented Feb 24, 2026

Summary

Adds --local flag to install.sh so developers can install from a local checkout instead of downloading from GitHub.

Usage: ./install.sh --local (run from repo root)

What changes

The script already had two paths: git clone and zip fallback. This adds a third: local source.

In --local mode the script:

  • Requires Rust, Bun, rsync upfront (hard fail if missing)
  • Builds native modules from source via napi-rs (build_native_from_source helper)
  • Syncs packages to ~/.lucid/ with rsync (preserves .node binaries, skips node_modules)
  • Skips dependency auto-install, interactive prompts, auto-update, and Claude Code restart
  • Kills the running lucid-server so the new binary gets picked up on next use

cmake is a soft dependency — if missing, perception (video processing) is skipped with a warning.

Structure of the diff

Most of the +390/-167 is wrapping existing sections in if LOCAL_MODE / else blocks. The only net-new logic is:

  1. --local flag parsing + repo root validation (~20 lines)
  2. Platform detection + build_native_from_source() helper (~80 lines)
  3. Post-install pkill of old server (~3 lines)

Test plan

  • ./install.sh --local from repo root — builds and installs successfully
  • ./install.sh --local from non-repo dir — fails with clear error
  • ./install.sh (no flag) — unchanged behavior, no regressions
  • Missing cmake — warns and skips perception, doesn't fail
  • Missing Rust/Bun/rsync — hard fails with install instructions

🤖 Generated with Claude Code

@io41 io41 force-pushed the feat/dev-install-script branch 4 times, most recently from bcadf3c to 8b18245 Compare February 24, 2026 12:28
Adds `--local` mode to install.sh that builds from local source instead
of downloading from GitHub. In local mode: requires Rust + Bun, builds
native modules from source via napi-rs, uses rsync to sync packages,
skips dependency auto-install and interactive prompts, disables
auto-update.

Usage: ./install.sh --local

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@io41 io41 force-pushed the feat/dev-install-script branch from 8b18245 to 69505cf Compare February 24, 2026 14:50
@io41 io41 marked this pull request as ready for review February 24, 2026 15:06
@io41
Copy link
Author

io41 commented Feb 24, 2026

@JasonDocton I wanted to make it easier to contribute, by making it easier to build & install from local changes.

Seemed easiest to just add an optional --local flag to the install script.

Is this something you're interested in?

@JasonDocton
Copy link
Owner

@io41 You're an MVP! This is a great idea! Reviewing shortly- just getting back in town.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants