| name | chatbot-dev |
| description | ChatBotプロジェクトの開発全般を支援するスキル。プロジェクト構造、コーディング規約、開発ワークフローに関する知識を提供します。ChatBotプロジェクトで作業する時、プロジェクト構造について質問された時、コーディング規約について質問された時、新しい機能を追加する時に使用してください。 |
ChatBot 開発スキル
このスキルはChatBotプロジェクトの開発全般を支援します。
プロジェクト概要
- フロントエンド: HTML5/CSS3/JavaScript (ES6+)
- バックエンド: Node.js + Express (
app/server/index.js) - AI API: OpenAI, Claude, Gemini, Azure OpenAI対応
- コード実行: JavaScript, Python (Pyodide), C++ (g++/JSCPP), HTML
- RAG: Transformers.js + IndexedDB(ローカル埋め込み)
- ポート: 50000(デフォルト)
主要ディレクトリ
| パス | 説明 |
|---|---|
app/public/js/core/ |
コアモジュール(API、config、storage等) |
app/public/js/core/rag/ |
RAG機能(ベクトルストア、埋め込み、検索) |
app/public/js/components/ |
UIコンポーネント |
app/public/js/modals/ |
モーダルダイアログ |
app/public/js/utils/ |
ユーティリティ関数 |
app/public/css/ |
スタイルシート |
app/server/ |
バックエンドサーバー |
クラス設計パターン
シングルトンパターン(必須)
すべてのクラスはシングルトンパターンで実装:
class ClassName {
static #instance = null;
constructor() {
if (ClassName.#instance) {
return ClassName.#instance;
}
ClassName.#instance = this;
}
static get getInstance() {
if (!ClassName.#instance) {
ClassName.#instance = new ClassName();
}
return ClassName.#instance;
}
}
プライベートメソッド
ES2022のプライベートフィールド/メソッドを使用:
#privateField = null;
#privateMethod() { /* ... */ }
設定管理
すべての設定値は window.CONFIG オブジェクトで管理:
window.CONFIG.AIAPI.ENDPOINTS.OPENAI // APIエンドポイント
window.CONFIG.STORAGE.KEYS.API_TYPE // ストレージキー
window.CONFIG.AIAPI.DEFAULT_PARAMS // デフォルトパラメータ
開発手順
- 関連するコアファイルを確認
- 既存パターンに従って実装
- 適切なエラーハンドリングを追加
- JSDocコメントで型情報を記載
- ドキュメント更新(下記参照)
ドキュメント更新ルール
実装変更後は必ず以下を確認・更新すること:
| 変更内容 | 更新対象 |
|---|---|
| 新機能追加 | README.md、CLAUDE.md、references/project-structure.md |
| ディレクトリ追加 | CLAUDE.md(構造)、references/project-structure.md |
| 設定値追加 | CLAUDE.md、config.jsコメント |
| API変更 | README.md、CLAUDE.md、該当Skillファイル |
| 技術スタック変更 | README.md(技術スタック節)、CLAUDE.md |
| 既存機能の仕様変更 | 関連するすべてのドキュメント |
更新対象ファイル一覧
| ファイル | 内容 | 対象読者 |
|---|---|---|
README.md |
ユーザー向けガイド、機能説明、技術スタック | エンドユーザー |
CLAUDE.md |
開発者向け概要、必須ルール、主要ファイル | AI/開発者 |
references/project-structure.md |
詳細ディレクトリ構成 | AI/開発者 |
チェックリスト
実装完了時に確認:
-
README.mdの主な特徴・技術スタックは最新か -
CLAUDE.mdの機能説明は最新か -
references/project-structure.mdのファイル構成は正確か - 新しいモジュールは主要ファイル表に追加されているか
- 技術スタック(ライブラリ等)の変更は記載されているか
参照ファイル
詳細は以下のファイルを参照:
references/project-structure.md: 詳細なディレクトリ構成references/coding-conventions.md: 命名規則、JSDocreferences/development-workflow.md: 開発フロー