let protocol builder decide what npms to install