Skip to content

Refresh DevKit jig pages for jig 2.x (convert scope, msync rename, validate scope, jig.toml/renew) #466

Description

@miharp

Summary

The DevKit pages describe jig as it was around 1.5. Jig is now at v2.3.1 (2.0 shipped in July 2026), and several things the docs say are either narrower than reality or no longer true. The migrating.md page is the worst affected because its whole purpose is telling PDK users which jig command replaces which pdk command.

Came out of #464 / #465: the new CI page had to link straight to jig's own convert doc on GitHub because nothing on the site describes what jig convert does today.

Stale or incorrect statements

devkit/migrating.md

  • "Jig 1.5.0 and later includes a jig convert command that migrates a PDK-based module" (and the {: .info } note repeating the version). jig convert runs on any module that has a metadata.json, PDK-generated or hand-maintained, and overwrites Gemfile, Rakefile, and spec/spec_helper.rb. It's the general on-ramp to the toolchain, not a PDK-specific migration. The version note is obsolete.
  • The command table maps pdk update to jig update. That command was renamed in 2.0; it's jig msync update now. The *NOTE alert below the table repeats jig update.
  • The table gives bundle exec rake validate lint as the direct-tool equivalent of jig validate. jig validate runs three checks (rake validate, rake lint, rake rubocop) and has -s/-l/-r flags to pick a subset.

devkit/linting.md

  • "jig validate runs the validate and lint tasks together (equivalent to bundle exec rake validate lint)". Same issue: rubocop is included unless you pass -sl.

devkit/jig.md

  • Covers jig new, jig templates dump, and config.toml, and nothing else. Missing from 2.x: jig renew (re-render allowlisted files from templates), the per-module jig.toml (template source, [renew] allowlist, [build] packaging rules), jig templates resolve, remote template repositories (--template-url, [template] in jig.toml), and the [runner] section of config.toml that runs validate/test/msync through the VoxBox container instead of a host Ruby.
  • The config.toml example predates ssh_accept_new and [runner].
  • The "Migrate an existing module to Jig" section just points at the migration page, which (see above) undersells convert.

devkit/publishing.md

  • Not wrong as written, but 2.0 changed what jig build packages: it no longer reads .pdkignore/.pmtignore (it warns about them) and defaults to the module-spec allowlist, with a [build] section in jig.toml for exceptions. Anyone following the PDK migration path will hit that warning and find nothing about it here.

devkit/voxbox.md

  • Could mention that jig's [runner] type = "voxbox" config is the way to get jig validate and jig test unit running through the container, since the page already covers running the rake tasks directly in VoxBox.

Suggested shape

Rather than sprinkling 2.x details across pages, I'd:

  1. Fix the four factual items in migrating.md and linting.md (command rename, convert scope, validate scope) and drop the 1.5.0 version notes. Small PR.
  2. Expand jig.md with sections on jig.toml, renew, remote templates, and the container runner, and have ci.md's jig convert link point at our own page instead of GitHub once convert is described here.
  3. Add a "jig 2.0" paragraph to publishing.md about the build allowlist and .pdkignore.

Source for all of the above: https://github.com/voxpupuli/jig/tree/main/docs, in particular commands/convert.md, commands/validate.md, upgrading-to-2.0.md, and gotchas.md.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions