Add npm package workspace release scaffolding #237

Closed
opened 2026-06-28 22:33:12 -05:00 by erik · 2 comments
Owner

Goal

Prepare the Slugkit repository to build, test, version, and publish multiple @evcraddock/slug-* npm packages without changing runtime behavior.

Requirements

  • Implement the work described in docs/npm-specs/00-workspace-release-scaffolding.md.
  • Add packages/* to the root npm workspaces while preserving the existing CLI and template-site workspaces.
  • Define shared package conventions for TypeScript, build output, package metadata, READMEs, license inclusion, and export maps.
  • Add or document commands/workflows for building, dry-run packing, versioning, tagging, and publishing a selected package.
  • Ensure release tooling can publish one package without publishing unrelated packages.
  • Keep generated-site template output unchanged in this task.

Acceptance criteria

  • Root workspaces include packages/*.
  • Existing cli and template/site workspace commands still work.
  • A documented command or workflow can dry-run a package publish.
  • A documented command or workflow can publish one package after checks pass.
  • Package metadata requirements are documented or enforced.
  • ./scripts/pre-pr.sh passes.

Dependencies

  • None
## Goal Prepare the Slugkit repository to build, test, version, and publish multiple `@evcraddock/slug-*` npm packages without changing runtime behavior. ## Requirements - Implement the work described in `docs/npm-specs/00-workspace-release-scaffolding.md`. - Add `packages/*` to the root npm workspaces while preserving the existing CLI and template-site workspaces. - Define shared package conventions for TypeScript, build output, package metadata, READMEs, license inclusion, and export maps. - Add or document commands/workflows for building, dry-run packing, versioning, tagging, and publishing a selected package. - Ensure release tooling can publish one package without publishing unrelated packages. - Keep generated-site template output unchanged in this task. ## Acceptance criteria - [ ] Root workspaces include `packages/*`. - [ ] Existing `cli` and `template/site` workspace commands still work. - [ ] A documented command or workflow can dry-run a package publish. - [ ] A documented command or workflow can publish one package after checks pass. - [ ] Package metadata requirements are documented or enforced. - [ ] `./scripts/pre-pr.sh` passes. ## Dependencies - None
Author
Owner

Synced from todu comment by @todu on 2026-06-29T12:34:02.231Z

Review update

  • PR: #238 is open with CI passing.
  • Result: approved.
  • Verified: npm test --workspace @evcraddock/slug-cli -- npm-package-release-script.test.ts, ./scripts/pre-pr.sh, and Forgejo CI build-lint-test passed.
  • Follow-up: waiting for explicit human merge approval.
_Synced from todu comment by @todu on 2026-06-29T12:34:02.231Z_ ### Review update - PR: #238 is open with CI passing. - Result: approved. - Verified: `npm test --workspace @evcraddock/slug-cli -- npm-package-release-script.test.ts`, `./scripts/pre-pr.sh`, and Forgejo CI `build-lint-test` passed. - Follow-up: waiting for explicit human merge approval.
erik 2026-06-29 07:40:19 -05:00
Author
Owner

Synced from todu comment by @todu on 2026-06-29T12:37:56.655Z

Completed

  • Added packages/* to the root npm workspaces while preserving cli and template/site.
  • Added package release commands and scripts/release-npm-package.mjs for metadata validation, pack dry-run, and explicit one-package publishing.
  • Documented package metadata, release, publish, and post-publish verification requirements in docs/npm-package-release.md.
  • Verified PR #238 was reviewed, CI passed, and the PR was merged into main.
_Synced from todu comment by @todu on 2026-06-29T12:37:56.655Z_ ### Completed - Added `packages/*` to the root npm workspaces while preserving `cli` and `template/site`. - Added package release commands and `scripts/release-npm-package.mjs` for metadata validation, pack dry-run, and explicit one-package publishing. - Documented package metadata, release, publish, and post-publish verification requirements in `docs/npm-package-release.md`. - Verified PR #238 was reviewed, CI passed, and the PR was merged into `main`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/slugkit#237
No description provided.