pinman
v0.1.0
Published
Virtual Pinball Files Manager
Downloads
3
Readme
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
vpin hello world
vpin help [COMMAND]
vpin plugins
vpin plugins:install PLUGIN...
vpin plugins:inspect PLUGIN...
vpin plugins:install PLUGIN...
vpin plugins:link PLUGIN
vpin plugins:uninstall PLUGIN...
vpin plugins:uninstall PLUGIN...
vpin plugins:uninstall PLUGIN...
vpin plugins update
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
oex hello world
oex help [COMMAND]
oex plugins
oex plugins:inspect PLUGIN...
oex plugins:install PLUGIN...
oex plugins:link PLUGIN
oex plugins:uninstall PLUGIN...
oex plugins update
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.