Maintain repo standards using contract definition
- major: use contract as source of truth for boilerplate
- major: permit divergence, not exceptions
- divergence should have a cost
- the cost is an incentive to converge by upstreaming or removing exceptions
- that cost can be anything; like a warning in the UI
- major: support migrations
- able to update boilerplate when a change is made
- if not automatically, then with instructions for manual update
- minor: structured data injection well-formed/indented
package.json
license
field should be computed based on contract privacy, this has not yet been defined in source contracts, where in the stack shouldlicense
be computed? Perhaps it should be a computed field of a contract?
- v0.1.0: only prompt to overwrite if existing file is different from output
Hygen
- Note: Hygen can be considered macros for files, optimizes for easy creation of generators when a repetitive structure is found
- Pro: No code generation using declarative frontmatter in ejs
- Con: injection does not detect divergence
- Con: asks if should overwrite when contents same as output, not idempotent