From 96a9365044561c4798ec554151e1685bd90eeaba Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Sun, 24 May 2026 18:29:05 +0900 Subject: [PATCH] build(prompts-core): bundle markdown prompt variants Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- bun.lock | 1 + bunfig.toml | 3 ++ package.json | 1 + packages/prompts-core/src/atlas-prompts.ts | 34 +++++++++++++++++++ packages/prompts-core/src/index.ts | 8 ++++- .../prompts-core/src/markdown-modules.d.ts | 4 +++ packages/prompts-core/tsconfig.json | 1 + src/markdown-modules.d.ts | 4 +++ tsconfig.json | 1 + 9 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 packages/prompts-core/src/atlas-prompts.ts create mode 100644 packages/prompts-core/src/markdown-modules.d.ts create mode 100644 src/markdown-modules.d.ts diff --git a/bun.lock b/bun.lock index 04be30353..bc5578998 100644 --- a/bun.lock +++ b/bun.lock @@ -31,6 +31,7 @@ "@oh-my-opencode/comment-checker-core": "workspace:*", "@oh-my-opencode/hashline-core": "workspace:*", "@oh-my-opencode/model-core": "workspace:*", + "@oh-my-opencode/prompts-core": "workspace:*", "@oh-my-opencode/rules-engine": "workspace:*", "@oh-my-opencode/utils": "workspace:*", "@types/js-yaml": "^4.0.9", diff --git a/bunfig.toml b/bunfig.toml index 7899e83fc..665e9a149 100644 --- a/bunfig.toml +++ b/bunfig.toml @@ -1,3 +1,6 @@ [test] preload = ["./test-setup.ts"] pathIgnorePatterns = ["packages/web/**", "packages/lsp-tools-mcp/**"] + +[loader] +".md" = "text" diff --git a/package.json b/package.json index 7a84c1328..5013879c8 100644 --- a/package.json +++ b/package.json @@ -101,6 +101,7 @@ "@oh-my-opencode/comment-checker-core": "workspace:*", "@oh-my-opencode/hashline-core": "workspace:*", "@oh-my-opencode/model-core": "workspace:*", + "@oh-my-opencode/prompts-core": "workspace:*", "@oh-my-opencode/rules-engine": "workspace:*", "@oh-my-opencode/utils": "workspace:*", "@typescript/native-preview": "7.0.0-dev.20260518.1", diff --git a/packages/prompts-core/src/atlas-prompts.ts b/packages/prompts-core/src/atlas-prompts.ts new file mode 100644 index 000000000..e5c283728 --- /dev/null +++ b/packages/prompts-core/src/atlas-prompts.ts @@ -0,0 +1,34 @@ +import type { VariantTable } from "./types" +import defaultPrompt from "../prompts/atlas/default.md" +import geminiPrompt from "../prompts/atlas/gemini.md" +import gptPrompt from "../prompts/atlas/gpt.md" +import kimiPrompt from "../prompts/atlas/kimi.md" +import opus47Prompt from "../prompts/atlas/opus-4-7.md" + +export const atlasPromptVariants = { + "opus-4-7": { + kind: "bundled", + content: opus47Prompt, + filePath: "packages/prompts-core/prompts/atlas/opus-4-7.md", + }, + gpt: { + kind: "bundled", + content: gptPrompt, + filePath: "packages/prompts-core/prompts/atlas/gpt.md", + }, + gemini: { + kind: "bundled", + content: geminiPrompt, + filePath: "packages/prompts-core/prompts/atlas/gemini.md", + }, + kimi: { + kind: "bundled", + content: kimiPrompt, + filePath: "packages/prompts-core/prompts/atlas/kimi.md", + }, + default: { + kind: "bundled", + content: defaultPrompt, + filePath: "packages/prompts-core/prompts/atlas/default.md", + }, +} satisfies VariantTable diff --git a/packages/prompts-core/src/index.ts b/packages/prompts-core/src/index.ts index 639fa86a7..2b0ee9c90 100644 --- a/packages/prompts-core/src/index.ts +++ b/packages/prompts-core/src/index.ts @@ -1,11 +1,17 @@ export type { + BundledPromptSource, + FilesystemPromptSource, LoadedPrompt, + LoadBundledPromptInput, + LoadFilesystemPromptInput, LoadPromptInput, ModelVariant, PromptSource, RuntimeInjection, + SyncRuntimeInjection, VariantTable, } from "./types" +export { atlasPromptVariants } from "./atlas-prompts" export { resolveVariant } from "./variant-resolver" export type { ResolveVariantInput } from "./variant-resolver" -export { loadPrompt, PromptFileNotFoundError, PromptPathTraversalError } from "./loader" +export { loadPrompt, loadPromptSync, PromptFileNotFoundError, PromptPathTraversalError } from "./loader" diff --git a/packages/prompts-core/src/markdown-modules.d.ts b/packages/prompts-core/src/markdown-modules.d.ts new file mode 100644 index 000000000..eb3e3b92d --- /dev/null +++ b/packages/prompts-core/src/markdown-modules.d.ts @@ -0,0 +1,4 @@ +declare module "*.md" { + const content: string + export default content +} diff --git a/packages/prompts-core/tsconfig.json b/packages/prompts-core/tsconfig.json index 6a768d440..2e63fad48 100644 --- a/packages/prompts-core/tsconfig.json +++ b/packages/prompts-core/tsconfig.json @@ -4,6 +4,7 @@ "module": "ESNext", "moduleResolution": "bundler", "strict": true, + "allowArbitraryExtensions": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, diff --git a/src/markdown-modules.d.ts b/src/markdown-modules.d.ts new file mode 100644 index 000000000..eb3e3b92d --- /dev/null +++ b/src/markdown-modules.d.ts @@ -0,0 +1,4 @@ +declare module "*.md" { + const content: string + export default content +} diff --git a/tsconfig.json b/tsconfig.json index 7964411e1..507fab721 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,6 +8,7 @@ "outDir": "dist", "rootDir": "src", "strict": true, + "allowArbitraryExtensions": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true,