refactor!: drop the start- prefix from every package name - #36
Merged
Conversation
The repo is becoming a framework, so the scope carries the meaning the prefix used to: `@btravstack/core` is the kernel, and each runtime is named for its transport. - `@btravstack/start-core` → `@btravstack/core` (`/testing` follows) - `@btravstack/start-http` → `@btravstack/http` - `@btravstack/start-temporal` → `@btravstack/temporal` - `@btravstack/start-amqp` → `@btravstack/amqp` - `@btravstack/start-example-order-*` → `@btravstack/example-order-*` - `@btravstack/start-root` → `@btravstack/root` `packages/start-*` move to `packages/*` to match, and the three pending changesets are renamed after the packages they describe. `start()` the function is unchanged, as is the repository URL. The prose shorthands `-http` / `-temporal` / `-amqp` are expanded to the scoped name: a bare `amqp` now reads as the protocol rather than the package. No deprecation notice is needed — nothing was ever published under the old names, and the initial changesets now name the new packages. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR performs a breaking rename across the monorepo, removing the start- prefix from published package names and updating all workspace paths/imports accordingly (kernel becomes @btravstack/core, runtimes become @btravstack/{http,temporal,amqp}, and example workspaces become @btravstack/example-order-*).
Changes:
- Renames package directories and npm package names (including peer/workspace dependencies, lockfile, and changesets).
- Updates documentation (root + package READMEs, CLAUDE.md files) to reference the new scoped package names and paths.
- Adds/updates per-package Vitest/TS configs and new kernel/runtime test/code files aligned with the new package layout.
Reviewed changes
Copilot reviewed 91 out of 147 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates install/examples/docs paths to @btravstack/core and renamed runtime packages. |
| pnpm-workspace.yaml | Updates inline docs referencing renamed packages. |
| pnpm-lock.yaml | Regenerates workspace links to packages/{core,http,temporal,amqp} and renamed examples. |
| packages/temporal/vitest.config.ts | Adds Temporal package Vitest config w/ coverage thresholds. |
| packages/temporal/tsconfig.json | Adds Temporal package TS config. |
| packages/temporal/src/vitest.d.ts | Adds Vitest matcher type augmentation import. |
| packages/temporal/src/test-workflows.ts | Adds minimal workflow used by Temporal runtime tests. |
| packages/temporal/src/test-fixtures.ts | Updates fixtures to import kernel types from @btravstack/core. |
| packages/temporal/src/temporal-runtime.ts | Updates kernel imports from @btravstack/core. |
| packages/temporal/src/temporal-runtime.spec.ts | Adds Temporal runtime behavioral tests. |
| packages/temporal/src/index.ts | Adds Temporal package public exports. |
| packages/temporal/src/activity-units.ts | Updates kernel imports from @btravstack/core. |
| packages/temporal/README.md | Renames package docs and references to new kernel/runtime names. |
| packages/temporal/package.json | Renames package, updates deps/peerDeps and repository directory. |
| packages/temporal/LICENSE | Adds license file under new package path. |
| packages/temporal/CLAUDE.md | Updates package-specific guidance to new path/name. |
| packages/http/vitest.config.ts | Adds HTTP package Vitest config w/ coverage thresholds. |
| packages/http/tsconfig.json | Adds HTTP package TS config. |
| packages/http/src/vitest.d.ts | Adds Vitest matcher type augmentation import. |
| packages/http/src/test-fixtures.ts | Updates fixtures to import kernel types from @btravstack/core. |
| packages/http/src/index.ts | Adds HTTP package public exports. |
| packages/http/src/http-runtime.ts | Updates kernel imports from @btravstack/core (and minor import ordering). |
| packages/http/src/http-runtime.spec.ts | Adds HTTP runtime behavioral tests. |
| packages/http/README.md | Renames package docs and references to new kernel/runtime names. |
| packages/http/package.json | Renames package, updates deps/peerDeps and repository directory. |
| packages/http/LICENSE | Adds license file under new package path. |
| packages/http/CLAUDE.md | Updates package-specific guidance to new path/name. |
| packages/core/vitest.config.ts | Adds kernel package Vitest config w/ coverage thresholds. |
| packages/core/tsconfig.test-d.json | Adds kernel TS config for *.test-d.ts type tests. |
| packages/core/tsconfig.json | Adds kernel TS config. |
| packages/core/src/with-app.ts | Adds withApp test harness helper to kernel. |
| packages/core/src/with-app.spec.ts | Adds tests for withApp harness behavior. |
| packages/core/src/vitest.d.ts | Adds Vitest matcher type augmentation import. |
| packages/core/src/units.ts | Adds ambient unit record + unit registry implementation. |
| packages/core/src/units.spec.ts | Adds tests for ambient unit record + registry behavior. |
| packages/core/src/testing.ts | Adds @btravstack/core/testing entrypoint re-exports. |
| packages/core/src/test-runtime.ts | Adds in-memory testRuntime fixture runtime. |
| packages/core/src/test-runtime.spec.ts | Adds tests for testRuntime behavior. |
| packages/core/src/start.test-d.ts | Adds type-level needs-gate coverage for start(...). |
| packages/core/src/start.spec.ts | Adds kernel start(...) behavioral tests. |
| packages/core/src/runtime.ts | Adds kernel runtime contracts/types (Runtime/Serving/Host/etc). |
| packages/core/src/run-main.ts | Adds runMain(...) process-exit-code boundary helper. |
| packages/core/src/run-main.spec.ts | Adds tests for runMain(...) exit code mapping. |
| packages/core/src/process-handlers.ts | Adds signal + uncaught handler install helpers. |
| packages/core/src/process-handlers.spec.ts | Adds tests for handler install/cleanup behavior. |
| packages/core/src/probes.ts | Adds probe server implementation (/livez, /readyz). |
| packages/core/src/probes.spec.ts | Adds probe server behavioral tests. |
| packages/core/src/phase.ts | Adds phase tracking utility. |
| packages/core/src/phase.spec.ts | Adds tests for phase tracking behavior. |
| packages/core/src/index.ts | Adds kernel public API exports for @btravstack/core. |
| packages/core/src/fake-clock.ts | Adds deterministic fake clock for tests. |
| packages/core/src/fake-clock.spec.ts | Adds tests for fake clock behavior. |
| packages/core/src/events.ts | Adds kernel event types + default sinks. |
| packages/core/src/events.spec.ts | Adds tests for event sink behavior. |
| packages/core/src/drain.ts | Adds drain sequencing + deadline race logic. |
| packages/core/src/docs-examples.test-d.ts | Updates compiled README example coverage to new paths/names. |
| packages/core/src/deferred.ts | Adds small deferred helper. |
| packages/core/src/clock.ts | Adds system clock implementation. |
| packages/core/src/clock.spec.ts | Adds tests for system clock behavior. |
| packages/core/README.md | Renames kernel package docs and references to new runtime names. |
| packages/core/package.json | Renames package and updates repository directory. |
| packages/core/LICENSE | Adds license file under new package path. |
| packages/core/CLAUDE.md | Updates kernel-internals guidance to new path/name. |
| packages/amqp/vitest.config.ts | Adds AMQP package Vitest config w/ coverage thresholds + globalSetup. |
| packages/amqp/tsconfig.test-d.json | Adds AMQP TS config for *.test-d.ts type tests. |
| packages/amqp/tsconfig.json | Adds AMQP package TS config. |
| packages/amqp/src/vitest.d.ts | Adds Vitest matcher type augmentation import. |
| packages/amqp/src/test-fixtures.ts | Updates fixtures and renames test exchange/queue names. |
| packages/amqp/src/message-units.ts | Updates kernel imports from @btravstack/core. |
| packages/amqp/src/index.ts | Adds AMQP package public exports. |
| packages/amqp/src/amqp-runtime.ts | Updates kernel imports from @btravstack/core. |
| packages/amqp/src/amqp-runtime.test-d.ts | Adds type-level handler/contract pinning test. |
| packages/amqp/src/amqp-runtime.spec.ts | Updates tests for renamed test exchange/queue names. |
| packages/amqp/README.md | Renames package docs and references to new kernel/runtime names. |
| packages/amqp/package.json | Renames package, updates deps/peerDeps and repository directory. |
| packages/amqp/LICENSE | Adds license file under new package path. |
| packages/amqp/CLAUDE.md | Updates package-specific guidance to new path/name. |
| package.json | Renames root workspace package name to @btravstack/root. |
| examples/README.md | Updates example docs to reference new package names/paths. |
| examples/order-temporal-worker/src/workflows.ts | Updates imports to renamed temporal contract package. |
| examples/order-temporal-worker/src/test-fixtures.ts | Updates imports to renamed kernel/runtime/example packages. |
| examples/order-temporal-worker/src/temporal-runtime.ts | Updates imports to renamed kernel/runtime/example packages. |
| examples/order-temporal-worker/src/needs-gate.test-d.ts | Updates needs-gate type test imports for renamed kernel/contract packages. |
| examples/order-temporal-worker/src/module.ts | Updates imports to renamed example packages. |
| examples/order-temporal-worker/src/main.ts | Updates imports to renamed kernel/contract packages. |
| examples/order-temporal-worker/src/fulfillment.ts | Updates imports to renamed example packages. |
| examples/order-temporal-worker/src/env.ts | Updates imports to renamed config package. |
| examples/order-temporal-worker/README.md | Updates docs and pnpm filter names to renamed example package. |
| examples/order-temporal-worker/package.json | Renames example workspace and updates deps. |
| examples/order-temporal-contract/src/layering.test-d.ts | Updates layering guard import to renamed worker package. |
| examples/order-temporal-contract/README.md | Updates docs to renamed package names. |
| examples/order-temporal-contract/package.json | Renames example contract workspace package. |
| examples/order-infrastructure/src/test-fixtures.ts | Updates imports to renamed example packages. |
| examples/order-infrastructure/src/prisma-outbox.ts | Updates imports to renamed application package. |
| examples/order-infrastructure/src/prisma-order-repository.ts | Updates imports to renamed application/domain packages. |
| examples/order-infrastructure/src/prisma-order-repository.spec.ts | Updates imports to renamed application package. |
| examples/order-infrastructure/src/module.ts | Updates imports to renamed application package. |
| examples/order-infrastructure/README.md | Updates docs and pnpm filter names to renamed workspace. |
| examples/order-infrastructure/package.json | Renames example workspace package and updates deps. |
| examples/order-domain/src/layering.test-d.ts | Updates layering guard import to renamed application package. |
| examples/order-domain/README.md | Updates docs and pnpm filter names to renamed workspace. |
| examples/order-domain/package.json | Renames example workspace package. |
| examples/order-config/README.md | Updates docs to renamed kernel package. |
| examples/order-config/package.json | Renames example workspace package. |
| examples/order-application/src/use-cases.ts | Updates imports to renamed domain package. |
| examples/order-application/src/test-fixtures.ts | Updates imports to renamed domain package. |
| examples/order-application/src/ports.ts | Updates imports to renamed domain package. |
| examples/order-application/src/needs-gate.test-d.ts | Updates imports to renamed domain package. |
| examples/order-application/src/logger.ts | Updates kernel import to @btravstack/core. |
| examples/order-application/README.md | Updates docs and pnpm filter names to renamed workspace. |
| examples/order-application/package.json | Renames example workspace and updates deps. |
| examples/order-api/src/test-fixtures.ts | Updates imports to renamed kernel/http/example packages. |
| examples/order-api/src/router.ts | Updates imports to renamed contract/application/domain packages. |
| examples/order-api/src/request-scope.ts | Updates imports to renamed application package. |
| examples/order-api/src/needs-gate.test-d.ts | Updates imports to renamed kernel/http/example packages. |
| examples/order-api/src/module.ts | Updates imports to renamed example packages. |
| examples/order-api/src/main.ts | Updates imports to renamed kernel/http/example packages. |
| examples/order-api/src/handler.ts | Updates imports + docs reference to @btravstack/http. |
| examples/order-api/src/env.ts | Updates imports to renamed config package. |
| examples/order-api/README.md | Updates docs and pnpm filter names to renamed workspace. |
| examples/order-api/package.json | Renames example workspace and updates deps/description. |
| examples/order-api-contract/src/layering.test-d.ts | Updates layering guard import to renamed api package. |
| examples/order-api-contract/README.md | Updates docs to renamed package names. |
| examples/order-api-contract/package.json | Renames example contract workspace package. |
| examples/order-amqp-worker/src/test-fixtures.ts | Updates imports to renamed kernel/amqp/example packages. |
| examples/order-amqp-worker/src/outbox-relay.ts | Updates imports + docs reference to @btravstack/amqp. |
| examples/order-amqp-worker/src/needs-gate.test-d.ts | Updates needs-gate type test imports for renamed kernel/example packages. |
| examples/order-amqp-worker/src/module.ts | Updates imports to renamed example packages. |
| examples/order-amqp-worker/src/main.ts | Updates import to renamed kernel package. |
| examples/order-amqp-worker/src/env.ts | Updates imports to renamed config package. |
| examples/order-amqp-worker/src/amqp-runtime.ts | Updates imports to renamed kernel/amqp/example packages. |
| examples/order-amqp-worker/README.md | Updates docs and pnpm filter names to renamed workspace. |
| examples/order-amqp-worker/package.json | Renames example workspace and updates deps. |
| examples/order-amqp-contract/src/layering.test-d.ts | Updates layering guard import to renamed worker package. |
| examples/order-amqp-contract/README.md | Updates docs to renamed package names. |
| examples/order-amqp-contract/package.json | Renames example contract workspace package. |
| CLAUDE.md | Updates authoritative repo guidance to renamed packages/paths. |
| .github/workflows/ci.yml | Updates workflow comments to renamed package path(s). |
| .changeset/temporal.md | Renames changeset target package and text references. |
| .changeset/initial-kernel.md | Renames changeset target package and references @btravstack/core/testing. |
| .changeset/http.md | Renames changeset target package and text references. |
| .changeset/drop-version-const.md | Renames changeset target package and text references. |
| .changeset/drain-and-shutdown-fixes.md | Renames changeset target package. |
| .changeset/amqp.md | Renames changeset target package and text references. |
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The repo is becoming a framework, so the scope carries the meaning the prefix
used to:
@btravstack/coreis the kernel, and each runtime is named for itstransport.
packages/start-core→@btravstack/start-corepackages/core→@btravstack/core(the/testingsubpath follows)packages/start-http→@btravstack/start-httppackages/http→@btravstack/httppackages/start-temporal→@btravstack/start-temporalpackages/temporal→@btravstack/temporalpackages/start-amqp→@btravstack/start-amqppackages/amqp→@btravstack/amqp@btravstack/start-example-order-*(10 workspaces)@btravstack/example-order-*@btravstack/start-root@btravstack/rootstart()the function is unchanged, and so is the repository URL — only thepackage names and the four
packages/directories move.Also in here
(
.changeset/start-http.md→http.md, and so on).pnpm installlinks all 15 workspaces.CLAUDE.mdfiles and 16 READMEs are updated in the same commit, perthe repo's own anti-drift rule.
`-http`/`-temporal`/`-amqp`areexpanded to the scoped name. A bare
`amqp`would now read as theprotocol rather than the package.
No deprecation notice
Nothing was ever published under the old names (
npm view @btravstack/start-core→ 404), so there is no rename changeset: the pending initial changesets simply
name the new packages.
Gate
format✓lint✓typecheck✓ (19 tasks)knip✓build✓test18/19.The one local failure is
invariants.spec.ts > binds 9000 when no probe port is given— port 9000 is held by something else on this machine (a barelisten(9000)returnsEADDRINUSEhere), which is environmental and unrelatedto the rename. CI runs it on a clean port.
🤖 Generated with Claude Code