Slide 1

Slide 1 text

Go Proposal Weekly Digestの作り方 @mazrean Go Connect #11

Slide 2

Slide 2 text

mazrean ■ Goでツール等を作っている ● DIツール Kessoku ■ Proposalまとめサイト開発 ■ SRE @DeNA ● Go Junction運営 @mazrean22 マズリーン 2

Slide 3

Slide 3 text

mazrean ■ Goでツール等を作っている ● DIツール Kessoku ■ Proposalまとめサイト開発 ■ SRE @DeNA ● Go Junction運営 @mazrean22 マズリーン 3 今日はこの話

Slide 4

Slide 4 text

目次 4 1 Go Proposal Weekly Digest 2 仕組み 3 運営視点色々 4 まとめ

Slide 5

Slide 5 text

目次 5 1 Go Proposal Weekly Digest 2 仕組み 3 運営視点色々 4 まとめ

Slide 6

Slide 6 text

Go言語のProposal GoではProposalで機能提案がされる ■ 誰でも提案・議論参加ともに可能 ● GitHub issueで議論 ■ 最終的に開発チーム がaccept・decline 6

Slide 7

Slide 7 text

Proposalのstatus Proposalには基本5つのstatusがある ■ Go開発チームの週次MTGで変動 7 Active Hold Likely accept Likely Decline Accept Decline

Slide 8

Slide 8 text

review meeting minutes 毎週GitHub issueコメントでstatus一覧公開 ■ 議論中Proposalのstatusが一覧で出される ■ 正直見づらい… 8

Slide 9

Slide 9 text

Go Proposal Weekly Digest Go言語のProposal更新まとめサイト ■ 毎週status変動のあったProposalをAI要約 ■ 議論状況まとめや用例まとめ付き 9 RSSもある https://go-proposal-weekly-digest.mazrean.com/

Slide 10

Slide 10 text

目次 10 1 Go Proposal Weekly Digest 2 仕組み 3 運営視点色々 4 まとめ

Slide 11

Slide 11 text

仕組み ■ ページ自体は単純な静的サイト ● Cloudflare Workers Assetにデプロイ ■ GitHub Actions上で生成 ● Goのスクリプト+Claude Code Action ● Cron Triggerで発火 11

Slide 12

Slide 12 text

生成の流れ 可能な限り決定的にしている ■ status変動などは決定的 ■ 一方、説明はClaude Codeに全力で任せる 12 status変動検出 要約生成 mdx化 サイト生成

Slide 13

Slide 13 text

status変動検出 前回更新時とのstatus差分を取り出す ■ review meeting minutesのコメント解析 ● 基本的にフォーマットは固定 ● 頑張る ■ 前回解析分とのdiffを出す ● diffのあるProposalのみjsonに書き出す 13

Slide 14

Slide 14 text

要約生成 Claude Codeに要約させる ■ jsonファイルでProposal一覧を渡す ■ 各Proposalに対しsubagentを並列起動 ● Proposal 1つの調査タスクになっている ● Web Search+ghコマンドで調査 ■ mdファイルとして書き込む 14

Slide 15

Slide 15 text

mdx化 mdとjsonを結合する ■ 要約mdに必要な情報を構造化して付加 ■ このmdxのみをリポジトリに残す ● サイトのコンテンツのみを生成している状態 ● UIを変えても簡単に再生成可能 15

Slide 16

Slide 16 text

サイト生成 サイトのHTML・CSS・jsを生成する ■ HTMLはtemplで生成 ● Go版jsxのような書き心地 ■ CSSはUnoCSS ■ 動的検索はLitで実現 ● Web Componentのラッパーライブラリ ● 静的サイトに少し動きをつけるときに便利 16

Slide 17

Slide 17 text

運用費用 基本的にClaude Max(5x)のみ ■ 実質的に追加負担はない ● 個人開発で普段使いしている ● weekly limitにはかかっていない ■ 気軽に乗り換えられないのが辛いが… ● 最近、Codexが気になっている ● 生成品質などを確認する必要がある 17

Slide 18

Slide 18 text

目次 18 1 Go Proposal Weekly Digest 2 仕組み 3 運営視点色々 4 まとめ

Slide 19

Slide 19 text

PV数が割と面白い ■ PV数は計測している ● Cookie不使用で個人特定はできない範囲 ● Cloudflare Analytics ■ Proposalごとの関心の強さ が見える ● Generics methodなどは明らかに多かった ● 逆に、見られないものは本当に見られない 19

Slide 20

Slide 20 text

やってみたいこと ■ Release時のまとめは出したい ● Releaseに含まれるProposal一覧 ● Release時に経緯も知りたくない? ■ i18nしても良さそう? ● 日本以外でも同じ課題抱えている人はいそう ● 言語の壁関係ない側面も大きい気はする 20

Slide 21

Slide 21 text

目次 21 1 Go Proposal Weekly Digest 2 仕組み 3 運営視点色々 4 まとめ

Slide 22

Slide 22 text

まとめ ■ Proposalまとめサイトを作った ■ Claude Code ActionsとGoでページ生成 ■ ぜひ使ってみて欲しいです 22