Dai.js supports plugins, which allow a developer to add functionality (hardware wallet support, exchange support, etc.) for specific needs without increasing the size and dependency list of the core library.
Trezor Plugin for using Trezor with dai.js in a browser environment.
Ledger Plugin for using Ledger in a browser environment.
Governance Plugin for working with the governance contracts.
eth2dai Instant Plugin for atomic trading on maker OTC (Oasis).
Maker OTC Plugin for interacting with the maker OTC contract (Oasis).
MCD Plugin for interacting with the multi-collateral dai contracts.
SCD Plugin for interacting with the single-collateral dai contracts.
Check out the Dai Plugin Template.