Skip to content

Update shell installer: fix URLs, improve Node/Bun setup, add password management#33

Merged
github-actions[bot] merged 2 commits into
masterfrom
claude/session-cwfhqs
Jul 10, 2026
Merged

Update shell installer: fix URLs, improve Node/Bun setup, add password management#33
github-actions[bot] merged 2 commits into
masterfrom
claude/session-cwfhqs

Conversation

@vtempest

Copy link
Copy Markdown
Collaborator

Summary

This PR updates the shell installer script with repository name corrections, improved installation reliability for Node.js and Bun, and adds password management functionality for SSH setup.

Key Changes

  • Repository URL Updates: Changed all references from appdemo-starter-template to starter-app-dev-tools and updated outdated vtempest/server-shell-setup reference
  • Simplified Installation Commands: Updated usage examples to use piped bash syntax (wget -qO- ... | bash) instead of command substitution for better compatibility
  • Node.js Installation Improvements:
    • Fixed PATH setup by directly exporting VOLTA_HOME and updating PATH instead of sourcing .bashrc (which fails in non-interactive shells)
    • Added verification that node/npm are available after installation
    • Improved error handling with success/failure messages
  • Bun Installation Improvements:
    • Changed from command substitution to piped bash syntax
    • Added explicit PATH exports for the current session
    • Added fish shell integration and verification checks
    • Improved error handling with version display on success
  • Password Management:
    • Added new check_passwords() function to verify and set root/user passwords before installation
    • Passwords are cached in variables and reused throughout the script to avoid repeated prompts
    • Includes terminal availability checks and graceful fallback messages
  • SSH Password Authentication:
    • Uncommented and refactored enable_ssh_with_password() function
    • Now reuses passwords from check_passwords() to avoid duplicate prompts
    • Maintains backward compatibility with manual password entry if needed
  • Fish Shell Compatibility: Added explanatory comments about why piped bash is used instead of command substitution in fish functions

Notable Implementation Details

  • The script now properly handles non-interactive execution (e.g., piped from wget) by managing environment variables directly rather than relying on shell profile sourcing
  • Password verification uses passwd -S to check if passwords are already set, avoiding unnecessary prompts
  • Terminal availability is tested before attempting to read passwords interactively
  • The check_passwords() function is called early in main() to ensure credentials are available for all subsequent operations

https://claude.ai/code/session_01Fy6VhHazSUDjgDefKf3WSH

claude added 2 commits July 10, 2026 18:26
install_node relied on 'source ~/.bashrc' to pick up Volta's PATH, but
.bashrc returns early in non-interactive shells (piped 'wget ... | bash'),
so npm/node were never on PATH for the rest of the script — breaking
'npm i -g nushell' and the global package installs.

- Export VOLTA_HOME and PATH directly for the current session
- Verify node/npm after install and report success/failure
- Export BUN_INSTALL/PATH after the bun installer so bun is usable
  immediately, and register both volta and bun paths with fish only
  when fish is installed

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fy6VhHazSUDjgDefKf3WSH
- Check at script start whether root and user passwords are set
  (passwd -S); if missing, offer to use one password for both,
  prompt once, set via chpasswd, and cache sudo credentials so the
  password is reused throughout the run
- Restore enable_ssh_with_password (was commented out but still
  referenced by the ssh component) and make it reuse the passwords
  collected at startup instead of prompting again
- Fix the fish setup function: bash-style "$( wget ... )" made fish
  fail with 'command substitutions not allowed here'; pipe to bash
  instead and point at this repo's raw URL
- Update stale usage URLs in the header to this repository

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fy6VhHazSUDjgDefKf3WSH
@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
app-demo Building Building Preview, Comment Jul 10, 2026 6:34pm
appdemo-dev-tools Building Building Preview, Comment Jul 10, 2026 6:34pm
appdemo-dev-tools-9bf9 Error Error Jul 10, 2026 6:34pm
appdemo-dev-tools-9bhw Building Building Preview, Comment Jul 10, 2026 6:34pm
appdemo-dev-tools-a54o Building Building Preview, Comment Jul 10, 2026 6:34pm
appdemo-dev-tools-hxgy Building Building Preview, Comment Jul 10, 2026 6:34pm
appdemo-dev-tools-qz8y Building Building Preview, Comment Jul 10, 2026 6:34pm
appdemo-starter-docs Error Error Jul 10, 2026 6:34pm
cccp-deployment Building Building Preview, Comment Jul 10, 2026 6:34pm

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