File and directory structure

Rules for AIP-191, covering file and directory structure.

Rule name Description
csharp-namespace The `option csharp_namespace` annotation should be idiomatic if set.
file-layout Proto files should follow a consistent layout.
file-option-consistency All proto files must set file packaging options consistently.
filenames Proto files must use reasonable filenames.
java-multiple-files All proto files must set `option java_multiple_files = true`.
java-outer-classname All proto files must set `option java_outer_classname`.
java-package All proto files must set `option java_package`.
php-namespace The `option php_namespace` annotation should be idiomatic if set.
proto-package Proto package must match the directory structure.
proto-version All proto files must use proto3.
ruby-package The `option ruby_package` annotation should be idiomatic if set.

Note: Because AIPs sometimes cover topics that have some overlap, some rules related to file and directory structure may be included in the rules for other AIPs.