From 931276a6480fa826c8ad3589d887fac610f81033 Mon Sep 17 00:00:00 2001 From: Michael Harp Date: Sat, 20 Jun 2026 08:30:32 -0400 Subject: [PATCH] Update Jig references for repo move to voxpupuli/jig The Jig scaffolding tool moved from github.com/avitacco/jig to github.com/voxpupuli/jig. Update all repository URLs and refresh the prose to match Jig's current CLI (validated against the jig source): - Point all avitacco/jig links and the go install path at voxpupuli/jig. - Fix invalid commands in modules_publishing (jig module build, jig build build, jig module) to the actual jig build command. - Document the --skip-interview flag and its companion value flags on jig new module, and the template override precedence (the --template-dir flag, then the template_dir config key). Closes #346 Co-Authored-By: Claude Opus 4.8 Signed-off-by: Michael Harp --- PDK.markdown | 2 +- docs/_ecosystem_8x/devkit/components.md | 2 +- docs/_ecosystem_8x/devkit/jig.md | 18 +++++++++++++----- docs/_openvox_8x/modules_publishing.markdown | 6 +++--- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/PDK.markdown b/PDK.markdown index e7e6c71f8..cab2c7d00 100644 --- a/PDK.markdown +++ b/PDK.markdown @@ -26,4 +26,4 @@ OpenVox is compatible with PDK **3.4.0** and earlier for module development work The OpenVox community maintains tooling that replaces PDK workflows without requiring a commercial Puppet account: - **[VoxBox](https://github.com/voxpupuli/container-voxbox)** — A container image maintained by Vox Pupuli that includes rspec-puppet, Litmus, RuboCop, and other testing gems. It is the recommended way to run unit and acceptance tests for OpenVox modules in CI and local development. -- **[jig](https://github.com/avitacco/jig)** — A Go-based reimplementation of PDK. Ships as a single static binary with no Ruby runtime dependency and supports module scaffolding, building, and releasing. +- **[jig](https://github.com/voxpupuli/jig)** — A Go-based reimplementation of PDK. Ships as a single static binary with no Ruby runtime dependency and supports module scaffolding, building, and releasing. diff --git a/docs/_ecosystem_8x/devkit/components.md b/docs/_ecosystem_8x/devkit/components.md index e87a22e72..dc5c832b6 100644 --- a/docs/_ecosystem_8x/devkit/components.md +++ b/docs/_ecosystem_8x/devkit/components.md @@ -7,7 +7,7 @@ The Vox Pupuli developer toolkit is spread amongst many Ruby gems and other tool Most will be automatically pulled in via Bundler and the `Gemfile`, and some of the main ones will be listed at the bottom of this page for convenience. We'll focus on the tools that you may want to be aware of and install or use directly. -* [Jig](https://github.com/avitacco/jig) is useful for scaffolding content for new and existing modules. +* [Jig](https://github.com/voxpupuli/jig) is useful for scaffolding content for new and existing modules. All content it generates includes the appropriate barebones unit tests ready for you to fill out. It can also publish modules to the Puppet Forge. * [ModuleSync](https://github.com/voxpupuli/modulesync) helps maintain a portfolio of many modules at once. diff --git a/docs/_ecosystem_8x/devkit/jig.md b/docs/_ecosystem_8x/devkit/jig.md index 236c1ff2d..92975e34f 100644 --- a/docs/_ecosystem_8x/devkit/jig.md +++ b/docs/_ecosystem_8x/devkit/jig.md @@ -13,11 +13,11 @@ While OpenVox can technically load content this way in some cases, it's best to It's possible to create files and maintain the proper directory structure by hand and nothing prevents you from doing so. However, many people today prefer to use a scaffolding tool to maintain proper structure and consistency. -The tool we recommend for this today is [Jig](https://github.com/avitacco/jig). +The tool we recommend for this today is [Jig](https://github.com/voxpupuli/jig). ## Installing Jig -Download the latest release for your platform from the [releases page](https://github.com/avitacco/jig/releases). +Download the latest release for your platform from the [releases page](https://github.com/voxpupuli/jig/releases). Uncompress it and move the `jig` binary to a path like `/usr/local/bin`. {% include alert.html type="tip" title="macOS Security Alert" content="The packages are unsigned, so macOS won't open them by default. Run it once and cancel the warning dialog that tells you to trash it. @@ -29,7 +29,7 @@ This will place the compiled binary into `$GOPATH/bin`, which is likely to be `~ Ensure that location is in your `$PATH`. ```console -go install github.com/avitacco/jig@latest +go install github.com/voxpupuli/jig@latest ``` ## Creating a new module @@ -47,6 +47,9 @@ Source URL for the module []: https://http.cat/status/404 Created new module demo in /Users/ben.ford/Projects/demo ``` +To skip the interview and take the values from your config file, flags, or defaults instead, pass `--skip-interview` (or `-i`). +You can supply individual values with flags such as `--forge-user`, `--author`, `--license`, `--summary`, and `--source`. + Jig will create the full directory structure with starter files for the main class, Hiera data, rspec initialization helpers, etc. ```console @@ -123,7 +126,7 @@ Jig can create other types of content for your module: * `transport` _(uncommon)_ * Creates a new [Resource API](https://github.com/puppetlabs/puppet-resource_api) transport and its associated files. -See [Jig's GitHub page](https://github.com/avitacco/jig) for full documentation. +See [Jig's GitHub page](https://github.com/voxpupuli/jig) for full documentation. ## Configuring Jig @@ -148,7 +151,12 @@ To customize them, you'd dump them to disk and then edit as you like. jig templates dump ~/.config/jig/templates ``` -To use your new templates, add this directory to your Jig config file. +Any template found in your directory takes precedence over the embedded default, and any template you don't override falls back to the embedded version, so you only need to include the files you want to change. + +To tell Jig where your templates live, use either of the following: + +* the `--template-dir` (`-t`) flag on `jig new`, which takes precedence, or +* the `template_dir` key in your Jig config file. ----- diff --git a/docs/_openvox_8x/modules_publishing.markdown b/docs/_openvox_8x/modules_publishing.markdown index 0b7c2a3ae..e4a469aa8 100644 --- a/docs/_openvox_8x/modules_publishing.markdown +++ b/docs/_openvox_8x/modules_publishing.markdown @@ -103,11 +103,11 @@ junit/ tmp/ ``` -The `.pdkignore` file excludes files during `jig module build` only. +The `.pdkignore` file excludes files during `jig build` only. For example, you might want spec tests in your source control but not in your module package, so you would list them in `.pdkignore`. To prevent files, such as those in temporary directories, from ever being checked into Git, use `.gitignore`. -If you have both a `.pdkignore` and a `.gitignore` file, the `jig module` command uses the `.pdkignore` file. +If you have both a `.pdkignore` and a `.gitignore` file, the `jig build` command uses the `.pdkignore` file. ### Removing symlinks from your module @@ -143,7 +143,7 @@ Related topics: To upload your module to the Forge, you first must build the module package. -1. From the command line in your module's root directory, run `jig build build`. This command generates a `.tar.gz` package and saves it in the module's `pkg/` subdirectory. +1. From the command line in your module's root directory, run `jig build`. This command generates a `.tar.gz` package and saves it in the module's `pkg/` subdirectory. For example: