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

Cursor & Devinで楽ちん!初めてのGo CLI開発 aws-s3-siggy

Avatar for Ryuya Ishibashi Ryuya Ishibashi
July 28, 2025
240

Cursor & Devinで楽ちん!初めてのGo CLI開発 aws-s3-siggy

業務で使っていたS3署名付きURL生成のGoコードを、CursorとDevinの力を借りて週末にCLI化した実体験談。レイヤードアーキテクチャとcobraを使った初期実装から、Devinによる30分での機能追加まで、AI支援開発の実際の工程とコツを紹介。「すごいエンジニアの話もいいけど、親近感のあるレベルの話を聞くのもいいかも?」という思いで、みなさん に「私にもできそう」と思ってもらえる発表を目指します

Avatar for Ryuya Ishibashi

Ryuya Ishibashi

July 28, 2025
Tweet

Transcript

  1. 発表の意図 正直に言うと... 「有名な人ばっかりの中、ワシ場違いすぎないか?」 「スーパーエンジニアのすごい話の中、自分の発表いる?」 でも、一方でこうも思いました 1 Go 開発者の中で、実際にCLI 作ったことある人、何人いる? 2

    その中でも、npm/Homebrew に公開したことある人は? 3 すごい人の発表に「ほえー」と頷くのもいいけど、親近感のあるレベルの話を聞く参考になるかも? 「僕にもできそう」 「私もやってみるか」という気に少しでもなってもらえたら嬉しいです! 2 / 9
  2. Rubita / Ryuya Ishibashi X / GitHub ENECHANGE 株式会社で働いています 経歴

    2022/04 - 2023/03 Rails エンジニアとして、電気料金シミュレーションのAPI 開発を中心に お仕事していました 2023/04 - 現在 Rails ・Go ・インフラエンジニア・エンジニアリングマネージャーとし て、EV 関連の様々なプロダクトに携わっています 猫2 匹と暮らしています 自己紹介 3 / 9
  3. 今日お話しすること 業務のちょっとしたツールをAI の力を借りてCLI 化した話 タイムライン 1 きっかけ:S3 署名付きURL 生成コードを書いた 2

    Cursor 登場:週末にサクッとCLI 化 3 Devin 参上:機能追加を30 分で完了 ※ 今はClaude Code に宗旨替えしました 🙏 * 4 / 9
  4. きっかけ:業務での小さな課題 S3 の署名付きURL を毎回手動で生成... // また同じコード書いてる... client := s3.NewFromConfig(cfg) presigner

    := s3.NewPresignClient(client) request, err := presigner.PresignPutObject(context.TODO(), &s3.PutObjectInput{ Bucket: aws.String("my-bucket"), Key: aws.String("my-object"), }, func(opts *s3.PresignOptions) { opts.Expires = time.Duration(2 * time.Hour) }, ) 「CLI ツールにしたい!」でも忙しくて放置... 5 / 9
  5. 実装方針 cobra (業務で使い慣れてる) レイヤードアーキテクチャ インターフェースでDI テストコードも充実 GitHub Actions CI/CD 使い方

    # シンプルなコマンド体系 aws-s3-siggy put \ -b my-bucket \ -k my-object # 結果:署名付きURL https://my-bucket.s3... 週末の数時間で完成! Cursor 登場:週末プロジェクト開始! cobra を使ってCLI 化を決意 6 / 9
  6. Devin 参上:爆速機能追加 PresignUploadPart 機能を追加したい プロンプト: https://github.com/RyuyaIshibashi/aws-s3-siggy に PresignUploadPart の機能を追加してください。 サブコマンドは`upload_part`

    にしてください。 既存の実装に従ってテストコードも追加してください。 結果 ✅ コードベースを自動理解 ✅ CI エラーも勝手に修正 ✅ PR レビューも即対応 ⏱️ 作業時間:30 分 💰 コスト:792 円 (通常0.5-1 人日の作業) 7 / 9
  7. Devin 活用のポイント なぜうまくいったのか? 1 既存コードが整理されていた   → レイヤードアーキテクチャ、テスト充実 2 明確で具体的な指示   →

    何をどう追加するか明確 3 小さなスコープ   → 1 機能の追加、既存パターンの踏襲 💡 AI は「0→1 」より「1→10 」が得意! 8 / 9
  8. 🛠️ ツール選択 - Cursor/Claude Code :初期実装をサクッと - Devin :機能追加を爆速で 📦

    成果物 aws-s3-siggy - Homebrew でインストール可能! まとめ 個人開発×AI の相性は最高! 週末にサクッとCLI 開発できた みなさんも業務ツールをCLI 化して公開してみませんか? ありがとうございました! 9 / 9