Skip to content

Merulan CDK

Define and compile Product or Workspace declarations in TypeScript without changing remote state.

Use Merulan CDK to define Products and Workspaces. It builds a plan on your machine.

Set up access

Public acquisition: Available. Install the reviewed release with pnpm add @merulan/cdk@0.1.0. Its Product and Workspace exports compiled from a clean install on September 17, 2026.

You define and compile on your own machine. That needs no Merulan credential. It makes no remote request. Pin the exact version. Keep declarations in source control. Do not set up from a private workspace package. Do not set up from a local path.

Remote preview, apply, parity, and readback are Preview. Each one is a separate signed-in operation. None has been checked since the infrastructure was paused. The CDK does not grant Workspace access.

License: PolyForm Shield 1.0.0. Support: support@merulan.com. Security reports: security@merulan.com.

How the CDK works

Use defineProduct or defineWorkspace to check a declaration. Product compilation resolves its local authoring contract. compileWorkspacePlan looks up exact Product releases in the catalog. It sorts the result. It returns one plan and a plan hash. It does not apply the plan. It does not change a Workspace.

The CDK reference owns functions, constants, arguments, and returns. Composition and Workspace bundles owns the product model. A Workspace plan stands for that model.

First call

Start with a small Workspace declaration. Name one exact Product release. Follow defineWorkspace and compileWorkspacePlan. Check ok before you read the plan. Review its installs and plan hash. A local compile is not a remote readback.

Wait for public release receipts. Then use a signed-in Surface to preview, apply, and read the Workspace back.

When it fails

Merulan CDK returns diagnostics

Read each diagnostic and the declaration path it names. Fix unresolved releases, duplicate namespaces, or bad configuration answers. Then compile the whole declaration again. A partial plan is not agreed desired state.

Remote apply is unavailable

A clean compile does not prove a public apply path exists. Keep the plan local until a supported Surface publishes its release and readback receipts.

Remote operation is unavailable

You can still define and compile from the public package. Wait for live checks before you depend on remote preview, apply, parity, or readback.

Reference