Skip to content

Commit 091c058

Browse files
Copilothotlong
andcommitted
docs: comprehensive DEVELOPMENT_PLAN.md v4.0 update with runtime evaluation, progress, and roadmap
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
1 parent 066e628 commit 091c058

2 files changed

Lines changed: 539 additions & 423 deletions

File tree

ARCHITECTURE.md

Lines changed: 38 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ All ObjectOS plugins must conform to this lifecycle for consistency and predicta
5959
- **Purpose**: Implements the runtime engine and plugin ecosystem
6060
- **Key Packages**:
6161
- `@objectstack/runtime` - Microkernel with plugin lifecycle management
62-
- `@objectos/plugin-server` - NestJS HTTP server plugin
62+
- `@objectstack/plugin-hono-server` - Hono HTTP server plugin
6363
- `@objectos/plugin-better-auth` - Authentication plugin
6464
- `@objectos/plugin-audit-log` - Audit logging plugin
6565
- `@objectos/kernel` - **DEPRECATED** (use @objectstack/runtime)
@@ -288,22 +288,27 @@ export class ObjectDataController {
288288
}
289289
```
290290

291-
### Why NestJS?
291+
### Why Hono?
292292

293-
1. **Dependency Injection**: Built-in IoC container
294-
2. **Decorators**: Clean syntax for routes and guards
295-
3. **OpenAPI**: Automatic API documentation
296-
4. **Middleware**: Easy to add logging, rate limiting, etc.
293+
1. **Edge-Ready**: Works in Node.js, Cloudflare Workers, Vercel, Deno
294+
2. **Lightweight**: Minimal overhead, fast routing
295+
3. **Middleware**: Easy to add CORS, auth, logging, rate limiting
296+
4. **TypeScript-First**: Full type inference for routes and context
297297

298298
### REST API Endpoints
299299

300300
| Method | Path | Description |
301301
|--------|------|-------------|
302-
| POST | `/api/data/:object/query` | Query records |
303-
| POST | `/api/data/:object` | Create record |
304-
| PATCH | `/api/data/:object/:id` | Update record |
305-
| DELETE | `/api/data/:object/:id` | Delete record |
306-
| GET | `/api/metadata/:object` | Get object metadata |
302+
| POST | `/api/v1/data/:object/query` | Query records |
303+
| POST | `/api/v1/data/:object` | Create record |
304+
| PATCH | `/api/v1/data/:object/:id` | Update record |
305+
| DELETE | `/api/v1/data/:object/:id` | Delete record |
306+
| GET | `/api/v1/meta/:object` | Get object metadata |
307+
| ALL | `/api/v1/auth/*` | Authentication (BetterAuth) |
308+
| GET | `/api/v1/audit/events` | Audit log events |
309+
| GET | `/api/v1/jobs` | Job queue status |
310+
| GET | `/api/v1/metrics/prometheus` | Prometheus metrics |
311+
| GET | `/api/v1/permissions/sets` | Permission sets |
307312

308313
## Layer 5: UI Layer
309314

@@ -359,12 +364,12 @@ class RedisDriver implements ObjectQLDriver {
359364
Let's trace a request to create a contact:
360365

361366
```
362-
1. Client sends POST /api/data/contacts
367+
1. Client sends POST /api/v1/data/contacts
363368
└─> Body: { first_name: "John", last_name: "Doe" }
364369
365-
2. NestJS Controller receives request
366-
└─> Extracts user from JWT
367-
└─> Calls kernel.insert('contacts', data)
370+
2. Hono HTTP handler receives request
371+
└─> Extracts user from session (BetterAuth)
372+
└─> Calls kernel broker insert('contacts', data)
368373
369374
3. Kernel processes the request
370375
└─> Loads contact metadata from registry
@@ -501,19 +506,24 @@ describe('Contact Management', () => {
501506
### Development
502507

503508
```
504-
┌─────────────────┐
505-
│ Vite Dev Server │ :5173
506-
└────────┬────────┘
507-
508-
509-
┌─────────────────┐
510-
│ NestJS Server │ :3000
511-
└────────┬────────┘
512-
513-
514-
┌─────────────────┐
515-
│ PostgreSQL │ :5432
516-
└─────────────────┘
509+
┌──────────────────────┐ ┌──────────────────────┐
510+
│ Vite Dev (apps/web) │ │ Fumadocs (apps/site) │
511+
│ :5321 │ │ :3002 │
512+
└──────────┬───────────┘ └──────────┬───────────┘
513+
│ proxy /api/v1 │
514+
▼ │
515+
┌──────────────────────┐ │
516+
│ ObjectStack Hono │◀────────────────┘
517+
│ :5320 │
518+
│ ├── /api/v1/*
519+
│ ├── /.well-known │
520+
│ └── Kernel + Plugins │
521+
└──────────┬───────────┘
522+
523+
524+
┌──────────────────────┐
525+
│ PostgreSQL / SQLite │
526+
└──────────────────────┘
517527
```
518528
519529
### Production

0 commit comments

Comments
 (0)