@crossdelta/platform-sdk

中文文档
0.26.15发布于 2026/11/04MITTypeScriptESM + CJS近 30 天下载 5321

事件驱动微服务平台工具包——将代码和基础设施锁定.

中文使用文档
文档目录8 节
  1. QQ 快速启动
  2. 5分教学
  3. QQ 命令
  4. * 与编码代理合作
  5. 部署
  6. 所需经费
  7. 在兜帽男的脚下
  8. 许可证

pf

平台 SDK

后端+基础设施平台工具包.

pf 脚手架现实世界平台:后端服务,事件驱动信息,基础设施. 全部接通并保持同步.


npm version   TypeScript   Bun   MIT License

快速启动 二. 支助 教学 二. 支助 图标 二. 支助 部署


QQ 快速启动

# With Bun
bun add -g @crossdelta/platform-sdk

# With npm
npm install -g @crossdelta/platform-sdk

# Or auto-install (macOS/Linux/WSL)
curl -fsSL https://unpkg.com/@crossdelta/platform-sdk@latest/install.sh | bash

视窗用户 : 使用 WSL 维基月球 对于最佳的经验.

然后创建您的第一个平台:

pf new workspace my-platform -y && cd my-platform
pf dev

✅ 带有 Biome 林定的涡轮平面
✅ NATS + JetStream 用于事件驱动信件
✅ 准备部署的普鲁米基础设施
✅ 自动生成 .env.local 有服务端口

5分教学

增加两个服务,并在它们之间连接一个事件:

# 1. Create two services
pf new hono-micro services/orders
pf new hono-micro services/notifications

# 2. Wire an event from orders → notifications
pf cloudevents add order.created --service services/notifications

# 3. Restart to pick up new services
pf dev

# 4. Publish a test event, watch notifications react
pf cloudevents publish order.created

刚才发生的事
2个健康检查和Pulumi配置服务
一份活动合同 packages/contracts/
一个自动发现事件的处理者
✨ 没有手工接线。 无相相相通. 一切都是明确的.

QQ 命令

命令它会做什么
pf devQQ 启动开发基础设施(NATS)+所有监视模式的服务
pf new hono-micro <path>QQ 创建 Hono 服务( 轻量级, Bun- 优化)
pf new nest-micro <path>QQ 创建 NestJS 服务( 全功能, 装饰)
pf new workspace [name]QQ 创建新工作空间并设置基础设施
pf cloudevents add <type> --service <path>+++ 合同 + 接线流
pf cloudevents list列出可用的事件和消费者
pf cloudevents publish <type>将模拟事件发布到NATS
pf setup completion* 安装外壳自动补全(zsh/bash)
pf test* 在整个单列波运行测试
pf build* 建立所有软件包和服务
pf lint使用 Biome 的 Lint 和格式
pf audit* 运行依赖性安全审计
pf pulumi <args>在工作区运行普鲁米 infra/ 目录,例如:. pf pulumi up

您的工作空间可以添加自己的命令 : pf.commands 在树根中 package.json (可选为 cwd 财务报告和审定财务报表 command),或任意根 scripts 条目,以 pf <name>下列出插件 pf.plugins 添加命令组, 如 @crossdelta/cloudevents 对 pf cloudevents。插件接口在 docs/plugins.md 在数据源中.


* 与编码代理合作

@crossdelta/pf-mcp 是一个 示范背景协议 用于 SDK 平台的服务器。 它暴露出四个工具:

工具它会做什么
scan_workspace扫描服务、合同和配置的工作空间
generate_service生成一个新的微服务计划( 默认干运行)
plan_review应用前验证生成计划
apply_changes应用生成计划中的更改

服务器计划结构;代理写内容. 服务按此顺序创建: 代理呼叫 generate_service 及时收到一份附有文件的计划 planHash,为这些文件写代码,可选调用 plan_review,请您确认,然后打电话 apply_changes 与 expectedPlanHash。 。 。 .

bun add @crossdelta/pf-mcp
node ./node_modules/@crossdelta/pf-mcp/dist/cli.js --stdio

服务器通过stdio说话,所以你的代理的MCP客户端必须启动这个命令. 它还为来自 docs/generators/ 作为 MCP 资源的软件包源中 docs://generators。 。 。 .


部署

pf pulumi up              # deploys the current Pulumi stack

