pma-go について
pma-goは、PMAで管理するGoバックエンド、APIサービス、CLIアプリ向けの実装ガイドです。設定、データアクセス、ランタイム、デリバリーを扱う参照資料をタスクに応じて読み込みます。
主な機能
- 01Go実装の基準を提示
- 02設定とデータアクセスをガイド
- 03HTTPサービスとランタイムを網羅
- 04テスト、CI、安全性チェックを規定
活用シーン
- 01GoバックエンドやCLIアプリのセットアップ
- 02サービス設定とデータアクセスの標準化
- 03Goプロジェクトのテストとリリース準備の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ zzci/ skills --skill pma-goインストール後、Claude Code で/pma-goを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/baseline.mdconfig-and-data.mddelivery.mdhttp-and-runtime.md詳細
Go プロジェクト実装ガイド
このスキルは /pma と併用してください。/pma はワークフロー、承認、タスク追跡を管理し、このガイドでは承認後の実装の基本方針を定めます。
このエントリーファイルは簡潔に保ちます。タスクに必要なリファレンスパックだけを読み込んでください。
対象範囲
PMA で管理される Go バックエンド、API サービス、CLI アプリケーションが対象です。
組み込みターゲット、バイナリのないライブラリ専用モジュール、PMA 対象外のプロジェクトは対象外です。
読み込み順序
- 必ず最初に
references/baseline.mdを読み込みます。 - 設定のレイヤリング、検証、sqlc、pgx、GORM、マイグレーションには
references/config-and-data.mdを読み込みます。 - ハンドラー、ミドルウェア、ロギング、オブザーバビリティ、シャットダウンには
references/http-and-runtime.mdを読み込みます。 - リント、テスト、タスクランナー、セキュリティレビュー、CI、Git ワークフローには
references/delivery.mdを読み込みます。
クイックルーティング
- 新しいサービスまたは CLI のセットアップ →
references/baseline.md - 設定(koanf のレイヤリング、環境変数のマッピング、検証)→
references/config-and-data.md - データアクセス(sqlc + pgx、GORM、マイグレーション、リポジトリの境界)→
references/config-and-data.md - ランタイム(HTTP サーバー、ミドルウェア、slog、トレーシング、シャットダウン)→
references/http-and-runtime.md - 開発用 URL ルーティング(nsl)→
references/http-and-runtime.md(プロトコル全体については/pma references/dev-environment.md) - テスト →
references/delivery.md - CI とデリバリー(品質ゲート、リント、Taskfile、セキュリティチェックリスト、PR の準備状況)→
references/delivery.md
リファレンスパック
references/baseline.mdスタックのデフォルト、品質ゲート、レイアウト、規約、エラーモデル、コード品質基準。references/config-and-data.mdkoanf による設定のレイヤリング、検証、sqlc と pgx、GORM の代替手段、マイグレーションのルール。references/http-and-runtime.mdルーターの構成、ハンドラーパターン、ミドルウェア、ロギング、オブザーバビリティ、グレースフルシャットダウン。references/delivery.mdリント設定、テスト、タスクランナーの要件、セキュリティチェック、CI、Git の規約。
受け入れチェックリスト
マージ前:
-
goimports -l .の出力が空であること。golangci-lint runとgo vet ./...が成功すること -
go test -cover ./...が成功すること。カバレッジ目標は 80% 以上 -
go build ./...が成功すること。go mod tidyによる差分がないこと - 変更したコードに対して
gosec ./...が成功すること - 設定を koanf でレイヤリング(デフォルト → ファイル → 環境変数 → フラグ)し、読み込み後に検証していること
- グレースフルシャットダウンが組み込まれていること(
signal.NotifyContext+ タイムアウト付きのhttp.Server.Shutdown) - サービスに UI が含まれる場合、nsl による開発用ルーティングが機能すること(
references/http-and-runtime.mdを参照)
リポジトリがすでにこれらのデフォルトから逸脱している場合は、その逸脱を明示し、コード、ドキュメント、CI 全体で一貫して適用してください。
コメント
Markdown 対応