Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Flutterと Vibe Coding で個人開発!
Search
Hayami Shuhei
August 01, 2025
Programming
1
290
Flutterと Vibe Coding で個人開発!
第8回 FlutterGakkai
吹き出し素材は
https://kage-design.com
のものを使用させていただいております
Hayami Shuhei
August 01, 2025
Tweet
Share
More Decks by Hayami Shuhei
See All by Hayami Shuhei
BLoCパターンとflutter_bloc
hyshu
0
100
Melos x Pub Workspaces で 沢山のアプリとパッケージを管理するのに 苦労した話
hyshu
1
47
Jasprが凄い話
hyshu
0
330
CanvasKitの描画の仕組みを調べてみる
hyshu
0
140
Other Decks in Programming
See All in Programming
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
310
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
6
2.5k
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
120
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.6k
Laravel Boost 超入門
fire_arlo
3
220
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
150
Performance for Conversion! 分散トレーシングでボトルネックを 特定せよ
inetand
0
860
AIコーディングAgentとの向き合い方
eycjur
0
270
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
270
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
184
22k
Typedesign – Prime Four
hannesfritz
42
2.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Optimizing for Happiness
mojombo
379
70k
Music & Morning Musume
bryan
46
6.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Speed Design
sergeychernyshev
32
1.1k
Producing Creativity
orderedlist
PRO
347
40k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Side Projects
sachag
455
43k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Transcript
ୈճ'MVUUFS(BLLBJ ͱ Vibe CodingͰ ݸਓ։ൃʂ BR )BZBNJ4IVIFJ
ݸਓ։ൃɺしていますか? ࠙ձͰͷௐࠪʢBRௐʣ ͍͔ͭΓ͍͚ͨͲ͕࣌ؒͳ͍ʜ AIがあるので時間がなくても作れます🙆
·ͣ$IBU(15ʹ࣭ 何か良い感じに便利な Flutterアプリを沢山考えてください
͢Δͱݸ͘Β͍ߟ͑ͯ͘ΕΔ IUUQTDIBUHQUDPNTIBSFCEFDCGD 23ίʔυҰׅεΩϟφʔཤྺཧ εϚʔτ5P%P श׳τϥοΧʔ ࣸਅʹࣸͬͯΔจࣈΛॠ࣌ʹϦετԽ͢Δ0$3ϝϞா 1%'ऍˍॺ໊πʔϧ 8J'J#MVFUPPUIࣗಈΓସ͑πʔϧʢ"OESPJEͷΈʣ "*ͱձֶͯ͠Ϳӳձ࿅शΞϓϦ ୯ޠாϝʔΧʔ
ΧϝϥऔΓࠐΈ ඵͰ෮शɿ௨Ͱখςετ ίʔυεχϖοτهˍݕࡧΞϓϦ ϚΠϯυϑϧωεݺٵτϨʔφʔ ৯ࣄϩάʴࣸਅ͔ΒࣗಈΧϩϦʔܭࢉ εϚʔτਫิڅϦϚΠϯμʔ ࢄาϧʔτهˍؾϩά "*ٞࣄϥΠλʔʢԻˠཁʣ γϯϓϧग़ୀۈλΠϜΧʔυ ΧελϜςϯϓϨʔτٻॻδΣωϨʔλʔ ΫϥΠΞϯτผϝϞ λεΫ ਐḿՄࢹԽ ϛχ7MPH࡞ߘΞϓϦ ಗ໊͓Έ૬ஊܝࣔ൘ʢ"*͖ʣ ҰҰࣸਅ4/4ʢ࣌ؒͰফ͑Δʣ झຯϚονϯάΞϓϦʢݩɾΦϯϥΠϯରԠʣ ෦ͷ༷ସ͑γϛϡϨʔλʔʢ"3 %ʣ ϖοτͷ݈߁هΞϓϦ ಡॻϩά ཁϊʔτΞϓϦ Πϕϯτཧˍ23νΣοΫΠϯ ఱؾ༧ใΟδΣοτ ੈք࣌ܭʢෳࢢରԠʣ ͪΐ͍ϝϞʢϩοΫը໘ͰݟΒΕΔʣ ετοϓΥον ϥοϓه ΧϨϯμʔ༧ఆཧʢ(PPHMF࿈ܞʣ ͜ͷத͔ΒબΜͰ࡞ͬͨΓɺ͜ΕΛىʹ࡞Γ͍ͨͷΛߟ͑ͨΓʜ
猫の餌やり記録アプリの 企画書を考えてください ࣍ʹاըॻΛ࡞ͬͯΒ͏
ೣͷ㕒ΓهΞϓϦاըॻ ˙ΞϓϦ໊ʢԾʣ ʹΌΜϩάʢ/ZBN-PHʣ ʙೣͷ͝ΜهΛ؆୯ɾ࣮֬ʹʙ ⸻ ˙എܠɾత ଟ಄ࣂ͍ͷՈఉෳਓͰೣͷੈΛ͍ͯ͠ΔڥͰɺʮೣʹ㕒Λ͔͋͛ͨͲ͏͔͔Βͳ͍ʯͱ͍͏τϥ ϒϧ͕ൃੜ͕ͪ͠Ͱ͢ɻ ·ͨɺ݈߁ཧͷͨΊʹɺʮ͍ͭɾͲͷ͘Β͍㕒Λ৯͔ͨʯͷهॏཁͰ͢ɻ ͦ͜Ͱɺ㕒ΓͷཤྺΛ؆୯ʹهɾڞ༗Ͱ͖ΔεϚϗΞϓϦΛ։ൃ͠ɺೣͷ݈߁ͱࣂ͍ओͷ҆৺Λαϙʔτ
͠·͢ɻ ⸻ ҎԼུ IUUQTDIBUHQUDPNTIBSFFDFDBDFEGGFF
ೣͷ㕒ΓهΞϓϦاըॻ ˙ΞϓϦ໊ʢԾʣ ʹΌΜϩάʢ/ZBN-PHʣ ʙೣͷ͝ΜهΛ؆୯ɾ࣮֬ʹʙ ⸻ ˙എܠɾత ଟ಄ࣂ͍ͷՈఉෳਓͰೣͷੈΛ͍ͯ͠ΔڥͰɺʮೣʹ㕒Λ͔͋͛ͨͲ͏͔͔Βͳ͍ʯͱ͍͏τϥ ϒϧ͕ൃੜ͕ͪ͠Ͱ͢ɻ ·ͨɺ݈߁ཧͷͨΊʹɺʮ͍ͭɾͲͷ͘Β͍㕒Λ৯͔ͨʯͷهॏཁͰ͢ɻ ͦ͜Ͱɺ㕒ΓͷཤྺΛ؆୯ʹهɾڞ༗Ͱ͖ΔεϚϗΞϓϦΛ։ൃ͠ɺೣͷ݈߁ͱࣂ͍ओͷ҆৺Λαϙʔτ
͠·͢ɻ ⸻ ҎԼུ 'MVUUFSͰҎԼͷΞϓϦΛ࡞͍ͬͯͩ͘͞ɻ Ճ ͓ΈͰػೳઃܭɾ͍͍ͨύοέʔδͳͲΛه͍ͯ͘͠
ͲΕ࣭ʹ͋·Γࠩͳ͍ͷͷɺ͔͔Δख͕ؒҟͳΔ खؒ ଟΊ গͳΊ ແྉ ʙ ʙ
$MJOFY(FNJOJ1SP ແྉ"1*Ωʔ
$VSTPSY$MBVEF4POOFU (FNJOJͱͷੑೳࠩߕԵ͚͍͕ͭɺ$MBVEFҰͷࢦࣔͰ͘ಈ͍ͯ͘Εָͯ ͲͪΒະ࣮ෆ۩߹͕݁ߏ͋ΔͷͰɺҰͭͣͭࢦࣔΛग़ͯ͠मਖ਼͍ͯ͘͠
Ұ൪ָΛ͍ͨ͠ͷͳΒ $MBVEF$PEF ˞ݱ࣌ͰͷͰ͢ 1SPϓϥϯ Ͱ ेͰ͢
ϧʔϓͰλεΫ͕ ࣮ߦͰ͖Δ͔Β $MBVEF$PEFָ͕ͳཧ༝ DDSVOOFSͱ͍͏͜ͷҝͷ$-*࡞Γ·ͨ͠ IUUQTHJUIVCDPNIZTIVDDSVOOFS ZBNMͰॻ͚ΔɺϨʔτϦϛοτղআ·Ͱࣗಈػʣ
λεΫϦετͷ࡞͔Βϧʔϓ࣮ߦ·Ͱ اըॻ QMBONE ΛλεΫϦετʹม͠ɺUBTLNEͱͯ͠ॻ͍ͯΒ͏ اըॻΛషΓ͚ɺʮاըॻΛ࣮͢ΔͨΊͷλεΫΛUBTLNEʹຊޠͷν ΣοΫϦετܗࣜͰॻ͍͍ͯͩ͘͞ʯͱࢦࣔ͢Δͱॻ͍ͯ͘Ε·͢ UBTLNEΛख͢͠Δ
εέδϡʔϧকདྷతͳ࣮ܭըͳͲ͕ॻ͔Εͨ߹আ͠·͢ ৽ن'MVUUFSϓϩδΣΫτΛ࡞ fl VUUFSDSFBUFͷࡍʹFNQUZΦϓγϣϯΛ͚ΔͱແବͳϑΝΠϧ͕ग़ͳ ͓ͯ͘͢͢ΊͰ͢ʢҙ֎ͱΒΕ͍ͯͳ͍Φϓγϣϯʣ
λεΫϦετͷ࡞͔Βϧʔϓ࣮ߦ·Ͱ 8JEHFU#PPLϓϩδΣΫτ࡞ʢҙʣ $-"6%&NEʹ ʮ6*ίϯϙʔωϯτΛ࡞ɾߋ৽ͨ͠ࡍ!XJEHFU@CPPLʹө͍ͯͩ͘͠͞ʯ ͱࢦࣔ͢Δͱॻ͍ͯ͘Ε·͢ʢ͘͠UBTLNEʹλεΫͱͯ͠Ճʣ $MBVEF$PEF8JEHFU#PPLͷηοτΞοϓ͕ۤखͳͷͰςϯϓϨʔτϓϩδΣ ΫτΛ༻ҙ͓ͯ͘͠ͱָͰ͢
UBTLNEɺQMBONEɺSVOOFSZBNM DDSVOOFSΛ͏߹ Λ'MVUUFSϓϩδΣΫτʹஔͯ͠ϧʔϓ࣮ߦ ϧʔϓͰDMBVEFίϚϯυΛݺΕDDSVOOFSʹݶΒͣγΣϧεΫϦϓτͰྑ ͍ͷͰ͕͢ɺϨʔτϦϛοτ͕དྷͨ࣌ʹظؒʹԿ࣮ߦͯ͠͠·Θͳ͍Α͏ʹ ͝ҙ
$MBVEF$PEFͷ͍ํ npm install -g @anthropic-ai/claude-code Πϯετʔϧ claude ରϞʔυΛىಈʢ$VSTPS$MJOFͷΑ͏ʹࢦࣔΛग़ͤΔϞʔυʣ claude -p
"͜ͷϓϩδΣΫτΛղઆͯ͠" -—allowedTools "Read" ϓϩϯϓτΛ࣮ߦ͠ɺऴΘͬͨΒऴྃ ϑΝΠϧͷಡΈࠐΈͷΈڐՄ claude -p "ϦϑΝΫλϦϯά͖߲͢Λڭ͑ͯ" -c લճͷ࣮ߦ݁ՌΛҾ͖ܧ͍ͩঢ়ଶͰϓϩϯϓτΛ࣮ߦ claude -p "@task.md Λ࣮ͯ͠" --dangerously-skip-permissions શͯͷૢ࡞ΛڐՄͨ͠ঢ়ଶͰϓϩϯϓτΛ࣮ߦ :0-0Ϟʔυ
DDSVOOFS npm install -g @hyshu/ccrunner yolo: true steps: - type:
loop steps: - type: prompt name: ImplementTask prompt: "@task.md Λ࣮͍ͯͩ͘͠͞" Πϯετʔϧ ˡ:0-0Ϟʔυ ࣗಈঝೝ Λ0/ʹ͢Δͱɺ΄ͱΜͲͷίϚϯυΛ$MBVEF$PEF͕͑ΔΑ͏ʹͳΔ SVOOFSZBNMͷྫ ͻͨ͢Β$MBVEF$PEF͕UBTLNEͷ࣮ΛਐΊΔ SVOOFSZBNMΛ࣮ߦ ccrunner
yolo: true steps: - type: loop name: Process until finish
marker condition: "[ ! -e finish ]" steps: - type: prompt name: ImplementTask prompt: '@task.md Λ࣮͍ͯͩ͘͠͞ɻҰʹશͯͷλεΫΛߦ͏ඞཁ͋Γ·ͤΜɻख़ߟ͠దͳ࣮Λ৺͕͚͍ͯͩ͘͞ɻ' - type: prompt name: Testing prompt: 'flutter analyze ͱ flutter test Λ࣮ߦ͠ɺΤϥʔ͕͋Εमਖ਼͍ͯͩ͘͠͞ɻ' continuedFrom: before - type: prompt name: UpdateTask prompt: 'ݱࡏͷ࣮Λௐɺ task.md ʹ͋Δ࣮ࢪࡁΈͷλεΫʹνΣοΫΛೖΕ͍ͯͩ͘͞ɻશͯྃࡁΈͷηΫγϣϯআ͠ɺ్தܦաྃใࠂॻ͔ͳ͍ɻ' saveResultAs: result continuedFrom: ImplementTask - type: prompt name: GitCommitPush prompt: 'git add -A ͱ git commit Λ͍ͯͩ͘͠͞' continuedFrom: before - type: prompt name: Refactroing prompt: 'ϦϑΝΫλϦϯάΛߦ͍ͬͯͩ͘͞ɻྨࣅͷ࣮Ұͭʹ·ͱΊɺΘΕ͍ͯͳ͍Ϋϥεϝιουআ͍ͯͩ͘͠͞ɻ' - type: prompt name: Testing prompt: 'flutter analyze ͱ flutter test Λ࣮ߦ͠ɺΤϥʔ͕͋Εमਖ਼͍ͯͩ͘͠͞ɻ' continuedFrom: before - type: prompt name: GitCommitPush prompt: 'git add -A ͱ git commit Λ͍ͯͩ͘͠͞' continuedFrom: before - type: command command: rm finish && rm task.md && git add -A && git commit -m "finish" ˡ fi OJTIͱ͍͏ϑΝΠϧ·ͨσΟϨΫτϦʔ͕࡞ΒΕΔͱऴྃ͢Δ UBTLNEͷඌʹʮશͯͷ<>͕<Y>ʹͳͬͨΒAUPVDI fi OJTIAΛ࣮ߦ͢ΔʯͱՃ͍͑ͯͩ͘͞ ˢҰʹλεΫΛ࣮ͤ͗͢͞Δͱ࣭͕Լ͕ΔͷͰগͣͭ͠ߦΘͤΔ ˢ$MBVEF$PEF࡞ۀਐḿΛUBTLNEʹॻ͍ͯ͘ΔͷͰγϯϓϧͳঢ়ଶΛҡ࣋ͤ͞Δ ˡ࣮ͱϦϑΝΫλϦϯάΛަޓʹͤͯ͞ίʔυͷ૿͑ա͗Λ͙ SVOOFSZBNMʹΑΔλεΫͷϧʔϓ࣮ͷྫ
$MBVEF$PEF͓खܰݸਓ։ൃελΠϧ w ༵ʹاըॻλεΫϦετ࡞ɻλεΫ࣮ΛϧʔϓͰճ͢ w ৸Δ w ࣍ͷձ͔ࣾΒؼ͖ͬͯͯ6*͕ྑ͍ײͩͬͨ͡Β λεΫϦετʹػೳՃෆ۩߹मਖ਼λεΫͳͲΛՃ w ৸Δ
w ࣍ͷձ͔ࣾΒؼ͖ͬͯͨΒमਖ਼͍ྃͯ͠ΔͷͰλεΫϦετʹ ུ w ݄ʙۚͰ΄΅͢ΔͷͰɺΓͷ࡞ۀΛʹͯ͠
͓ΘΓʹʜޭ͍͢͠ݸਓ։ൃͱ ͕ࣗཉ͍͠ͷͰʢετΞʹͳ͍͔Βʣ࡞ͬͨΞϓϦ ˠࣗવͱϢʔβʔઢʹͳΔ ɹͩ͜ΘΓ69 Ϣʔβʔମݧ ͕ॆ࣮͍͢͠ ɹ͏ػձ͕ݶఆత͗͢ͳ͚ΕଟগχονͰ0, ૂͬͯώοτͤ͞ΔΞϓϦқ͕ߴ͍ʜ ˠಡΈ͕ͨΔ͕֬ͦͦ͘ɺ
ɹਓؾ͕ग़͕ͯࣗ͏༁Ͱͳ͍ͷͰɺ"#ςετϢʔβʔͷߦಈϩά ɹ͔Βਪଌ͍ͯ͘͠ඞཁ͕͋ΓɺΞϓϦ։ൃͱผͷٕज़͕ඞཁ ࣗͷͩ͜ΘΓΛΞϓϦʹࠐΊͯྑ͍ݸਓ։ൃϥΠϑΛ🙆
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ X: @aqhayami