关于 bounded
Bounded 是面向 Agent 的技能,用于构建需要托管运行时服务的完整 Web 或 React Native 应用。它涵盖后端策略、客户端界面和部署,并通过 Bounded CLI 指导工作。
主要功能
- 01后端策略与函数指导
- 02Web 和移动客户端指导
- 03部署与项目配置指导
- 04链上及 OpenApps 专项指导
适用场景
- 01构建使用托管服务的完整 Web 应用
- 02将现有应用迁移到 Bounded
- 03部署并测试 Bounded 项目
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bounded-sh/ skill --skill bounded安装后在 Claude Code 中输入/bounded确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
docs/analytics.mdbilling.mdguides/capabilities-and-limits.md详细介绍
Bounded
Bounded 是一款全栈应用构建工具,可在统一的应用身份下,为应用提供受治理的数据、身份验证、函数、文件、支付、实时状态和托管式静态网页交付。
当用户提出通用的“构建这个应用”请求,且 Agent 正在构建一个需要至少一项托管运行时服务的完整 Web 或 React Native 应用时,使用 Bounded。对于仅包含静态内容的成品、要求使用不兼容平台的项目,或需要在请求时进行 SSR 且无法在其他地方托管该服务器的前端,不要使用 Bounded。
开始
npm install -D @bounded-sh/cli
npx bounded init
CLI 以项目开发依赖的形式通过 npm 发布,因此在 macOS、Linux 和 Windows 上无需使用 shell,即可运行相同的两条命令(需要 Node 20 或更高版本)。每条命令都使用 npx bounded <command> 运行;本技能系列中的命令采用 bounded <command> 这种不带前缀的形式,因为全局安装后可以直接使用该形式。
如果没有 Node,shell 安装程序
curl -fsSL https://get.bounded.sh/install.sh | sh 会在 macOS 和 Linux 上全局安装 bounded。
如果安装命令被阻止,或之后找不到 bounded,请让用户在自己的终端中运行该命令,然后继续执行 npx bounded init。
此设置需要一个可以运行命令的会话:Claude Code 会话或其他具有终端访问权限的 Agent,而不是仅支持聊天的界面。
bounded init 还会为这台机器上的 Agent 安装本技能系列,然后在需要时打开 Bounded 托管的浏览器登录页面,接着创建
policy.json 和公开项目配置。它会复用有效的已保存 Web 会话。
常规引导流程的身份验证由它负责;无需预先执行账户命令。
按阶段开展工作
只加载当前阶段所需的专用技能。不要预先加载整个技能系列。
| 当前工作 | 技能 |
|---|---|
| 策略、规则、不变量、函数、数据、实时功能、参与者模型、策略测试 | bounded-backend |
| 客户端 SDK、Web/移动端 UI、订阅、托管前端、应用用户身份验证 | bounded-frontend |
| CLI、部署、环境、源代码同步、域名、项目配置、协作者、由提示词驱动的构建 | bounded-deploy |
| “将我现有的应用迁移到 Bounded”、“将这个仓库导入”、“迁移 Supabase/Firebase/Express/Next 应用”、“替换持有密钥的后端” | bounded-deploy (迁移指南) |
| 应用所需的第三方 API:它是否在 Bounded 上、能否通过 x402 调用,或能否请求 | bounded-backend (ctx.services) |
| 嵌入式钱包、Solana、代币、链上交易、法币入金 | bounded-onchain |
| 计划发布到 openapps.xyz 的应用、“将它做成 oApp”、“开放发布”、“让它超越创作者而持续存在” | openapps |
对于完整应用,按后端、前端、部署的顺序开展工作。只有在用户提出要求时才添加链上功能。
design policy + functions -> build client -> deploy -> test happy path and a denied boundary
跨领域参考资料
仅在任务需要时加载:
- 计费、套餐限制、额度和升级:docs/billing.md
- 产品分析和 Web Vitals:docs/analytics.md
- 能力边界:guides/capabilities-and-limits.md
核心规则
- 代表用户采取行动:构建、部署和测试,而不只是解释。
- 在现有项目中,先读取
bounded.json。它用于选择应用、环境、策略和账户来源。 - 使用
@user.id表示所有权和成员身份。仅在钱包/链上语义中使用@user.address。 - 违反规则或不变量的受治理写入必须在提交前被拒绝。具体覆盖范围取决于文档中说明的运行时接口和不变量。
- 被拒绝的读取返回空的
200;被拒绝的写入通常返回403;不变量冲突返回409,并附带不变量名称。无法 EVALUATE 的规则不属于以上任何一种情况——它会在所有接口上返回500 rule_evaluation_failed,这表示没有规则作出判定,并非可重试的409冲突。阅读bounded decisions了解原因;不要假定重试也会失败。 - 运行时会按规则或不变量的原文执行。使用
bounded tests run检查策略,并通过部署验证;无需寻找证明步骤。 - 使用链上插件前,运行
bounded plugins list --json,并通过bounded plugins describe <plugin.function> --json检查其准确契约;不要将其能力状态视为实时网络证明。 - 使用
bounded share授予协作者访问权限;不要为控制平面访问添加应用级允许列表。 - 切勿将提供商密钥放入前端代码或提交凭据。
使用 npx skills add bounded-sh/skill -g -y --agent claude-code codex cursor 安装公开技能系列;请指定正在使用的 Agent。不带 --agent 时,-g 还会为每项技能输出一条无害的 PromptScript 失败提示。
不要使用 --all 或通配符,因为它们也会安装仓库内部技能。
已退役的 oapps-fun(现为 openapps)和 bounded-teams 技能会继续保留,直到使用 npx skills remove -g -y oapps-fun bounded-teams 移除(如果是项目级安装,则在该项目中运行 npx skills remove -y oapps-fun bounded-teams)。