A new default for software

AI Native 应用,
第一天就该有 CLI。

如果 Agent 还要读源码、猜接口、拼参数,你只是用 AI 写旧时代的软件。

Contract firstOpenAPI 是行为契约
CLI ready每个 API 自动可执行
Agent verifiable测试运行真实产品
下一页   F 全屏
The mismatch

AI 会写代码,
你的应用还在等人点击

模型已经进入 Agent 时代,大多数应用却还停留在“只给人操作”的时代。

没有可发现、可执行、可验证的 CLI,所谓 AI Native 只停留在 PPT。
GUI ONLY
只能点击的应用,天然排斥 Agent

页面适合人,但自动化脆弱、昂贵、难验证。

API ONLY
有 API,不代表 Agent 会用

命令、认证、请求体和输出仍然靠猜。

DOCS LATER
过期文档,比没有文档更危险

行为已经变化,Agent 读到的还是昨天。

The paradigm

别再教 Agent 猜。
直接把应用做成工具

业务实现src/
OpenAPIcontract
GUIhuman interface
业务实现behavior
OpenAPIsource of truth
Generated CLIexecution
AGENTS.mddevelopment contract
GUIhuman interface
01

停止猜命令

先搜索,再读取机器可读的精确命令契约。

02

拒绝手写胶水

CLI 从 OpenAPI 生成,接口变化自动进入工具链。

03

不要测试幻觉

Agent 用生成的 CLI 验收真实应用行为。

One change, one loop

接口一变,CLI 必须变。
否则就是坏构建

01 / BUILD

修改应用

实现真正的业务行为。

02 / SPEC

同步 OpenAPI

让契约和行为一起变化。

03 / GENERATE

生成 CLI

自动得到命令、参数和 Agent Skill。

04 / VERIFY

通过 CLI 测试

用真实入口完成端到端验收。

one feature = behavior + contract + executable proof
Working proof · Node.js starter

不是概念,不是路线图。
今天就能跑。

0Node 运行时依赖
6OpenAPI 生成命令
1命令完成全链路验证
100%应用验收走 CLI
appctl · generated from openapi.yaml
$ appctl search "create task" --json
→ candidate: tasks create

$ appctl commands show tasks create --json
→ POST /tasks · body.title required

$ appctl tasks create --set title="Ship it" -o json
{ "id": "1", "title": "Ship it", "completed": false }

$ pnpm test
✓ generated CLI is the application acceptance surface
North star

AI Native,不是给旧应用
贴一张 AI 标签。

READ THE CODE让 Agent 先运行产品
GUESS THE API让契约直接生成工具
TEST THE UI让 CLI 成为稳定验收面

真正的新范式:应用从出生起,
就同时服务人和 Agent。

Start on day one

下一款应用,
别再最后一天补 CLI。

从第一天开始,让 Agent 真正运行你的产品。

$ pnpm test # generate · build · verify