You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: 'Version-by-version upgrade guides for devframe and @devframes/hub. Each release below has a drop-in path from the previous one.'
4
+
---
5
+
6
+
Upgrade guides for devframe and `@devframes/hub`, newest first. Each one lists every breaking change with its drop-in replacement.
7
+
8
+
| Version | What changed |
9
+
| ------- | ------------ |
10
+
|[Migrating to 0.9](/migrations/migration-0.9)| Removes the compatibility shims deprecated across the 0.7 series and trims the public API. |
11
+
|[Migrating to 0.8](/migrations/migration-0.8)| Makes RPC schemas validator-neutral and runtime-validated, and adds the agent-native MCP surface. |
12
+
|[Migrating to 0.7](/migrations/migration-0.7)| Makes `cac` an optional peer and moves json-render into an opt-in package. |
13
+
|[Migrating to 0.6](/migrations/migration-0.6)| Tightens `defineDevframe`'s metadata, replaces the terminal and WebSocket transports, and adds enforced auth. |
14
+
15
+
For the full changelog of every release, see the [release notes on GitHub](https://github.com/devframes/devframe/releases).
@@ -41,16 +41,6 @@ A framework-neutral foundation for devtools. One definition becomes a Web Standa
41
41
Get started
42
42
:::
43
43
44
-
:::u-button
45
-
---
46
-
to: /guide#why-it-exists
47
-
color: neutral
48
-
variant: subtle
49
-
size: lg
50
-
---
51
-
Why Devframe
52
-
:::
53
-
54
44
:::u-button
55
45
---
56
46
icon: i-simple-icons-github
@@ -64,6 +54,17 @@ A framework-neutral foundation for devtools. One definition becomes a Web Standa
64
54
:::
65
55
::
66
56
57
+
::u-page-section
58
+
:::callout
59
+
---
60
+
icon: i-lucide-newspaper
61
+
to: https://antfu.me/posts/pluggable-extensible-playful-devtools
62
+
target: _blank
63
+
---
64
+
Read the announcement — **Pluggable, Extensible, and Playful DevTools** — for the vision behind devframe.
65
+
:::
66
+
::
67
+
67
68
::landing-features
68
69
#headline
69
70
Foundation
@@ -124,18 +125,233 @@ One definition, every entry point
124
125
:::
125
126
::
126
127
128
+
::landing-tabs
129
+
---
130
+
items:
131
+
- icon: i-simple-icons-hono
132
+
title: Hono
133
+
description: Pass the Web Standard request straight to the handler.
134
+
- icon: i-lucide-server
135
+
title: Nitro
136
+
description: Mount the same handler on a catch-all event route.
137
+
- icon: i-simple-icons-nextdotjs
138
+
title: Next.js
139
+
description: Wire the handler into an App Router route handler.
140
+
- icon: i-simple-icons-vite
141
+
title: Vite
142
+
description: Use the connect-style middleware the same instance provides.
143
+
---
144
+
145
+
#headline
146
+
Portability
147
+
148
+
#title
149
+
The same handler, mounted natively
150
+
151
+
#description
152
+
A devframe's boundary is simply the Web Standard `Request` and `Response`. Any framework that speaks that — or connect-style middleware — mounts the same tool and inherits the whole ecosystem. Only the host-facing glue changes. [See all adapters](/adapters/initiate).
description: Ship a standalone command any project can run.
199
+
- icon: i-lucide-server-cog
200
+
title: Dev server
201
+
description: A dedicated dev server for local iteration.
202
+
- icon: i-lucide-bot
203
+
title: MCP
204
+
description: Expose the tool to coding agents over MCP.
205
+
- icon: i-lucide-package
206
+
title: Static report
207
+
description: Build a self-contained SPA snapshot for CI.
208
+
---
209
+
210
+
#headline
211
+
Adapters
212
+
213
+
#title
214
+
Package it the way your tool ships
215
+
216
+
#description
217
+
The handler is the smallest common denominator. Higher-level adapters package that same definition into familiar forms — pick the entry points your package needs. [Browse the adapters](/adapters).
description: Explore, overview, and compare through a web UI.
258
+
- icon: i-lucide-bot
259
+
title: Agentic
260
+
description: Retrieve focused context and carry out multi-step actions.
261
+
---
262
+
263
+
#headline
264
+
Interfaces
265
+
266
+
#title
267
+
One capability, two interfaces
268
+
269
+
#description
270
+
RPC functions stay private by default and opt into agent exposure explicitly. The [MCP adapter](/adapters/mcp) translates those functions, resources, and selected shared state into an agent-consumable surface — the presentation changes, the source of truth stays the same.
271
+
272
+
#code-0
273
+
```ts [rpc.ts]
274
+
import { defineRpcFunction } from'devframe'
275
+
276
+
exportconst inspectBuild =defineRpcFunction({
277
+
name: 'inspect-build',
278
+
type: 'query',
279
+
handler: () =>readBuildGraph(),
280
+
})
281
+
```
282
+
283
+
#code-1
284
+
```ts [rpc.ts]
285
+
exportconst inspectBuild =defineRpcFunction({
286
+
name: 'inspect-build',
287
+
type: 'query',
288
+
// opt this capability into the agent surface
289
+
agent: { description: 'Read the current build graph and chunk sizes.' },
290
+
handler: () =>readBuildGraph(),
291
+
})
292
+
```
293
+
::
294
+
295
+
::landing-tabs
296
+
---
297
+
reverse: true
298
+
items:
299
+
- icon: i-lucide-layout-dashboard
300
+
title: Compose
301
+
description: Register many devframes as plugins of one hub.
302
+
- icon: i-lucide-plug
303
+
title: Mount
304
+
description: Serve the whole collection behind one handler.
305
+
---
306
+
307
+
#headline
308
+
Hub
309
+
310
+
#title
311
+
From one devframe to a devtools host
312
+
313
+
#description
314
+
When several devtools run at once, discovery becomes the problem. `@devframes/hub` is a headless composition layer: many devframes register docks, commands, terminals, and shared state, and appear through one consistent entry. [Learn about the hub](/guide/hub).
0 commit comments