Extract slug-core npm package #236

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

Goal

Create @evcraddock/slug-core as the low-level shared Slugkit package for common API types, constants, standard errors, metadata shapes, and pure helpers used by both the CLI and template site.

Requirements

  • Implement the work described in docs/npm-specs/01-slug-core.md.
  • Create packages/slug-core with TypeScript build, tests, README, package metadata, and public exports.
  • Extract or centralize shared API metadata types, standard error shapes, constants, version helpers, URL helpers, and related pure utilities.
  • Update the CLI to consume @evcraddock/slug-core via workspace:*.
  • Update the template site to consume @evcraddock/slug-core via workspace:*, keeping local wrappers where useful.
  • Ensure generated sites created after release depend on the published @evcraddock/slug-core package version.
  • Publish the package to npm and verify post-publish install/import behavior.

Acceptance criteria

  • @evcraddock/slug-core exists as a workspace package.
  • CLI consumes @evcraddock/slug-core via workspace:*.
  • Template site consumes @evcraddock/slug-core via workspace:*.
  • Generated sites created after release depend on the published @evcraddock/slug-core package.
  • Public exports are documented and tested.
  • Package is published and post-publish import verification succeeds.
  • ./scripts/pre-pr.sh passes.

Dependencies

  • task-d254919c
## Goal Create `@evcraddock/slug-core` as the low-level shared Slugkit package for common API types, constants, standard errors, metadata shapes, and pure helpers used by both the CLI and template site. ## Requirements - Implement the work described in `docs/npm-specs/01-slug-core.md`. - Create `packages/slug-core` with TypeScript build, tests, README, package metadata, and public exports. - Extract or centralize shared API metadata types, standard error shapes, constants, version helpers, URL helpers, and related pure utilities. - Update the CLI to consume `@evcraddock/slug-core` via `workspace:*`. - Update the template site to consume `@evcraddock/slug-core` via `workspace:*`, keeping local wrappers where useful. - Ensure generated sites created after release depend on the published `@evcraddock/slug-core` package version. - Publish the package to npm and verify post-publish install/import behavior. ## Acceptance criteria - [ ] `@evcraddock/slug-core` exists as a workspace package. - [ ] CLI consumes `@evcraddock/slug-core` via `workspace:*`. - [ ] Template site consumes `@evcraddock/slug-core` via `workspace:*`. - [ ] Generated sites created after release depend on the published `@evcraddock/slug-core` package. - [ ] Public exports are documented and tested. - [ ] Package is published and post-publish import verification succeeds. - [ ] `./scripts/pre-pr.sh` passes. ## Dependencies - task-d254919c
Author
Owner

Synced from todu comment by @todu on 2026-06-29T13:12:05.834Z

Review update

  • PR: #239 is open with CI passing after the workspace build-order fix.
  • Result: approved for merge.
  • Verified: slug-core typecheck/test/build, package pack dry-run, package release dry-run, ./scripts/pre-pr.sh, and Forgejo CI build-lint-test passed.
  • Follow-up: waiting for explicit human merge approval, then npm publish and post-publish verification before task closure.
_Synced from todu comment by @todu on 2026-06-29T13:12:05.834Z_ ### Review update - PR: #239 is open with CI passing after the workspace build-order fix. - Result: approved for merge. - Verified: slug-core typecheck/test/build, package pack dry-run, package release dry-run, `./scripts/pre-pr.sh`, and Forgejo CI `build-lint-test` passed. - Follow-up: waiting for explicit human merge approval, then npm publish and post-publish verification before task closure.
erik 2026-06-29 09:32:27 -05:00
Author
Owner

Synced from todu comment by @todu on 2026-06-29T14:29:12.498Z

Completed

  • Created @evcraddock/slug-core in packages/slug-core with package metadata, README, typed public exports, build/typecheck/test scripts, and tests.
  • Updated CLI and template site to consume @evcraddock/slug-core through the local workspace package at version 0.1.0.
  • Updated generated-site dependency handling so future generated sites receive @evcraddock/slug-core@0.1.0.
  • Published @evcraddock/slug-core@0.1.0 through Forgejo CI and verified npm install/import from a temporary project.
  • Verified ./scripts/pre-pr.sh and Forgejo release workflow run #331 passed.
_Synced from todu comment by @todu on 2026-06-29T14:29:12.498Z_ ### Completed - Created `@evcraddock/slug-core` in `packages/slug-core` with package metadata, README, typed public exports, build/typecheck/test scripts, and tests. - Updated CLI and template site to consume `@evcraddock/slug-core` through the local workspace package at version `0.1.0`. - Updated generated-site dependency handling so future generated sites receive `@evcraddock/slug-core@0.1.0`. - Published `@evcraddock/slug-core@0.1.0` through Forgejo CI and verified npm install/import from a temporary project. - Verified `./scripts/pre-pr.sh` and Forgejo release workflow run #331 passed.
Author
Owner

Synced from todu comment by @todu on 2026-06-29T14:27:58.723Z

Update

  • Published @evcraddock/slug-core@0.1.0 to npm through Forgejo CI.
  • Verified npm view @evcraddock/slug-core@0.1.0 version returns 0.1.0.
  • Re-dispatched the release workflow after the first verify step timed out; run #331 succeeded.
_Synced from todu comment by @todu on 2026-06-29T14:27:58.723Z_ ### Update - Published `@evcraddock/slug-core@0.1.0` to npm through Forgejo CI. - Verified `npm view @evcraddock/slug-core@0.1.0 version` returns `0.1.0`. - Re-dispatched the release workflow after the first verify step timed out; run #331 succeeded.
Author
Owner

Synced from todu comment by @todu on 2026-06-29T15:36:34.190Z

Completed

  • Merged PR #242 into main, completing the package consumption model correction.
  • Verified @evcraddock/slug-core exists under packages/slug-core, is consumed by CLI/template via in-repo npm workspace linking at published version 0.1.0, and generated sites keep the published npm semver dependency.
  • Verified package publication and post-publish import earlier for @evcraddock/slug-core@0.1.0.
  • Verified ./scripts/pre-pr.sh locally and Forgejo CI run #335 passed.
_Synced from todu comment by @todu on 2026-06-29T15:36:34.190Z_ ### Completed - Merged PR #242 into `main`, completing the package consumption model correction. - Verified `@evcraddock/slug-core` exists under `packages/slug-core`, is consumed by CLI/template via in-repo npm workspace linking at published version `0.1.0`, and generated sites keep the published npm semver dependency. - Verified package publication and post-publish import earlier for `@evcraddock/slug-core@0.1.0`. - Verified `./scripts/pre-pr.sh` locally and Forgejo CI run #335 passed.
Author
Owner

Synced from todu comment by @todu on 2026-06-29T15:35:40.655Z

Review update

  • PR: #242 is open with Forgejo CI run #335 passing.
  • Result: approved.
  • Verified: npm ci, npm test, ./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-29T15:35:40.655Z_ ### Review update - PR: #242 is open with Forgejo CI run #335 passing. - Result: approved. - Verified: `npm ci`, `npm test`, `./scripts/pre-pr.sh`, and Forgejo CI `build-lint-test` passed. - Follow-up: waiting for explicit human merge approval.
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#236
No description provided.