A simple command line tool for bootstrapping a codebase and getting it ready for development. Perfect for onboarding new developers or setting up a fresh clone of a repository.
cargo install --path .Create a TOML file with the setup commands you want to run:
[[commands]]
title = "Install system dependencies"
command = "brew bundle"
[[commands]]
title = "Install Ruby version"
command = "rbenv install"
[[commands]]
title = "Install gems"
command = "bundle install"Then run getset up with the path to your TOML file:
getset up bootstrap.tomlOr, if you name your file getset.toml, you can run it without any arguments:
getset up # Uses getset.toml by defaultgetset up # Run commands from getset.toml (default)
getset up <file> # Run commands from a TOML file
getset up <file> --verbose # Show command text while running
getset up <file> --report # Show timing report at the end
getset up <file> --step <step> # Run only commands matching <STEP> (case-insensitive)Run with performance report:
getset up setup.toml --reportThis will show a timing breakdown at the end:
📊 Report
├──▶ 45.23s Install Homebrew dependencies
├──▶ 12.45s Install Node.js
├──▶ 8.32s Install Ruby
├──▶ 23.11s Install Node packages
├──▶ 15.67s Install Ruby gems
└─▶ 104.78s
You can optionally integrate with getdx.com's PlatformX to track usage metrics. Add a [platformx] section to your TOML config:
[[commands]]
title = "Install dependencies"
command = "npm install"
[platformx]
secret_key = "your_platformx_secret_key"
event_namespace = "myapp" # Optional: defaults to "getset"When configured, getset will automatically send the following events:
-
{namespace}.start: Sent when the command starts
- Metadata:
user_shell(e.g.,/bin/bash)
- Metadata:
-
{namespace}.complete: Sent when all commands complete successfully
- Metadata:
user_shell,duration(in seconds)
- Metadata:
-
{namespace}.error: Sent when a command fails
- Metadata:
user_shell,duration(in seconds),error_message
- Metadata:
Where {namespace} is the value of event_namespace (defaults to "getset" if not specified).
Note: PlatformX errors will not interrupt the CLI execution. If telemetry fails, the CLI will continue normally.