Skip to content

feat(tools): add --all flag for bulk install/plan with auth hints#22

Merged
alohays merged 1 commit into
mainfrom
feat/tools-install-all
Mar 19, 2026
Merged

feat(tools): add --all flag for bulk install/plan with auth hints#22
alohays merged 1 commit into
mainfrom
feat/tools-install-all

Conversation

@alohays
Copy link
Copy Markdown
Owner

@alohays alohays commented Mar 19, 2026

Summary

  • Add --all flag to bin/dotfiles tools install and tools plan for bulk operation across all 10 supported tools
  • Add post-install auth hints for tools requiring authentication (gws, slack-cli, rtk) — shown per-tool and as a summary after --all
  • Continue-on-error semantics: one tool failing does not abort the rest, with colored ok/fail summary

Details

New commands:

bin/dotfiles tools install --all          # install all 10 tools
bin/dotfiles tools plan --all             # show install plans for all tools
bin/dotfiles tools install --all --method brew  # force brew for all

Auth hints:

dotfiles: Authenticate: gws auth login
dotfiles: Authenticate: slack login
dotfiles: Authenticate: rtk auth login

New functions in tools.sh:

  • _dotfiles_tool_auth_hint() — maps tool names to auth commands (extensible via case arms)
  • _dotfiles_show_auth_hint() — displays auth hint after individual tool install
  • dotfiles_install_all_tools() — iterates all tools with ok/fail counters + auth summary
  • dotfiles_plan_all_tools() — prints indented plans for all tools

Test plan

  • bin/dotfiles tools plan --all outputs all 10 tools
  • DOTFILES_DRY_RUN=1 bin/dotfiles tools install --all dry-run with "dry-run complete" header + auth summary
  • bin/dotfiles tools install --all sometool errors with mutual exclusivity message
  • Individual tool install shows auth hint (DOTFILES_DRY_RUN=1 bin/dotfiles tools install googleworkspace-cli)
  • python3 -m pytest tests/test_standard_first.py -v — 14 passed (2 new)
  • bash -n scripts/sh/tools.sh — syntax OK
  • Code review: POSIX sh compliant, no bashisms

🤖 Generated with Claude Code

Support installing all supported tools at once via `bin/dotfiles tools
install --all`, mirroring the existing `packages --all` pattern. Add
post-install authentication hints for tools that require login (gws,
slack-cli, rtk) — shown both per-tool and as a summary after --all.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@alohays alohays merged commit 80ae672 into main Mar 19, 2026
2 checks passed
alohays added a commit that referenced this pull request Mar 19, 2026
…nd contributing

Feature --yolo install and tools install --all from PRs #22-#23 were
undocumented. This adds them prominently:

- README Quick Start: new "Full Setup: One Command" section for --yolo
- README What You Get: add yolo mode row, fix test count 66 -> 78
- README Agent Tools: document tools install/plan --all, auth hints
- docs/visual.md: restructure full setup section to lead with --yolo
- CONTRIBUTING.md: add tools.sh/packages.sh/banner.sh to architecture
  tree, add Environment Variables subsection for DOTFILES_* coordination
- Fix packages.sh --all help text bug (said default,agents, actually
  installs default,agents,visual)

Co-Authored-By: Claude Opus 4.6 (1M context) <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