Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vibe Coding × Go

Avatar for 135yshr 135yshr
February 20, 2026

Vibe Coding × Go

📌 Vibe Coding × Go: AIに設計を守らせる技術
Claude CodeとCursorを使ったGo開発で、Clean Architectureを崩さずに開発するための実践を紹介します。
話す内容:
・CLAUDE.mdを「設計契約書」としてAIに読ませる
・GitHub Issue → Plan Mode / Spec-Workflow の3段階プロセス
・Pre-commit + golangci-lint + testcontainers による多層検証
・Code Tempoで開発活動とDORAメトリクスを可視化
「AIが書いたコードも、人が書いたコードも信用しない。だからテストを書く。だから仕組みで守る。」
完璧を求めず、壊れたらすぐ気づける設計と一緒に働く仲間を大切にする。そんな開発の話です。

Avatar for 135yshr

135yshr

February 20, 2026
Tweet

More Decks by 135yshr

Other Decks in Technology

Transcript

  1. ちょっとアホだけど、設計意図を汲んでコードを書いてくれるパートナーに育てる 1. 事前制約 CLAUDE.md .cursor rules AIに設計ルールを 理解させる 2. 開発プロセス

    GitHub Issue Plan Mode Spec-Workflow 規模に応じた設計フロー 3. 事後検証 Pre-commit golangci-lint テスト 自動品質チェック
  2. 事前制約:CLAUDE.md という「設計契約書」 AIに読ませる アーキテクチャ ドキュメント プロジェクト固有の設計原則を AIが理解できる形で記述する アーキテクチャルール Clean Architecture

    4層の依存方向 コーディング規約 エラーハンドリング、命名規則 禁止事項 --no-verify禁止、AWS直接操作禁止 開発コマンド Taskfile経由で標準化 + Cursor Rules:.cursor/rules/ にファイルパターン別の詳細ルール(グローバル + プロジェクト固有の階層化)
  3. 開発プロセス全体像:GitHub Issue起点のフロー GitHub Issue 規模 判定 Plan Mode (小〜中) 実装

    Pre-commit & Review Spec- Workflow (大) 「何をやるか」は人間が決め、AIには「どう実装するか」に集中させる
  4. 日常の開発:Claude Code の Plan Mode 軽量・高速な「考えてから書く」サイクル GitHub Issue から依頼 AIが計画を

    自動生成 人間が 承認 実装 開始 CLAUDE.mdの設計ルールを踏まえた計画を自動生成 — 単一feature内の変更はこれで十分
  5. 大規模変更:Spec-Workflow 複数featureをまたぐ変更は、仕様から固める requirements.md ユーザーストーリー 受入条件 人間が承認 design.md アーキテクチャ設計 Mermaid図 人間が承認

    tasks.md 実装タスク分解 チェックリスト 人間が承認 影響範囲の広さで Plan Mode と使い分け — 一律に重いプロセスを課さない
  6. 事後検証:Pre-commitで「すり抜けを許さない」 人間もAIも同じ品質ゲートを通る golangci-lint 静的解析 go-test ユニットテスト go-fmt / imports フォーマット

    gitleaks シークレット検出 markdownlint ドキュメント品質 --no-verify禁止 CLAUDE.mdで明記 AIが生成しがちな雑なエラーハンドリングを err113, exhaustive, gosec で捕捉
  7. 実践で見えた設計パターン:AIと作るClean Architecture in Go Feature-First 構成 internal/{feature}/ domain/ | usecase/

    interface/ | infrastructure/ 各featureが独立 Uber/Dig DI Feature Flag評価をDI層で実行 Use Case層を純粋に保つ AIにも依存関係が明確 型安全なドメインモデル type RiskLevel string + ParseRiskLevel() + IsValid() 型レベルで不正値を防止 Port/Adapter パターン Use Case層のPort IFで境界を明確化 AIが層を超えた依存を作りにくい構造 AIフレンドリーな設計 = 人間にとっても良い設計
  8. Code Tempo:開発活動の可視化 Vibe Codingの成果を "見える化" する DORAメトリクス デプロイ頻度・変更失敗率を自動収集 PR/Issue分析 長期オープンPR、レビュー待ち、ブロッカー検出

    改善提案 データに基づく改善サジェスト 設計の一貫性 Next.js + TypeScript だが Goプロジェクトと同じ Clean Architecture思想 features/{feature}/ domain/ application/ infrastructure/ presentation/ 言語が変わっても設計原則と Vibe Coding の手法は共通
  9. 開発者体験を支えるエコシステム 設計 コーディング 検証 可視化 GitHub Issues Plan Mode Spec-Workflow

    Claude Code Cursor CLAUDE.md .cursor rules Pre-commit golangci-lint go test testcontainers Code Tempo DORA Metrics Taskfile(コマンド標準化: build / test / lint / gen)
  10. AIが書いたコードも、 人が書いたコードも、 信用しない。 だからテストを書く。だから仕組みで守る。 自動テスト Unit / Integration / E2E

    の多層構造 QAチーム 開発者の思い込みを超えた 検証の目 仕組みで防止 Pre-commit, Lint, Clean Architecture 完璧なコードを求めない。人間だって完璧なコードは書けない。 大事なのは「壊れたらすぐ気づける仕組み」と「直しやすい設計」