starship-butler
v1.0.4
Published
Your best butler, helping you manage the whole development "starship". π
Maintainers
Readme
Starship Butler
[!Caution]
This package is still in development, and the API may change frequently.
[!Note]
This is an "opinionated" "butler", so that it's not suitable for everyone.
Your best butler, helping you manage the whole development "starship". π
Features
- π Quick management of your application configurations & local project configurations
- π¦ Built-in presets for popular tools (Git, ESLint, Prettier, etc.)
- π§° Easy to use CLI interface
- βοΈ Powered by Bun & TypeScript
- π Support symlink mode (experimental)
- π§Ή WIP: Auto cleanup when uninstalling
Usage
Install globally with node package manager (bun, npm, yarn, pnpm, etc.):
bun install starship-butler -gRun the cli and get help info with --help flag:
# Using Bun runtime
bun -b butler --help
# Using Node.js runtime
butler --helpPreset
Command preset helps you to preset your application configurations.
# Using Bun runtime
bun -b butler preset [...options]
# Using Node.js runtime
butler preset [...options]Applying all presets:
# Using Bun runtime
bun -b butler preset --all
# Using Node.js runtime
butler preset --allSpecifying included preset id pattern:
# Using Bun runtime
bun -b butler preset --include <preset_id_pattern>
# Using Node.js runtime
butler preset --include <preset_id_pattern>See help info for more details:
# Using Bun runtime
bun -b butler preset --help
# Using Node.js runtime
butler preset --helpSet
Command Set helps you to set local project configurations.
# Using Bun runtime
bun -b butler set <source_pattern> <target> [...options]
# Using Node.js runtime
butler set <source_pattern> <target> [...options]If source_pattern does not contain / character, it will be automatically prefix with ** in
order to match files in all sub-directories simply. In other word, butler set .eslintrc.json ./project/ is equivalent to butler set **/.eslintrc.json ./project/.
Notice that, if target is not exists yet, butler will judge whether it's a file path or a directory path according to the end character:
- If
targetis a directory, butler will allows you to choose multiple matched files - ...Otherwise, butler will only allows you to choose one matched file
For example, butler set .eslintrc.json ./project/ will copy all the chosen files to ./project, while butler set .eslintrc.json ./project will copy the only one chosen file to . and rename it to project.
See help info for more details:
# Using Bun runtime
bun -b butler set --help
# Using Node.js runtime
butler set --help