[ ] if the project has (dev, runtime, or external) dependencies they are explicitly listed, well justified (e.g. in the README) and the size is cont. monitored.
[ ] the resulting artifact sizes are measured
[ ] the user is not forced to adopt a certain architecture / framework in order to use the component
E.g React forces the reactive paradigm on the user of components
[ ] downstream developers can easily grab just the parts they need (copy/paste, modular independent components)
avoid common/core components which are required by all other components
[ ] the scope of the component is clearly defined (goals + non-goals) in the README
[ ] coverage analysis for the typical use-cases of the component should result in > 90% usage
For applications
[ ] the resulting artifact sizes are measured
[ ] the resulting arrtifacts have been optimized (e.g. stripped of debug-symbols, etc.)
[ ] should be able to run in a standalone-mode without requireing the user to install additional runtimes/frameworks.
For components
For applications