feat: selective reconfigure menu for install.sh#42
Merged
dasirra merged 12 commits intoMar 26, 2026
Conversation
merge: develop into main
fix: remove legacy .initialized cleanup from entrypoint
When .env exists, show a two-level TUI menu letting users jump directly to any agent/integration setting instead of re-running the full sequential wizard. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Extract _integration_status into installer/lib.sh so tests source the real function instead of a duplicated copy. Switch sed to -E (ERE) for correct parentheses matching in the reconfigure submenu. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Resolve submenu labels via manifest lookup instead of hardcoded strings - Validate non-empty git name/email before saving in _run_git_identity - Add Discord status to reconfigure summary - Ensure OPENCLAW_GATEWAY_TOKEN exists in .env during reconfigure Co-Authored-By: Claude Opus 4.6 (1M context) <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
Adds a two-level TUI menu to
install.shthat activates when.envalready exists, letting returning users jump directly to any agent/integration setting instead of walking through the full sequential wizard. Fresh installs are completely unchanged.Source
Closes #40
What Changed
install.sh.envexists, sources all integration modules, runsrun_reconfigure_menu+run_reconfigure_summary, then exits — the sequential wizard is never reached_integration_status AGENT_ID INTG— returns "configured" / "not configured" based on env tokens or GWS credentials file; defined globally so tests can reference it_run_git_identity— extracts Screen 3 git identity prompts into a reusable function; Screen 3 now calls it_run_agent_submenu AGENT_ID NAME— per-agent submenu loop with integration status annotations; dispatches to existing module functions; guardsrun_discord_sharedbehind a guild-already-set checkrun_reconfigure_menu— top-level agent menu loop; buildsid|namemap once per invocation (singlejqcall) to avoid redundant subprocessesrun_full_agent_setup AGENT_ID— runs full setup for an agent marked "(not installed)"run_reconfigure_summary— shows configured agents/integrations, creates runtime dirs, offersmake restarttests/reconfigure.bats(new)_integration_statuscovering all integration types (discord, github, claude, gws, xurl) plus agent-id uppercasing and unknown integration fallbackTasks
_integration_statusrun_discord_shared, duplicatelocaldeclaration, stale comment, redundant jq passes, added sync comment in test fileCode Review
Two MUST_FIX issues found and resolved:
run_discord_sharedwas called unconditionally in reconfigure mode — now guarded by[ -z "$(env_get "DISCORD_GUILD")" ]in both_run_agent_submenuandrun_full_agent_setuplocal aid_upper token_valwas declared twice in the same function scope inrun_reconfigure_menu— removed redundant second declarationThree SHOULD_FIX issues also resolved: stale comment removed, jq pass count halved via
id|namemap, sync comment added to test file.Built autonomously by
/build