go-prompt-kit

module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 5, 2026 License: MIT

README

✍️ Go Prompt Kit

CI Language Go Version GitHub tag (latest by date) Go Reference Status

🚀 概要 (About) - AI 連携のインプットからアウトプットまでを一気通貫で。

Go Prompt Kit は、AI(Gemini 等)へのプロンプト管理から、AI から返ってきた Markdown レスポンスの美しいドキュメント化までをサポートする Go 言語向けツールキットです。

「プロンプト構築」と「洗練されたドキュメント配信(Cast)」を組み合わせることで、AI 連携アプリケーションの開発効率と保守性を最大化します。


✨ 提供機能 (Features)

📂 [prompts] プロンプトエンジン
  • 📦 Dynamic Resource Loader: embed.FS からファイルを自動スキャンし、プロンプトモードを自動マッピング。
  • 🛠 Template-based Builder: text/template を内包し、構造体データを注入して動的にプロンプトを生成。
  • 🛡 Collision Detection: モード名の衝突や空ファイルを初期化時に検知する堅牢なバリデーション。
📡 [md] ドキュメント配信エンジン
  • 📑 Markdown to HTML: AI のレスポンス(Markdown)を、スタイル済みの完全な HTML ドキュメントへ変換。
  • 🎨 Style-Injected Rendering: 組み込みの CSS やテンプレートを使用して、即座に「見栄えの良い」成果物を出力。
  • 🧩 Modular Architecture: Converter, Renderer, Runner が分離されており、特定のロジックのみの差し替えが可能。

🏗 プロジェクトレイアウト (Project Layout)

機能ごとに独立したモジュール構成を採用しており、必要な機能だけを選択して利用可能です。

go-prompt-kit/
├── prompts/           # 【INPUT】プロンプト構築
│   └── builder.go     #   - モード管理とテンプレート実行
├── md/                # 【OUTPUT】ドキュメント配信 (Cast)
│   ├── ports/         #   - 抽象インターフェース定義
│   ├── converter/     #   - Markdown 解析・タイトル抽出
│   ├── renderer/      #   - HTML レンダリング (CSS/Template)
│   ├── runner/        #   - 変換ワークフローの実行
│   └── builder/       #   - 具象インスタンスの構築
└── resource/          # 【BASE】共通基盤
    └── loader.go      #   - fs.FS からのアセット自動スキャン

🤝 主な依存関係 (Dependencies)

  • text/template: Go 標準のテンプレートエンジン
  • io/fs: 抽象化されたファイルシステムインターフェース
  • embed: 静的アセットのバイナリ埋め込み

📜 ライセンス (License)

このプロジェクトは MIT License の下で公開されています。

Directories

Path Synopsis
md
builder
Package builder は、Converter/Renderer/Runnerを組み立てて MarkdownToHTMLRunnerを構築するファクトリを提供します。
Package builder は、Converter/Renderer/Runnerを組み立てて MarkdownToHTMLRunnerを構築するファクトリを提供します。
converter
Package converter は、MarkdownをHTMLフラグメントへ変換するコンバーターを提供します。
Package converter は、MarkdownをHTMLフラグメントへ変換するコンバーターを提供します。
ports
Package ports は、Markdown変換・レンダリング処理が依存するインターフェース(ポート)を定義します。
Package ports は、Markdown変換・レンダリング処理が依存するインターフェース(ポート)を定義します。
renderer
Package renderer は、HTMLフラグメントを完全なHTMLドキュメントとして レンダリングするテンプレートエンジンを提供します。
Package renderer は、HTMLフラグメントを完全なHTMLドキュメントとして レンダリングするテンプレートエンジンを提供します。
runner
Package runner は、Markdownの変換とレンダリングを統合し、 完全なHTMLドキュメントを生成するランナーを提供します。
Package runner は、Markdownの変換とレンダリングを統合し、 完全なHTMLドキュメントを生成するランナーを提供します。
Package prompts は、埋め込みテンプレートからモードに応じたプロンプトを 構築するビルダーを提供します。
Package prompts は、埋め込みテンプレートからモードに応じたプロンプトを 構築するビルダーを提供します。
Package resource は、埋め込みファイルシステムからプレフィックス一致するファイルを 読み込むユーティリティを提供します。
Package resource は、埋め込みファイルシステムからプレフィックス一致するファイルを 読み込むユーティリティを提供します。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL