Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Oct 7, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

hyperupcall and others added 12 commits October 4, 2025 22:33
Addresses review feedback on PR #2318:
- Rename function to _get-git-default-remote-name (dash naming convention)
- Scope function to operate on BASH_IT directory, not CWD
- Add command prefix to git commands for safety

Original implementation by Edwin Kofler (@hyperupcall)

Co-Authored-By: Edwin Kofler <edwin@kofler.dev>

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Adds strategic planning documents to guide technical debt reduction and
issue management for the bash-it project.

**New Documentation** (`docs/plans/`):

1. **Quick Reference** - TL;DR summary with:
   - 5 quick win bugs ready to fix
   - 6 strategic decisions needed
   - 18 stale issues to close
   - Actionable next steps

2. **Comprehensive Issue Analysis** - Detailed breakdown:
   - Categorizes all 32 open issues
   - Identifies fixable bugs vs. decisions needed
   - Recommends closure strategy for stale issues
   - Provides effort estimates and recommendations

3. **2025 Roadmap** - 6-month technical debt reduction plan:
   - Phase 1: Quick wins (5 bugs, 1 week)
   - Phase 2: Issue gardening (close stale, 1 week)
   - Phase 3: Strategic decisions (1 month)
   - Phase 4-7: Pre-commit expansion, docs, testing, packaging
   - Success metrics and KPIs
   - Risk management and resource requirements

**Key Findings**:
- 78% of issues are stale (>2 years old)
- 5 bugs can be fixed in ~4 hours
- Closing stale issues would reduce count from 32 → ~10
- Pre-commit cleanup can reach 80% coverage in 3 months

**CLAUDE.md Updates**:
- Added "Project Planning & Roadmaps" section
- Links to all three planning documents
- Makes strategic direction visible to AI assistants

These documents provide clear direction for maintainers and contributors
on priorities, technical debt, and project health improvements.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Addresses @akinomyoga's review feedback on PR #2344:

1. **Replace pushd/popd with git --git-dir/--work-tree**
   - More direct approach without changing shell directory
   - Avoids side effects from directory changes
   - Cleaner code without need for popd cleanup

2. **Simplify awk command**
   - Changed from: `awk 'NR==1 { name=$1; print name } $1 != name { exit 1 }'`
   - Changed to: `awk 'NR==1 { print $1 }'`
   - Use bash parameter expansion `${remote_name:-origin}` for fallback
   - Simpler, more readable, same behavior

**Testing:**
- ✅ Function correctly returns 'fork' for current repo
- ✅ Function correctly returns 'me' for test repo with non-standard remote
- ✅ Shellcheck passes with no warnings

Co-authored-by: akinomyoga <akinomyoga@users.noreply.github.com>

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
The down4me function was failing when users passed URLs with protocols
(http:// or https://) because it would create malformed URLs like:
http://downforeveryoneorjustme.com/http://example.com

**Changes:**
- Strip http:// and https:// protocols from input URLs
- Strip trailing slashes
- Use `command` prefix to bypass user aliases for curl/sed
- Add example for both URL and domain formats

**Testing:**
- Passes shellcheck with no warnings
- Passes shfmt formatting checks
- Works with both `down4me http://google.com` and `down4me google.com`

Closes #2296

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
The uninstall script was blindly restoring from an old backup file created
during initial installation, potentially overwriting months or years of user
changes made after installing bash-it.

**Problem:**
Users who ran uninstall.sh would lose all changes made to their bashrc
since the initial bash-it installation, with no way to recover them.

**Solution:**
Before restoring the old backup, create a new backup of the current config
at ~/.bashrc.pre-uninstall.bak (or ~/.bash_profile.pre-uninstall.bak).

**Benefits:**
- Users' current configurations are preserved
- Users can review and merge changes if needed
- Clear messaging about where to find the backup
- Backwards compatible with existing behavior

**Testing:**
- Passes shellcheck with no warnings
- Passes shfmt formatting checks

Closes #2238

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Updated all three planning documents to reflect the completed work:

**Issues Fixed (6 total)**:
- #2317: Auto-detect git remote (PR #2345)
- #2248: Laravel artisan completion (PR #2349)
- #2296: down4me URL malformation (PR #2350)
- #2260: SSH completion @ sign (PR #2351)
- #2238: Uninstall script backup (PR #2352)
- #2216: Node version conditional display (PR #2353)

**Changes to docs/plans/**:
1. bash-it-issues-comprehensive-analysis.md
   - Marked 5 quick wins as FIXED with PR numbers
   - Updated executive summary: 32 → 27 open issues
   - Updated work plan to show Phase 1 completed
   - Updated issue reference appendix

2. bash-it-quick-reference.md
   - Moved completed issues to "Fixed" section
   - Updated TL;DR metrics
   - Removed completed items from decision list
   - Updated metrics table with current progress

3. bash-it-roadmap-2025.md
   - Updated health metrics (32 → 27 issues)
   - Marked Phase 1 as COMPLETED
   - Listed all 6 PRs with dates
   - Updated success criteria checkmarks

**Remaining Work**:
- 1 quick fix (#2314 - todo alias rename)
- 18 stale issues to close
- 4 strategic decisions needed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Use -L flag with cp to dereference symlinks when backing up current config.
This ensures users with homesick or other symlink-based dotfile managers get
the actual file content backed up, not just another symlink.

Without this fix:
- User has ~/.bashrc -> ~/dotfiles/bashrc (symlink)
- Uninstall creates ~/.bashrc.pre-uninstall.bak -> ~/dotfiles/bashrc (symlink)
- If user later removes dotfiles repo, backup becomes dangling symlink

With this fix:
- User has ~/.bashrc -> ~/dotfiles/bashrc (symlink)
- Uninstall creates ~/.bashrc.pre-uninstall.bak (regular file with content)
- Backup is always accessible regardless of symlink target state

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@pull pull bot locked and limited conversation to collaborators Oct 7, 2025
@pull pull bot added the ⤵️ pull label Oct 7, 2025
@pull pull bot merged commit b2c131c into devliq:master Oct 7, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants