- Published on
Julesで進める、ルーズな開発ライフ
- Authors
- Name
- Nomad Dev Life

忙しい日々と個人開発
個人開発って、「さあやるぞ!」って気合入れても、忙しい日だと全然進まなかったりしますよね。私も、平日は本業とジム活があり、個人開発のための時間を多く取ることはできません。
そんな私でも、ObsidianとGoogle Julesを使ったルーズな開発スタイルでWebアプリケーション(React + Python)をリリースすることができました。
今回はその開発スタイルについて説明します。
Google Julesとは?
Google Julesは、AIコーディングツールの一つです。
Web画面で、実装したい内容をプロンプトとして入力すると、Google側でVMが起動し、Githubのリポジトリをクローンしてブランチを作成し、プログラムを更新します。
- GitHubのブランチ作成やPR作成、コード修正なども自動で行える
- プロンプトを入力するだけで、AIが指示に沿ったコードや処理を作ってくれる
- テストを実行し、すべてのテストがPassすることを確認する
タスク管理
タスクの管理はObsidianで行っていました。と言っても、何か特別なことをしているわけではなく、単にリストでタスクを管理しているだけです。ですので、テキストファイル1つで十分です。
タスクは基本的には1行程度で書ける内容に留めておきます。複雑なものは、別途仕様をmdファイルを書き、プロンプトでそのファイルを指定して進めてもらいます。
開発の流れ
🎒前日の夜 — 明日の準備だけはしておく
1日が終わる前に、Obsidianを開いて翌日のタスクを1つピックアップしておきます。私の場合は、朝になってタスクを考えるのがちょっと億劫なので、ここで準備しておきます。
この時に、プロンプトを作ってJulesに投げてしまっても良いです。
☕朝 — PCを起動し、Julesにタスクを投げる
昨日の夜にピックアップしたタスクのプロンプトを作成し、Julesに投げます。
プロンプトは、分かりやすいように、なるべく細かく書くようにしていました。それにより、タスクの内容が明確になり、やり直しが少なくなる印象です。
たまに聞き返されるので、プロンプトを投げた後も適当に状況をチェックします。JulesとはWeb画面でやり取りするので、出勤時の電車の中でスマホから、タスクの状況を確認したりプロンプトを入力することもできます。
☀️昼休み — ちょっとチェック
お昼休みに少し時間があれば、Julesの実行結果をチラ見。
ザッと見て問題なければ、JulesからPRを発行します。「方向性が違うな」と思ったら、修正内容を記載したプロンプトを入力して実行しておきます。
🌘夜 — PRと動作確認
ジムから帰ってきて一息ついたら、Julesの出力結果を確認します。
PRにも問題なければ、git pull
してローカルで動作確認します。動作確認が取れたら、マージして終わり。翌日のタスクをピックアップします。
更新内容に何か問題があった場合は、Julesに修正をお願いします。ここは修正のたびに5-10分ほどかかるのですが、SNSやYoutubeを見ながら出来上がるのを待ちます。
PRと動作確認は時間がかかることがあります。そういう場合は、無理せず翌日に持ち越します。
👍良いところ
- 本業やジムで忙しくても、開発サイクルはほぼ崩れない
- 開発のスピードは遅いけど、一定量の進捗は出続ける
- 平日の開発はJulesに引っ張っていってもらえる。自分はレビュー、動作確認、次のタスクの準備をするだけ
- 具体的な実装イメージが持てなくても、取り敢えずJulesに投げてみて、結果を確認して次のアクションを考えることで前に進められる
☹️Julesで困ったこと
- 最初の頃は、非同期処理やmockを使ったテストコードは解決できないことがあった
- こちら側で修正していた
- 最近はこの問題は出なくなった
- こちら側で修正していた
- Julesが作成したブランチをこちら側で修正しても、その修正内容をJules側にpullしてくれない
- 一旦タスクを閉じて、その作業途中のブランチを指定して新しいタスクを作り直し、作業を再開していた
- この問題も解決したらしい
- 一旦タスクを閉じて、その作業途中のブランチを指定して新しいタスクを作り直し、作業を再開していた
- タスクの粒度が大きすぎると、結果がひどくなる
- タスクを小さく分ける
おわりに
忙しい平日でも開発を止めないことにより、一定の進捗を出し続け、最終的にリリースすることができました。
その日のうちにタスクが完了しなければ、無理せず翌日に持ち越します。実装の仕方が分からなくても、取り敢えずJulesに投げてみて、結果を確認しながら次のアクションを決めます。
平日の個人開発は、これくらいルーズな感じで進めました。今日できなくても、明日がある。うまくいかなくても、また明日違う方法を試してみる。そんな感じです。
現在はマーケティングを中心に動いていますが、それについてもこんな感じで毎日絶えず動かしていければと考えています。