Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

On your mark, getset, go

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.

Installation

cargo install --path .

Usage

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.toml

Or, if you name your file getset.toml, you can run it without any arguments:

getset up  # Uses getset.toml by default

Command line options

getset 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)

Keep on top of slow steps

Run with performance report:

getset up setup.toml --report

This 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

PlatformX Integration

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)
  • {namespace}.complete: Sent when all commands complete successfully

    • Metadata: user_shell, duration (in seconds)
  • {namespace}.error: Sent when a command fails

    • Metadata: user_shell, duration (in seconds), error_message

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.

About

An experiment in making a simple CLI for running setup commands.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Contributors

Languages