0.1.0 • Published 1 year ago

pinman v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Pinman

by @Linojon

Virtual Pinball Table Manager

Pinman is a virtual pinball table and media file manager that lets you keep all table-specific files and meta data in its own folder, separatated from the code.

Pinman helps you maintain a library of your virtual pinball tables. With Pinman you can install, backup, organize, and maintain multiple versions of your pinball tables, across one or more virutal pinball machines.

  • Each table is organized in a single folder, with subfolders for each version or variant.
  • Each table version includes its own manifest file that describes the files and configuration. (No central data store).
  • Command line tools let you add, collect, deploy, clone, and archive tables.
  • Your tables collection can be on a separate computer from the pincab.
  • You Install a Table to one a target Machine, where its files and configuration data are copied to the appropriate Software folders and files.
  • Inversely, you can Collect existing files and game state from a Machine, to initialize or synchronize a table version.
  • The project will be open source, written in node and typescript.

Why YAML?

In Pinman we use YAML for configuration and manifest files. YAML is a is a plain text human-readable data-serialization language commonly used for configuration files.

  • YAML is more structures than INI files
  • YAML is more compact and readable than XML files
  • YAML can be commented unlike JSON files
  • YAML is human readable unlike binary CFG or database files

Usage

$ npm install -g vpin
$ vpin COMMAND
running command...
$ vpin (--version)
vpin/0.0.0 win32-x64 node-v16.17.0
$ vpin --help [COMMAND]
USAGE
  $ vpin COMMAND
...
$ npm install -g oclif-hello-world
$ oex COMMAND
running command...
$ oex (--version)
oclif-hello-world/0.0.0 darwin-x64 node-v16.13.1
$ oex --help [COMMAND]
USAGE
  $ oex COMMAND
...

Commands

vpin hello PERSON

Say hello

USAGE
  $ vpin hello [PERSON] -f <value>

ARGUMENTS
  PERSON  Person to say hello to

FLAGS
  -f, --from=<value>  (required) Who is saying hello

DESCRIPTION
  Say hello

EXAMPLES
  $ oex hello friend --from oclif
  hello friend from oclif! (./src/commands/hello/index.ts)

See code: dist/commands/hello/index.ts

vpin hello world

Say hello world

USAGE
  $ vpin hello world

DESCRIPTION
  Say hello world

EXAMPLES
  $ vpin hello world
  hello world! (./src/commands/hello/world.ts)

vpin help [COMMAND]

Display help for vpin.

USAGE
  $ vpin help [COMMAND] [-n]

ARGUMENTS
  COMMAND  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for vpin.

See code: @oclif/plugin-help

vpin plugins

List installed plugins.

USAGE
  $ vpin plugins [--core]

FLAGS
  --core  Show core plugins.

DESCRIPTION
  List installed plugins.

EXAMPLES
  $ vpin plugins

See code: @oclif/plugin-plugins

vpin plugins:install PLUGIN...

Installs a plugin into the CLI.

USAGE
  $ vpin plugins:install PLUGIN...

ARGUMENTS
  PLUGIN  Plugin to install.

FLAGS
  -f, --force    Run yarn install with force flag.
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Installs a plugin into the CLI.
  Can be installed from npm or a git url.

  Installation of a user-installed plugin will override a core plugin.

  e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
  will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
  the CLI without the need to patch and update the whole CLI.


ALIASES
  $ vpin plugins add

EXAMPLES
  $ vpin plugins:install myplugin

  $ vpin plugins:install https://github.com/someuser/someplugin

  $ vpin plugins:install someuser/someplugin

vpin plugins:inspect PLUGIN...

Displays installation properties of a plugin.

USAGE
  $ vpin plugins:inspect PLUGIN...

ARGUMENTS
  PLUGIN  [default: .] Plugin to inspect.

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Displays installation properties of a plugin.

EXAMPLES
  $ vpin plugins:inspect myplugin

vpin plugins:install PLUGIN...

Installs a plugin into the CLI.

USAGE
  $ vpin plugins:install PLUGIN...

ARGUMENTS
  PLUGIN  Plugin to install.

FLAGS
  -f, --force    Run yarn install with force flag.
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Installs a plugin into the CLI.
  Can be installed from npm or a git url.

  Installation of a user-installed plugin will override a core plugin.

  e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
  will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
  the CLI without the need to patch and update the whole CLI.


ALIASES
  $ vpin plugins add

