Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
TypeProf 開発レポート 2026-05 / TypeProf Dev Report 2...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takumi Shotoku
May 15, 2026
Technology
150
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TypeProf 開発レポート 2026-05 / TypeProf Dev Report 2026-05
Omotesando.rb #121
https://omotesandorb.connpass.com/event/392749/
Takumi Shotoku
May 15, 2026
More Decks by Takumi Shotoku
See All by Takumi Shotoku
Automatically generating types by running tests
sinsoku
4
19k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
8
2.9k
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
320
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
360
"型"のあるRailsアプリケーション開発 / Typed Rails application development
sinsoku
11
3.1k
Let's get started with Ruby && Rails Tips
sinsoku
0
520
LTの敷居を下げる / Lower the threshold for LT
sinsoku
2
450
CircleCIの高速化🚀 / CircleCI faster
sinsoku
3
1.6k
Railsアプリと型検査 / Rails app and type checking
sinsoku
5
1.7k
Other Decks in Technology
See All in Technology
並行性の問題を防げ!実践トランザクション入門
occhi
0
130
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
1
1.1k
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
610
Mastering Agentic Development: Harness Engineering for Effective Coding Agents
konippi
3
670
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
130
GitHub Agentic Workflows を触ってみる
htkym
2
910
10年欲しかった音楽管理アプリを、AIと一緒に作りはじめた
judau
1
200
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
160
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
260
AI感のないAWS構成図をAIエージェントに描かせたい!
sagochiko
2
490
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
310
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
220
Featured
See All Featured
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
410
Mind Mapping
helmedeiros
1
390
A better future with KSS
kneath
240
18k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
350
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Marketing to machines
jonoalderson
1
5.8k
Practical Orchestrator
shlominoach
192
12k
Automating Front-end Workflow
addyosmani
1369
210k
Agile that works and the tools we love
rasmusluckow
331
22k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
340
Transcript
TypeProf ։ൃϨϙʔτ 2026-05 Omotesando.rb #121 2026/05/14
ࣗݾհ • ໊લ: ਖ਼ಙ (aka: ਆ) • ॴଐ: גࣜձࣾmov •
GitHub: @sinsoku (ը૾ӈ্) • X: @sinsoku_listy (ը૾ӈԼ) • Omotesando.rb, Asakusa-bashi.rbs 2
We are hiring! 3
ΞδΣϯμ 1. Rubyͷܕք۾ͷ 2. TypeProf ͷհ 3. ։ൃͷਐḿใࠂ 4
! Ruby ʹܕ͕͋Δͱศརͳͷ͔ʁ 5
⭐ ܕͷϝϦοτ • υΩϡϝϯτ • ίʔυδϟϯϓ • ೖྗิ • ܕݕࠪ
ܕͷ͋ΔݴޠʹൺͯRubyͷαϙʔτऑ͍ɻ 6
ʮClaude Code Λ͏ͷͰ ίʔυΛॻ͘ػձ͕গͳ͍ʯ 7
⭐ ܕͷϝϦοτ • υΩϡϝϯτ • ίʔυδϟϯϓ • ೖྗิ • ܕݕࠪ
ܕͷ͋ΔݴޠʹൺͯRubyͷαϙʔτऑ͍ɻ 8
ͦ͏Ͱ͢Ͷ 9
! ܕͷՄೳੑ • AI͕ܕΛ׆༻ͯ͠ਫ਼্͕͕Δ • ܕʹΑΔ࠷దԽͷՄೳੑ • ZJIT, Ruby VM
• Spinel 10
Rubyͷܕք۾ͷπʔϧ 11
ruby RBS TypeProf gem_rbs_collection soutaro Steep rbs-inline shopify Sorbet Tapioca
RubyDex rbs_rails pocke Orthoses ksss rbs-trace sinsoku method-ray dak2 type-guessr riseshia 12
! ͔Βͳ͍ 13
ruby RBS TypeProf gem_rbs_collection soutaro Steep rbs-inline shopify Sorbet Tapioca
RubyDex rbs_rails pocke Orthoses ksss rbs-trace sinsoku method-ray dak2 type-guessr riseshia ⭐ ⭐ 14
RBS RubyͰܕΛѻ͏ͨΊͷϓϩτίϧͰɺ֦ுࢠ *.rbsɻ module ChatApp VERSION: String class User attr_reader
login: String attr_reader email: String def initialize: (login: String, email: String) -# void end end 15
Rubyͷίʔυʹॻ͚ΔʢRBS v4.0ʣ class Calculator # @rbs (Integer, Integer) -" Integer
def add(a, b) = a + b end 16
gem_rbs_collection • gemͷRBSϑΝΠϧΛཧ͢ΔϦϙδτϦ • ίϛϡχςΟʹΑͬͯϝϯς͞Ε͍ͯΔ • gem࡞ऀͱ͕ؔͳ͍ • TypeScriptͷDefinitelyTyped1Έ͍ͨͳͷ 1
https://github.com/DefinitelyTyped/DefinitelyTyped 17
ܕੜ ! / ܕݕࠪ ruby RBS TypeProf gem_rbs_collection soutaro Steep
rbs-inline shopify Sorbet Tapioca RubyDex rbs_rails pocke Orthoses ksss rbs-trace sinsoku method-ray dak2 type-guessr riseshia ⭐ ⭐ ✅ ✅ ✅ ✅ # # # # # 18
TypeProfͱ Rubyͷίʔυ͔ΒܕΛਪ͠ ͯ͘ΕΔπʔϧɻ ࡞ऀRubyίϛολʔͷ Yusuke Endoh(@mame) ͞Μ 19
ϝιουఆٛͷදࣔ 20
ͷݕग़ 21
TypeProf ͷྑ͍ͱ͜Ζ RBSΛॻ͘ඞཁ͕ͳ͍ʂʂ 22
ruby RBS TypeProf gem_rbs_collection soutaro Steep rbs-inline shopify Sorbet Tapioca
RubyDex rbs_rails pocke Orthoses ksss rbs-trace sinsoku method-ray dak2 type-guessr riseshia ⭐ ⭐ ✅ ✅ ✅ ✅ # # # # # 23
ಋೖखॱʢެࣜʣ 1. Gemfile ʹ typeprof ΛՃ͢Δ 2. bundle install Λ࣮ߦ͢Δ
3. bundle exec typeprof -"init 4. VSCode ʹ Ruby TypeProf ΛՃ 24
ಋೖखॱʢඇެࣜʣ 1. Gemfile ʹ ruby-lsp-typeprof ΛՃ͢Δ 2. bundle install Λ࣮ߦ͢Δ
3. bundle exec typeprof -#init ! ಋೖָ͚ͩͲɺެࣜͷVSCode֦ுͷํ͕ଟػೳɻ2 2 ruby-lsp-typeprof ϝιουఆٛͷද͔ࣔ͠Ͱ͖ͳ͍ɻ 25
TypeProf ͷίϯτϦϏϡʔτ RubyKaigi 2025Ҏ߱ʹগͣͭ͠ίϯτϦϏϡʔτ͍ͯ͠Δɻ 26
ओͳ׆ಈ༰ 1. TypeProf Λࢼ͢ͱΤϥʔ͕ग़Δ • bin/typeprof tmp/redmine/app 2. ࠶ݱίʔυΛ࡞Δ 3.
ཧղͰ͖Δൣғͷ࠷খͷύονΛ࡞Δ Claude Code Λͬͯௐࠪɺ࣮Λ͍ͯ͠Δɻ 27
28
29
doc/report_guide.md 30
Omotesando.rb #115 (2025-11-13) • ! v0.31.0 ͷհ • ✅ Redmine
ͷίʔυͰղੳ͕ޭ • # GitLab ͷίʔυͰղੳ͕ࣦഊ • To be continued... 31
2026-05 ͷTypeProf • ଟ͘ͷRailsΞϓϦͰΤϥʔͳ͘ಈ͘ • ύϑΥʔϚϯε͕গ͠ྑ͘ͳͬͨ • ͔͠͠ɺ·͍ͩ ! •
ܕਪͷਫ਼࣮༻తͰͳ͍ • ಛʹRailsΞϓϦͰ untyped ͕ଟ͍ 32
! ฐࣾͷRailsΞϓϦʹࢼݧతʹಋೖ $ time bundle exec typeprof app sig real
5m14.929s user 5m10.690s sys 0m1.814s ղੳରͷϑΝΠϧ 7970 Ͱ͢ɻ 33
! ίʔυͷن $ bin/rails stats +----------------------+--------+--------+---------+---------+-----+-------+ | Name | Lines
| LOC | Classes | Methods | M/C | LOC/M | +----------------------+--------+--------+---------+---------+-----+-------+ | Controllers | 27756 | 22218 | 632 | 2846 | 4 | 5 | | Helpers | 192 | 147 | 1 | 19 | 19 | 5 | | Jobs | 4036 | 3081 | 148 | 248 | 1 | 10 | | Models | 98268 | 67457 | 1701 | 6779 | 3 | 7 | | Mailers | 1200 | 957 | 27 | 100 | 3 | 7 | | Channels | 42 | 33 | 4 | 7 | 1 | 2 | | Views | 583 | 465 | 0 | 0 | 0 | 0 | | JavaScript | 105435 | 96211 | 0 | 40 | 0 | 2403 | | Libraries | 30302 | 24057 | 307 | 1344 | 4 | 15 | +----------------------+--------+--------+---------+---------+-----+-------+ | Total | 267814 | 214626 | 2820 | 11383 | 4 | 16 | +----------------------+--------+--------+---------+---------+-----+-------+ Code LOC: 214626 Test LOC: 0 Code to Test Ratio: 1:0.0 app/ 131,494 lines Ͱɺsig/ rbs_rails ͷࣗಈੜͰ͢ɻ 34
! ܕਪͷਫ਼ # Total methods: 15507 # Fully typed: 5956
# Partially typed: 2504 # Fully untyped: 7047 # # # Overall: 12081/28794 typed (42.0%) # 16713/28794 untyped (58.0%) bundle exec typeprof -"show-stats ͔ΒൈਮͰ͢ɻ 35
·ͱΊ • ܕؔ࿈πʔϧྨΛΔͱཧղ͍͢͠ • RBS ͕ϓϩτίϧ • ܕݕࠪ4ͭ • TypeProf
RailsΞϓϦͰࢼͤΔΑ͏ʹͳ͖ͬͯͨ • ύϑΥʔϚϯεɺܕਪͷਫ਼ࠓޙʹظ 36
! ͓·͚ 37
RubyKaigi 2026 ޙʹwriteݖݶΛ͍͍ͨͩͨ 38
39
! ϦϦʔε͠Α͏ https://github.com/ruby/typeprof/pull/456 40