Actually, it is the use of JSON (and plans to expand the use of Lua) that has necessitated much of the boilerplate code I was thinking of, which maps between strings and C++ methods (because C++ has no capacity for introspection, at least by default).
Similarly, there is a great deal of repetitive JSON, and in my opinion writing code to produce it rather than writing the JSON itself would be a better idea. For example, right now, it’s easy to change something about the jackhammer and forget to make a corresponding change to the jacqueshammer.