aibou へのコントリビューションを歓迎します!
git clone https://github.com/aibou-dev/aibou.git
cd aibou
npm install
npm run buildnpm run build # 全パッケージをビルド
npm run typecheck # 型チェック
npm test # テスト実行
cd packages/demo && npx playwright test # e2e テストpackages/
core/ # プロトコル型定義、ランタイム、メモリエンジン
bunshin/ # PNGTuber アバターエンジン
adapter-claude/ # Claude API コンパニオンアダプター
plugin-minesweeper/ # マインスイーパーゲームプラグイン
demo/ # ブラウザデモ (Vite)
AibouPluginインターフェースを実装するsummarizeState()が最も重要 — ゲームの状態を自然な言葉で要約するshouldReact()でコンパニオンの発話頻度を制御する- npm に
aibou-plugin-<game>として公開する - README の Community plugins セクションに PR を送る
詳細は packages/core/src/types.ts のプラグインインターフェースを参照してください。
AibouCompanionAdapterインターフェースを実装するreact()でゲームイベントに対する応答を生成する@aibou-dev/adapter-<provider>として公開する
- PR は小さく、フォーカスを絞って作成してください
- TypeScript strict mode でエラーがないことを確認してください
- 新機能にはテストを追加してください
- コード内のコメントは英語で記述してください
- コミットメッセージは変更の意図が分かるように書いてください
このプロジェクトは changesets を使用しています。
変更を加えた場合は changeset を追加してください:
npx changesetバグの報告や機能リクエストは GitHub Issues にお願いします。
コントリビューションは MIT License の下で提供されます。