Skip to content

Conversation

@ai-cora
Copy link
Collaborator

@ai-cora ai-cora commented Dec 4, 2025

Summary

  • Add comprehensive bootstrap script (contrib/bootstrap) that sets up a fresh Mac or Linux workstation with metool, metool-packages, and keycutter in a single curl command
  • Add step-by-step guide (contrib/BOOTSTRAP.md) explaining the manual bootstrap process
  • Support MT_ROOT override in bin/mt for running from temporary locations during bootstrap
  • Use stow directly in install.sh for cleaner bootstrap process
  • Make lib/doctor.sh bash 3 compatible (macOS ships with bash 3.2)

Usage

# Full bootstrap (interactive)
curl -fsSL https://raw.githubusercontent.com/mbailey/metool/master/contrib/bootstrap | bash

# Skip keycutter setup
curl -fsSL ... | bash -s -- --skip-keycutter

# With pre-specified private module
curl -fsSL ... | bash -s -- --private-module git@github.com:user/metool-packages-dev.git

Test plan

  • Test on fresh Mac VM (using Tart)
  • Test on fresh Linux VM (Ubuntu/Fedora)
  • Verify idempotency (running twice doesn't break anything)
  • Test --skip-keycutter flag
  • Test --private-module flag

🤖 Generated with Claude Code

ai-cora and others added 2 commits December 4, 2025 10:56
Add comprehensive bootstrap script that sets up a fresh Mac or Linux
workstation with metool, metool-packages, and keycutter in a single
command.

Changes:
- contrib/bootstrap: Full bootstrap script with interactive keycutter
  setup and support for private modules
- contrib/BOOTSTRAP.md: Step-by-step guide explaining bootstrap process
- bin/mt: Support MT_ROOT override for running from temp locations
- install.sh: Use stow directly instead of install command for cleaner
  bootstrap
- lib/doctor.sh: Make bash 3 compatible (macOS ships with bash 3.2)

Usage:
  curl -fsSL https://raw.githubusercontent.com/mbailey/metool/master/contrib/bootstrap | bash

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

Co-Authored-By: Claude <noreply@anthropic.com>
Document the MT_ROOT override pattern for testing metool from worktrees
or clones without affecting the installed version. This enables LLMs to
test their changes when working on metool development.

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

Co-Authored-By: Claude <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.

2 participants