Currently, the type signatures (RBS) for the default gem is not available. Prism is the only default gem with type signatures, but this number is expected to increase in the future.
As a first step to resolving this issue, I propose including the sig directory of Prism as a default gem in the synchronization process.
I'm interesting that location of signature with fresh installation of ruby.
The sig directory under the prism is fine if we have only prism signature. Where is the best location if we will add json or psych signatures?
1. $prefix/lib/ruby/3.5.0+0/$name/sig <- current proposal
2. $prefix/lib/ruby/3.5.0+0/sig/$name
3. $prefix/lib/ruby/sig/$name
4. $prefix/lib/ruby/gems/3.5.0+0/sig/$name
5. $GEM_HOME/sig/$name # This is same as 4 with $GEM_HOME is not specified.
6. $prefix/include/sig/$name
7. $prefix/share/sig/$name
...
I think the code in the PR is good, but I agree I don't think the sig should live under prism/sig. I think it should be top directory of ruby repository sig. When it's installed I agree with @Eregon (Benoit Daloze) but I also think @hsbt's solution 2 is fine, provided RBS knows to use the overridden version if one is provided.