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
310
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
Claude Agent SDK を使ってみよう
hyshu
0
320
BLoCパターンとflutter_bloc
hyshu
0
100
Melos x Pub Workspaces で 沢山のアプリとパッケージを管理するのに 苦労した話
hyshu
1
48
Jasprが凄い話
hyshu
0
340
CanvasKitの描画の仕組みを調べてみる
hyshu
0
160
Other Decks in Programming
See All in Programming
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
1
340
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
240
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.2k
dynamic!
moro
10
8k
Swift Concurrency - 状態監視の罠
objectiveaudio
2
520
CSC305 Lecture 06
javiergs
PRO
0
230
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.4k
All About Angular's New Signal Forms
manfredsteyer
PRO
0
160
CSC509 Lecture 05
javiergs
PRO
0
300
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
390
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
1k
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
220
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
A designer walks into a library…
pauljervisheath
209
24k
Documentation Writing (for coders)
carmenintech
75
5.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Context Engineering - Making Every Token Count
addyosmani
6
250
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Building Adaptive Systems
keathley
44
2.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Faster Mobile Websites
deanohume
310
31k
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