Migration notes

Beignet is experimental alpha software. The 0.0.x package line may include breaking changes while the framework settles. Use this page with package changelogs when upgrading an app.

Upgrade checklist

  1. Read changed package changelogs.
  2. Read this page for larger breaking-change notes.
  3. Run beignet doctor --strict.
  4. Run beignet lint.
  5. Run bun run typecheck.
  6. Run your app tests.
  7. Compare generated starter conventions when a release changes app structure.

Contract Kit to Beignet

The framework was renamed from Contract Kit to Beignet and moved to the @beignet/* npm scope.

Update imports:

- import { createContractGroup } from "@contract-kit/core/contracts";
+ import { createContractGroup } from "@beignet/core/contracts";

- import { createNextServer } from "@contract-kit/next";
+ import { createNextServer } from "@beignet/next";

Use explicit @beignet/core/* subpaths instead of a core root entrypoint:

- import { createClient } from "@beignet/core";
+ import { createClient } from "@beignet/core/client";

Beignet is now documented as a framework-first app shape. Start from the CLI starter and move app code toward the canonical feature-first structure:

features/
  <feature>/
    contracts.ts
    routes.ts
    use-cases/
    ports.ts
    policy.ts
    tests/
infra/
ports/
server/
client/
app/api/

Use Packages and imports for current package names and App architecture for current folder responsibilities.

Where migration notes live