The GitHub repo will explain how to get your environment set up. At launch, there are three base contracts. The main contract developers / integrating protocols will be interested in is the LBStrategy.sol contract.
In the Strategy, there is a role called "keeper". The Keeper role allows some privileged functions to be called; mainly setting bin parameters and calling a rebalance.
Exposing this endpoint allows for some complex strategies to be executed on top of SteakHut Liquidity.
SteakHut Liquidity has at present three main contracts:
The LBVault is the contract that manages the entry and exit point of funds into the strategy. It mints a receipt token in proportion to the total amount of liquidity already managed by the vault for the given strategy.
The LBVaultNative contains wrappers around the deposit and withdrawal of Native AVAX into the system. It is essentially the same as the LBVault contract however with a few modifications.
Strategies do not need to handle Native AVAX as the Vault handles the conversion of AVAX -> WAVAX and deposits into the strategy.
The LBStrategy contains the logic required to add and remove liquidity from the TraderJoe DexV2 pools. It handles the harvesting of fees and the re-balancing of tokens as required. A "keeper" may be assigned which will allow independent access to some strategy features (mainly the re-balancing).