From fff24a08ed445dc4dfa04f82f05dd66642e087d2 Mon Sep 17 00:00:00 2001 From: Developer Date: Thu, 12 Feb 2026 08:12:01 +0000 Subject: [PATCH] feat: load example templates on startup --- src/config/loader.ts | 30 ++++++++++++++++++++++++++++++ src/server.ts | 5 +++++ 2 files changed, 35 insertions(+) create mode 100644 src/config/loader.ts diff --git a/src/config/loader.ts b/src/config/loader.ts new file mode 100644 index 0000000..44915fa --- /dev/null +++ b/src/config/loader.ts @@ -0,0 +1,30 @@ +import { parseTemplate } from '../engine/parser'; +import type { Template } from '../types/template'; + +export async function loadExampleTemplates(): Promise> { + const templates = new Map(); + + const examples = [ + 'daily-todo.yaml', + 'food-order-simple.yaml', + 'fancy-receipt.yaml', + 'ticket-list.yaml', + 'long-text.yaml' + ]; + + for (const filename of examples) { + try { + const file = Bun.file(`./templates/examples/${filename}`); + if (await file.exists()) { + const content = await file.text(); + const template = parseTemplate(content); + templates.set(template.id, template); + console.log(`✅ Loaded example template: ${template.name}`); + } + } catch (err) { + console.error(`❌ Failed to load ${filename}:`, err); + } + } + + return templates; +} diff --git a/src/server.ts b/src/server.ts index c080774..13a6da7 100644 --- a/src/server.ts +++ b/src/server.ts @@ -1,6 +1,11 @@ import { Hono } from 'hono'; import { serveStatic } from 'hono/bun'; import { apiRoutes } from './api/routes'; +import { loadExampleTemplates } from './config/loader'; + +// 加载示例模板 +const templates = await loadExampleTemplates(); +console.log(`📋 Loaded ${templates.size} example templates`); const app = new Hono();