Publishing Perl CodeMap

Maintainer: Scott Muller scott@21h.io.

The repository is public. The v0.3.1 distribution was uploaded to CPAN and successfully indexed by PAUSE as Perl::CodeMap on 2026-11-05. PAUSE accepted Perl-CodeMap-0.3.1.tar.gz from author MULLER and reported "Status of this distro: OK" and "The package was indexed successfully."

Users can install it with cpanm Perl::CodeMap; PPI is optional but recommended. Since v0.3.2, the CPAN distribution also includes detailed POD for the Perl module API and the executable (perl-codemap --help, perl-codemap --man, and perldoc perl-codemap). For future releases, follow RELEASING.md rather than reinitializing the repository.

Before publishing

Confirm changes and release artifacts contain only code you are authorized to share. The tracked examples/sample/, examples/demo.html, and docs/assets/example-map.png are synthetic. Generated reports may embed complete source files and must not be published if they contain proprietary code, secrets, or personal information.

git status --short
git diff --stat
git grep -n -E 'PASSWORD|TOKEN|PRIVATE_KEY' -- . ':!docs/PUBLISHING.md'

The quick text search is illustrative; use a dedicated secret-scanning tool for a real security review.

Repository metadata

Name: interrupt21h/perl-codemap.

Maintainer: Scott Muller scott@21h.io.

Description: Interactive code maps for Perl projects. Visualize package dependencies, explore modules and subroutines, and browse syntax-highlighted source code.

Topics: perl, static-analysis, dependency-graph, code-visualization, ppi, software-architecture, code-browser.

License: MIT; original Go CodeMap and PrismJS retain their respective third-party notices in NOTICE.md and the Prism license.

Releasing

The GitHub Release workflow uses $Perl::CodeMap::VERSION and validates the matching version tag; it produces the distribution tarball and a SHA-256 checksum. Do not overwrite an existing version or force-move a published tag. The workflow can be started through Actions → Release → Run workflow after the version and changelog are committed to main.

CPAN publication remains a separate manual step. Upload the same tested GitHub release tarball to PAUSE using the MULLER account, then confirm the acknowledgment and namespace-indexer reports. Do not create a second archive under the same version or add PAUSE credentials to public workflows. See RELEASING.md.

GitHub Pages

The existing CI workflow deploys a synthetic demo from examples/sample/ to https://interrupt21h.github.io/perl-codemap/ on successful pushes to main. It publishes only _site and never scans employer or customer source trees. See GITHUB_PAGES.md.