feat(arcade): migrate backend from NestJS to Hono/Bun

Replace @arcade/backend (NestJS) with @arcade/server (Hono/Bun).
Same two endpoints, no auth required (public game generator):
- POST /api/games/generate — AI game generation (Gemini, Claude, GPT)
- POST /api/games/submit  — Community game submission via GitHub PR
- GET  /health            — Health check

This removes the last remaining NestJS backend from the monorepo.
NestJS is now completely gone — all servers use Hono + Bun.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-31 17:02:14 +02:00
parent 7bc4db7e63
commit 6e75718cfa
26 changed files with 4662 additions and 2070 deletions

View file

@ -87,7 +87,6 @@ Always use `text` type for `user_id` columns in all database schemas.
|---------|---------|----------|
| `@manacore/shared-hono` | Hono auth middleware + helpers | All compute servers (Hono/Bun) |
| `@manacore/shared-auth` | Client auth service | Web/Mobile apps |
| `@mana-core/nestjs-integration` | Auth + Credits for NestJS | `@arcade/backend` only |
## Server Integration (Hono/Bun)
@ -113,23 +112,7 @@ app.get('/api/v1/data', (c) => {
});
```
### NestJS (arcade only)
`@arcade/backend` still uses NestJS with `@mana-core/nestjs-integration`:
```typescript
import { AuthGuard } from '@mana-core/nestjs-integration/guards';
import { CurrentUser } from '@mana-core/nestjs-integration/decorators';
@Controller('api')
@UseGuards(AuthGuard)
export class ApiController {
@Get('data')
getData(@CurrentUser() user: any) {
return this.service.findAll(user.sub);
}
}
```
> Note: Arcade's server (`@arcade/server`) does not require auth — game generation and community submission are public endpoints.
## Environment Variables