每艘工作空间飞船都有一个Pulumi堆栈并预先配置了GitHub Actions. 添加更多堆栈( 如 . stage, (中文(简体) ), production随着你的平台增长. pf 财务报告和审定财务报表 generate-env 使用任意堆栈名称.

pf dev 生成 .env.local 从当前堆栈的 Pulumi 配置( 密钥, API 密钥) 并发现了服务端口 .

预配置的 GitHub 动作包括:

触发行动
公关改为 mainQQ Lint + 测试
推动 main* 构建、推动到全球大气监测、部署
变动 packages/QQ 发布到 npm
* 所需机密
秘诀说明
PULUMI_ACCESS_TOKEN普鲁米·克罗克特
DIGITALOCEAN_TOKENDO API 签名

所需经费

所需经费页:1
阿宝 或节点.js 21速度推荐包
普鲁米CLI用于部署基础设施
夹克当地NATS

在兜帽男的脚下

📁 项目结构
my-platform/
├── services/           # Your microservices
│   ├── orders/
│   └── notifications/
├── packages/
│   └── contracts/      # Event contracts (single source of truth)
├── infra/
│   └── services/       # Auto-generated Pulumi configs
└── .env.local          # Auto-generated from infra

关键见解是: 服务定义了它们的端口,env vars,以及一次活动订阅. 其他一切皆从所出.

🛠️ 技术堆栈
层技术
单曲涡轮
服务浩诺 或者说 网点JS
通讯海军 + 喷气相机
活动@ crossdelta/ clodevents (英语) (单位:千美元)云节 + Zod) 组合键
基础设施普鲁米 • 数字海洋(可扩展)
运行时间阿宝
⚙️ 工作空间配置
{
  "pf": {
    "registry": "my-org/my-platform",
    "commands": {
      "deploy": {
        "cwd": "infra",
        "command": "pulumi up --yes",
        "description": "Deploy infrastructure to production"
      }
    },
    "paths": {
      "services": { "path": "services", "watch": true },
      "contracts": { "path": "packages/contracts" }
    }
  }
}
🏗️ 服务基础设施配置
// infra/services/orders.ts
import { ports, type K8sServiceConfig } from '@crossdelta/infrastructure'

const config: K8sServiceConfig = {
  name: 'orders',
  ports: ports().http(4001).build(),
  replicas: 1,
  healthCheck: { httpPath: '/health' },
  resources: {
    requests: { cpu: '50m', memory: '64Mi' },
    limits: { cpu: '150m', memory: '128Mi' },
  },
}

export default config

见 @ crossdelta/ 基础设施 完全选择.

📡 事件驱动的架构

合同 住在这里 packages/contracts/ 作为真理的唯一来源:

// packages/contracts/src/events/orders/created.ts
import { createContract } from '@crossdelta/cloudevents'
import { z } from 'zod'

export const OrderCreatedSchema = z.object({
  orderId: z.string(),
  total: z.number(),
})

export type OrderCreatedData = z.infer<typeof OrderCreatedSchema>

export const OrdersCreatedContract = createContract({
  type: 'order.created',
  channel: { stream: 'ORDERS' },
  schema: OrderCreatedSchema,
})

处理器 进口合同和授权使用案件:

// services/notifications/src/events/order-created.handler.ts
import { handleEvent } from '@crossdelta/cloudevents'
import { OrdersCreatedContract } from '@my-platform/contracts'
import { sendOrderNotification } from '../use-cases/send-notification.use-case'

export default handleEvent(OrdersCreatedContract, async (data) => {
  await sendOrderNotification(data)
})

掌柜是自动发现的 无人工订阅.

见 @ crossdelta/ clodevents (英语) (原始内容存档于2018-10-21). For full event API.

⚡ NATS 信件经纪人

本地NATS 开始于 pf dev 发展基础设施. 生产流是通过合同中的Pulumi实现的.

每个工作空间包括预配置的有JetStream用于开发的NATS:

发展:

  • 自动启动 pf dev (以多克为主,以麻黄为主
  • 端口 : 4222 (客户), 8222 (监测)
  • 健康检查: curl http://localhost:8222/healthz
  • 流: 由 : pf dev (备忘录,保留1小时)

生产:

  • 通过普鲁米部署(infra/(中文(简体) )
  • 采用保留政策的合同的流程
  • 有明确限制的持久储存(基于文件)

服务从不创建流. 在德夫语中, pf dev 自动创建合同。 在prod中,普鲁米实现.


许可证

麻省理工学院 横跨德尔塔

版本与发布记录

@crossdelta/platform-sdk 共发布 255 个版本,首次发布于 2025/12/01;过去 12 个月发布了 255 个版本。

版本发布日期距今
0.26.15latest2026/11/046 天前
0.26.142026/11/038 天前
0.26.132026/10/3110 天前
0.26.122026/10/2913 天前
0.26.112026/10/2813 天前
0.26.102026/10/2814 天前

关于 @crossdelta/platform-sdk 的常见问题

@crossdelta/platform-sdk 是什么?

事件驱动微服务平台工具包——将代码和基础设施锁定.

如何安装 @crossdelta/platform-sdk?

在项目目录运行 npm install @crossdelta/platform-sdk,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 pf,可以用 npx pf 直接运行。

@crossdelta/platform-sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@crossdelta/platform-sdk 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@crossdelta/platform-sdk 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=21.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@crossdelta/platform-sdk 可以商用吗?

@crossdelta/platform-sdk 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@crossdelta/platform-sdk 的下载量有多少?

根据 npm 官方下载统计,@crossdelta/platform-sdk 在 2026/10/11 – 2026/11/09 这 30 天内被下载 5,321 次,日均约 177 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@crossdelta/platform-sdk 还在维护吗?

最新版本 0.26.15 发布于 2026/11/04(6 天前);至今共发布 255 个版本,其中过去 12 个月发布了 255 个;首次发布于 2025/12/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。