15  Publishing Your Module

This chapter covers how to submit a new community module, update an existing one, and what quality criteria to meet for both community and official JASP modules. The submission process uses Git and GitHub — if you’re not yet comfortable with those, review the Git basics in the setup chapter and the Git Workflow chapter first.

15.1 Community Module Submission

Community modules are managed through the modules-registry repository on GitHub under the jasp-stats-modules organization. To add your module, choose one of the two options below.

15.1.1 Option 1: Contact the Team

Open an issue on the JASP issue tracker or send a message on Mattermost. The JASP team will add it for you.

15.1.2 Option 2: Pull Request

  1. Fork the modules-registry repository.

  2. Add a new .yaml file in the modules-metadata/ folder. The filename should match your module name (e.g., jaspMyModule.yaml). The file needs two fields:

    name: "jaspMyModule"
    gitUrl: "https://github.com/yourname/jaspMyModule"
  3. Create a pull request to the modules-registry repository.

  4. After review and a successful merge, the JASP organization will fork your module repository and it will appear in the community modules list. Users running the JASP beta or nightly can then install it.

15.2 Updating a Community Module

Once your module is in the registry, the JASP organization maintains a fork of your repository at https://github.com/jasp-stats-modules/YourModuleName. When you have new features or bug fixes ready, open a cross-fork pull request from your repository to this fork:

  1. Find the fork: https://github.com/jasp-stats-modules/YourModuleName
  2. Create cross-fork PR:
    • Go to the JASP fork → Pull Requests → New Pull Request
    • Click “compare across forks”
    • Set:
      • Base repository: jasp-stats-modules/YourModuleName (JASP’s fork)
      • Base branch: master or main
      • Head repository: yourname/YourModuleName (your repo)
      • Compare branch: your update branch
    • Click Create pull request
  3. Review: the JASP team reviews and may request adjustments.
  4. Merge & sync: once merged, automated systems build and publish a beta release.

15.3 Updating an Official Module

Official modules (jasp-stats/jasp*) sync automatically:

  • Every push to the module repository triggers a beta bundle build.
  • For a proper release, ask a core programmer.
  • Update the NEWS file with a summary of changes before requesting a release.

15.4 Module Quality Checklists

15.4.1 Official JASP Module Checklist

Important

All items should be completed before requesting an official release.

15.4.2 Community JASP Module Checklist

Note

These are the minimum requirements for a community module to be accepted into the registry.