maestro

command module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 20, 2024 License: MIT Imports: 22 Imported by: 0

README

Go Reference CI

Maestro

A developer utility.

Installing

Prebuilt binaries are available here on GitHub

Linux and Mac users can run

curl -fsSL https://maestro.eighty4.tech/install.sh | sh

With Go 1.19 or later, you can install from source

go install github.com/eighty4/maestro@latest

Syncing with maestro git

Keep your workspace in sync with the maestro git command. This command performs a git pull --ff-only in each repository found nested within two subdirectories deep from the current working directory.

maestro git

A maestro.yaml file allows repositories to be configured, enabling a maestro git command to also clone repositories not already present in the workspace. Eventually this feature could be used to enable an export/import workflow with a dev machine's workspaces before formatting or replacing hardware. Configuring a maestro.yaml example is in the tests.

Workspace APIs

maestro/git provides the APIs for syncing a multi-repository workspace. git.NewWorkspace scans a directory for git repositories and provides access to the Workspace.Sync operation. Syncing delegates to git.Clone and git.Pull for each git.Repository configured with the workspace whether it's present or absent on within the workspace dir.

The maestro/composable module has wrappers for exec.Cmd to be used for managing local development processes and performing process healthchecks with HTTP GET and shell commands. Previous iterations could configure Gradle tasks, npm scripts and shell commands from a .maestro file. Re-visiting the project with the opportunity to use new Go tooling and language features (workspaces and generics), I rewrote process management but have yet to reimplement configuring and managing a local development environment.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
composable module
git module
npm
testutil module
util module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL