REPROTO-INSTANTIATE-SCHEMA(1)

πŸ“¦ version 0.3.6, in nixpkgs unstable

okay so bestie πŸ’– welcome to the reproto-instantiate-schema(1) manual β€” yes, that's the manual name up top, and the header is giving User Commands realness. This tool is a little generator with main character energy: it reads a compiled .desc FileDescriptorSet and pops out pseudo-random binary protobuf instances. Slay. Let's go. ✨

πŸ’– NAME πŸ’–

reproto-instantiate-schema β€” generate pseudo-random binary protobuf instances from a FileDescriptorSet. That's the whole job, no cap. πŸ’…

✨ SYNOPSIS ✨

reproto-instantiate-schema [OPTIONS] FQDNS...

literally the shape of it: options plus one or more FQDNS, periodt.

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the vibe: reproto-instantiate-schema reads a compiled .desc FileDescriptorSet and generates one pseudo-random binary protobuf instance per fully-qualified message type name supplied. One per FQDN, bestie. πŸ”₯

Each instance is written to <output-root>/<fqdn-with-dots-as-slashes>.pb. So the FQDN's dots become slashes, and the file gets .pb on the end β€” path goals. πŸŽ€

Types that produce empty instances (e.g. messages with no fields) are silently skipped. Ghosted. No announcement, no file. πŸ‘»

πŸŽ€ ARGUMENTS πŸŽ€

  • FQDNS β€” one or more fully-qualified message type names to instantiate (e.g. google.type.PostalAddress). You gotta use the whole government name, not a nickname. πŸ’…

πŸ’… OPTIONS πŸ’…

  • --descriptor-set FILE β€” path to the .desc FileDescriptorSet to load. [env: PROTOTEXT_DESCRIPTOR_SET] β€” that's the env hookup, iykyk.
  • -O, --output-root DIRECTORY β€” root directory for output files (default: current directory). Put your output root where you want it.
  • --seed INTEGER β€” PRNG seed (default: 0). The seed is the seed, bestie.
  • --max-depth INTEGER β€” maximum recursion depth for nested messages (default: 4). Nested-message depth limit, default 4.
  • --max-repeated INTEGER β€” maximum number of elements for repeated fields (default: 3). Default 3 elements max for repeated fields.
  • --quiet, -q β€” suppress per-file progress messages. Peace out, progress spam. 🀫
  • --version β€” print version and exit. Bye.
  • --help β€” show a help message and exit. The classic.

🌈 ENVIRONMENT 🌈

  • PROTOTEXT_DESCRIPTOR_SET β€” path to a .desc FileDescriptorSet used as the default when --descriptor-set is not provided. So if you don't pass the flag, it looks here. πŸ’–
  • PROTOTEXT_DEFAULT_DESCRIPTOR β€” accepted as a deprecated fallback. It's deprecated, bestie β€” still accepted as a fallback, but don't make it your whole personality. πŸ™ˆ

πŸ“ EXAMPLES πŸ“

Generate two instances using the googleapis DB:

reproto-instantiate-schema --descriptor-set googleapis.desc --seed 42 \
  -O out/ google.type.PostalAddress google.protobuf.Timestamp

Two instances, googleapis.desc, seed 42, output root out/, and the two FQDNs. Cute. ✨

πŸ”₯ SEE ALSO πŸ”₯

go read those too, bestie. 🫢


xoxo, reproto 0.3.6 β€” dated 2026 πŸ’…βœ¨

πŸ“¦ where this page comes from