pma-bun について
pma-bun は、PMA 管理下の Bun バックエンド、API サービス、社内ツール向けの実装ガイドです。ランタイム、データ、テスト、リリースの規則を参照資料ごとに整理しています。
主な機能
- 01Bun プロジェクトの対象と構成
- 02ランタイムと設定のガイド
- 03Drizzle と SQLite のデータ指針
- 04テストとカバレッジの要件
- 05ビルド、CI、リリースの規則
活用シーン
- 01PMA 管理の Bun API の構成
- 02単一 API と monorepo の構成選択
- 03マージ前のテストとカバレッジ確認
- 04コンパイル済みバイナリと Docker のリリース準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ zzci/ skills --skill pma-bunインストール後、Claude Code で/pma-bunを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/baseline.mddata-and-testing.mddelivery.mdruntime.md詳細
Bun プロジェクト実装ガイド
このスキルは /pma と併用してください。/pma がワークフロー、承認、タスク追跡を管理し、このガイドでは承認後の実装基準を定めます。
このエントリーファイルは小さく保ってください。関連するリファレンスパックのみを読み込みます。
対象範囲
PMA が管理する Bun バックエンド、API サービス、内部ツール向けです。API と同じリポジトリに含まれる SPA は、兄弟ディレクトリの web/ と pma-web を使用してサポートされます。Bun ワークスペースは必要ありません。
フロントエンドのみの SPA、Node 固有のランタイムガイド、PMA を使用しないワークフローは対象外です。
読み込み順序
- 必ず最初に
references/baseline.mdを読み込みます。 - ブートストラップの流れ、設定、ルート解決、HTTP サーバー、OpenAPI コントラクトとドキュメント、ロギング、PID ロック、開発環境と本番環境の分離については、
references/runtime.mdを読み込みます。 - Drizzle、SQLite を優先するストレージ、
bun:sqliteドライバーの設定、ソースモードとコンパイルモードでのマイグレーション、リポジトリのパターン、テストについては、references/data-and-testing.mdを読み込みます。 - コンパイルの流れ、埋め込みアセット、CI ゲート、可観測性、Docker、セキュリティ、Git ワークフローについては、
references/delivery.mdを読み込みます。
クイックルーティング
- 新規プロジェクトのセットアップまたはリポジトリの再構成(単一 API/API と兄弟 SPA/モノレポ)→
references/baseline.md - 依存関係のバージョン(レジストリでの確認、固定ルール)→
references/baseline.mdDependency Freshness - ランタイム(
app.ts/index.ts/任意のdev.ts、設定、起動、グレースフルシャットダウン、ロギング、PID ロック)→references/runtime.md - ルーティングと API ドキュメント(厳守事項:
hono-openapi、/openapi.json、/docs)→references/runtime.md - 開発時の URL ルーティング(nsl)→
references/runtime.md(プロトコルの全容 →/pma references/dev-environment.md、マルチアプリワークスペースのセットアップ →/pma docs/monorepo-example.md) - データアクセス(スキーマ設計、SQLite のセットアップ、マイグレーション、リポジトリ)→
references/data-and-testing.md - テスト(bun:test、カバレッジのしきい値、OpenAPI コントラクトテスト、コンパイルモードのスモークテスト)→
references/data-and-testing.md - CI とデリバリー(コンパイルパイプライン、埋め込みアセット、バイナリ配布、Docker、PR の準備)→
references/delivery.md
リファレンスパック
references/baseline.md対象範囲、構成の選択肢(単一 API/モノレポ/API と兄弟 SPA)、技術スタック、必須の品質ゲート、スクリプト、規約、実装ワークフロー。references/runtime.mdTypeScript のデフォルト、設定の読み込み、ブートストラップ構成、hono-openapi のルートとコントラクトのルール、ミドルウェア、ロギング、ドキュメントのルート、ランタイムのライフサイクル。references/data-and-testing.mdSQLite を優先するストレージでの Drizzle、ソースモードとコンパイルモードのマイグレーション戦略、リポジトリの境界、カバレッジの設定、テストのルール。references/delivery.md--assetを使ったコンパイルパイプライン、セキュリティパターン、可観測性、CI パイプライン、Docker、ワークスペースのルール、Git の規約。
受け入れチェックリスト
マージ前:
-
lint、typecheck、buildが成功する -
bun test --coverageが成功する。しきい値はbunfig.tomlのcoverageThresholdに設定し、0.8 以上とする - 起動時に環境設定を Zod で検証する。ビジネスロジック内で
Bun.envを読み取らない - ルートが Routing Hard Lock に従っている。
/openapi.jsonがランタイム検証と一致し、/docsから開ける - バックエンドプロセスで Vite を使用しない(
@hono/vite-dev-serverを使用せず、dev.tsで Vite ミドルウェアを使わない) - nsl による開発時ルーティングが動作する(
bunx nsl run -n <name>:/api -s -- bun --watch src/index.ts)。本番環境のブートストラップは nsl に依存しない - マイグレーションをコミットする。バイナリを配布する場合は、
--assetでdrizzle/(兄弟 SPA がある場合はweb/distも)を埋め込み、コンパイルモードのスモークテストに合格する - 新規またはバージョンを上げた依存関係はレジストリで確認する。最新以外のバージョンを固定する場合は、その理由を記録する
リポジトリで意図的に異なる方式を採用する場合は、提案内でその差異を明示し、スクリプト、ドキュメント、CI 全体で一貫させてください。
コメント
Markdown 対応