GitHub Installation Testing (Bash Migration)#13
Merged
Conversation
Creates a complete bash replacement for the GitHub installation script with comprehensive testing. ## Changes - `lib/github-utils.bash`: GitHub SSH utilities (shellcheck clean) - `bin/install/github.bash`: Complete bash installation script replacing github.zsh - `test/install/test-github-utils.bats`: 14 unit tests for utility functions - `test/install/test-github-installation.bats`: 6 integration tests for complete workflow ## Key Improvements - Eliminated zsh dependency entirely - shellcheck compliance ensures code quality - Comprehensive test coverage (20 total tests) - Cleaner error handling and user feedback - Consistent path handling with $DOTFILES variable This demonstrates the complete migration pattern for remaining installation scripts.
Adds critical instructions to prevent premature task completion and ensure proper draft PR workflow. ## Key Additions - **PR Completion Guardrails**: Never mark PR tasks completed until actually merged - **Draft PR Requirement**: Always use `gh pr create --draft` by default - **Project Tracker Protection**: Don't update roadmaps until merge confirmed - **Review Workflow Enforcement**: Prevents premature moves to next tasks These improvements address recent workflow issues where PRs were treated as complete before merge and draft mode wasn't used for review iteration.
Creates comprehensive roadmap tracking for bash migration project and updates setup improvements status. ## Task Documentation Updates - **2025-07-06-setup-improvements.md**: Updated status, marked infrastructure PRs complete, noted critical setup.zsh bug - **2025-07-07-bash-migration.md**: New epic documentation with 3-phase migration strategy, current PR status, technical patterns - **CLAUDE.md**: Enhanced multi-PR task management guidelines - emphasizes continuous updates throughout development ## Critical Issues Documented - setup.zsh $DOTFILES dependency bug (references files before repo cloned) - Complete bash migration strategy with Phase 1 in progress (PR #13) - Established patterns for shellcheck compliance and bats testing These files provide essential context for future development sessions and ensure project continuity.
ooloth
added a commit
that referenced
this pull request
Jul 7, 2025
Updates both setup improvements and bash migration task files to reflect the critical setup.zsh dependency ordering fix. ## Documentation Updates - **Setup improvements**: Added PR #14 section for critical dependency fix - **Bash migration**: Updated Phase 1 to completed, noted setup.zsh fix - **Current status**: Reflects PR #13 merged, PR #14 addressing critical bug - **Impact documentation**: Clarifies this fixes core setup functionality Maintains accurate project roadmap for future development sessions.
ooloth
added a commit
that referenced
this pull request
Jul 7, 2025
Completes Phase 1 SSH migration following the pattern established in PR #13. ## Changes - `lib/ssh-utils.bash`: SSH utilities with key detection, config management, agent operations - `bin/install/ssh.bash`: Complete bash replacement for ssh.zsh installation script - `test/install/test-ssh-utils.bats`: 14 comprehensive unit tests for utilities - `test/install/test-ssh-installation.bats`: 7 integration tests for complete workflow ## Key Improvements - shellcheck compliance with zero warnings - Better macOS version detection for ssh-add keychain flag - Comprehensive test coverage (21 total tests) - Cleaner separation of concerns with utility functions - More robust error handling This continues the bash migration effort and demonstrates the pattern can be successfully applied to different installation scripts.
This was referenced Jul 7, 2025
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.
💪 What
Complete bash migration of GitHub installation script with comprehensive testing infrastructure. Creates
lib/github-utils.bash,bin/install/github.bash, and full test suites replacing the original zsh implementation.Also includes: CLAUDE.md improvements and comprehensive task documentation for multi-PR bash migration epic.
🤔 Why
Demonstrates the complete migration pattern from zsh to bash + shellcheck + bats. This provides better tooling support, industry-standard testing, and easier maintenance while serving as the template for migrating remaining installation scripts.
👀 Usage
👩🔬 How to validate
bats test/install/test-github-*.batsshellcheck bin/install/github.bash lib/github-utils.bashbin/install/github.zshvsbin/install/github.bashsource bin/install/github.bash && echo "Success".claude/tasks/2025-07-07-bash-migration.md🔗 Related links