EXAMPLES
  $ vpin plugins:install myplugin

  $ vpin plugins:install https://github.com/someuser/someplugin

  $ vpin plugins:install someuser/someplugin

vpin plugins:link PLUGIN

Links a plugin into the CLI for development.

USAGE
  $ vpin plugins:link PLUGIN

ARGUMENTS
  PATH  [default: .] path to plugin

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Links a plugin into the CLI for development.
  Installation of a linked plugin will override a user-installed or core plugin.

  e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
  command will override the user-installed or core plugin implementation. This is useful for development work.


EXAMPLES
  $ vpin plugins:link myplugin

vpin plugins:uninstall PLUGIN...

Removes a plugin from the CLI.

USAGE
  $ vpin plugins:uninstall PLUGIN...

ARGUMENTS
  PLUGIN  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ vpin plugins unlink
  $ vpin plugins remove

vpin plugins:uninstall PLUGIN...

Removes a plugin from the CLI.

USAGE
  $ vpin plugins:uninstall PLUGIN...

ARGUMENTS
  PLUGIN  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ vpin plugins unlink
  $ vpin plugins remove

vpin plugins:uninstall PLUGIN...

Removes a plugin from the CLI.

USAGE
  $ vpin plugins:uninstall PLUGIN...

ARGUMENTS
  PLUGIN  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ vpin plugins unlink
  $ vpin plugins remove

vpin plugins update

Update installed plugins.

USAGE
  $ vpin plugins update [-h] [-v]

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Update installed plugins.

oex hello PERSON

Say hello

USAGE
  $ oex hello [PERSON] -f <value>

ARGUMENTS
  PERSON  Person to say hello to

FLAGS
  -f, --from=<value>  (required) Who is saying hello

DESCRIPTION
  Say hello

EXAMPLES
  $ oex hello friend --from oclif
  hello friend from oclif! (./src/commands/hello/index.ts)

See code: dist/commands/hello/index.ts

oex hello world

Say hello world

USAGE
  $ oex hello world

DESCRIPTION
  Say hello world

EXAMPLES
  $ oex hello world
  hello world! (./src/commands/hello/world.ts)

oex help [COMMAND]

Display help for oex.

USAGE
  $ oex help [COMMAND] [-n]

ARGUMENTS
  COMMAND  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for oex.

See code: @oclif/plugin-help

oex plugins

List installed plugins.

USAGE
  $ oex plugins [--core]

FLAGS
  --core  Show core plugins.

DESCRIPTION
  List installed plugins.

EXAMPLES
  $ oex plugins

See code: @oclif/plugin-plugins

oex plugins:inspect PLUGIN...

Displays installation properties of a plugin.

USAGE
  $ oex plugins:inspect PLUGIN...

ARGUMENTS
  PLUGIN  [default: .] Plugin to inspect.

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Displays installation properties of a plugin.

EXAMPLES
  $ oex plugins:inspect myplugin

oex plugins:install PLUGIN...

Installs a plugin into the CLI.

USAGE
  $ oex plugins:install PLUGIN...

ARGUMENTS
  PLUGIN  Plugin to install.

FLAGS
  -f, --force    Run yarn install with force flag.
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Installs a plugin into the CLI.

  Can be installed from npm or a git url.

  Installation of a user-installed plugin will override a core plugin.

  e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
  will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
  the CLI without the need to patch and update the whole CLI.

ALIASES
  $ oex plugins add

EXAMPLES
  $ oex plugins:install myplugin

  $ oex plugins:install https://github.com/someuser/someplugin

  $ oex plugins:install someuser/someplugin

oex plugins:link PLUGIN

Links a plugin into the CLI for development.

USAGE
  $ oex plugins:link PLUGIN

ARGUMENTS
  PATH  [default: .] path to plugin

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Links a plugin into the CLI for development.

  Installation of a linked plugin will override a user-installed or core plugin.

  e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
  command will override the user-installed or core plugin implementation. This is useful for development work.

EXAMPLES
  $ oex plugins:link myplugin

oex plugins:uninstall PLUGIN...

Removes a plugin from the CLI.

USAGE
  $ oex plugins:uninstall PLUGIN...

ARGUMENTS
  PLUGIN  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ oex plugins unlink
  $ oex plugins remove

oex plugins update

Update installed plugins.

USAGE
  $ oex plugins update [-h] [-v]

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Update installed plugins.