Skip to content

Add interactive setup script with checkbox UI for streamlined installation#1

Open
orrgottlieb wants to merge 3 commits intoomril321:mainfrom
orrgottlieb:add-setup-automation
Open

Add interactive setup script with checkbox UI for streamlined installation#1
orrgottlieb wants to merge 3 commits intoomril321:mainfrom
orrgottlieb:add-setup-automation

Conversation

@orrgottlieb
Copy link

Summary

This PR introduces a comprehensive interactive setup script that dramatically simplifies the installation process for Claude Code skills, commands, and hooks. The new setup provides a modern checkbox-based UI for selective installation and automatic settings configuration.

Key Changes

1. Interactive Setup Script (setup.sh)

A full-featured bash script that provides:

  • Interactive checkbox menus for selecting which items to install

    • Intuitive keyboard navigation (↑↓ to move, space to toggle, a to select all, n to deselect all)
    • Visual indicators showing already installed items (dimmed)
    • Only actionable items are selectable
  • Multiple installation modes

    • Interactive mode (default): User-friendly checkbox selection
    • Batch mode (--all): Non-interactive installation of everything
    • Selective batch modes (--with-gemini, --no-gemini): Control optional components
    • Uninstall mode (--uninstall): Remove previously installed items with the same UI
  • Automatic settings.json configuration

    • Registers SessionStart hooks automatically
    • Creates backup before modification
    • Uses proper nested structure with matcher and hooks array
  • Smart detection

    • Identifies existing installations and skips them
    • Validates prerequisites (jq, ~/.claude directory)
    • Detects PATH configuration for scripts
    • Checks for GEMINI_API_KEY environment variable
  • Enhanced UX

    • Color-coded output (info, success, skip, error)
    • Clear progress indicators
    • Comprehensive summary at the end
    • Help text with usage examples

2. Complete README Overhaul

Rewrote the installation section to:

  • Feature the new setup script as the recommended method
  • Provide clear examples for all installation modes
  • Include keyboard shortcuts reference
  • Document the uninstall process
  • Maintain manual installation instructions as fallback
  • Fix settings.json structure documentation (proper nested format with matcher)

3. Removed settings.json Template

  • Eliminates the need for a separate template file
  • Setup script now handles settings.json configuration automatically
  • Reduces confusion about the correct configuration format
  • Ensures consistent hook registration structure

Benefits

  • Faster onboarding: One command (./setup.sh) instead of multiple manual steps
  • Fewer errors: Automated configuration prevents copy-paste mistakes
  • Better UX: Interactive UI makes selection intuitive and visual
  • Flexibility: Supports both interactive and automated workflows
  • Safer: Creates backups, validates prerequisites, handles edge cases
  • Reversible: Built-in uninstall mode with the same intuitive UI

Test Plan

  • ✅ Interactive installation with selective items
  • ✅ Batch installation with --all
  • ✅ Uninstall mode
  • ✅ Skip logic for already installed items
  • ✅ Settings.json configuration and backup
  • ✅ Help text and error handling
  • ✅ Color output and UI rendering

🤖 Generated with Claude Code

orrgottlieb and others added 3 commits February 11, 2026 14:44
- Add setup.sh: Interactive installer with checkbox menus for skills, commands, and hooks
  - Supports --all flag for non-interactive installation
  - Includes --uninstall mode for clean removal
  - Automatically configures settings.json with SessionStart hooks
  - Optional gemini-image script installation with PATH and API key detection

- Add settings.json: Complete recommended configuration example
  - Model set to claude-opus-4-6
  - SessionStart hooks with proper matcher/nested hooks structure
  - Status line using @owloops/claude-powerline via npx

- Update README.md: Improve settings documentation
  - Expand Hook Registration section into comprehensive Settings section
  - Document status line configuration
  - Add subsections for better organization

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Remove settings.json file (not needed in repo)
- Remove model configuration from README (user preference)
- Remove statusLine configuration from README (user preference)
- Simplify Settings section back to Hook Registration only
- Keep hook registration example with proper matcher/nested hooks structure

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add Interactive Setup section as the recommended installation method
- Document setup.sh features: checkbox menus, keyboard shortcuts, auto-configuration
- Add Non-Interactive Installation section with --all flag examples
- Add Uninstall section documenting --uninstall flag
- Move manual installation to separate section for users who prefer it
- Reorganize installation documentation for better flow

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
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.

1 participant