Some common workflows for developing with buffet:

# Tell portage that you'd like to make local changes to Buffet:
cros_workon start --board=${BOARD} buffet

# Edit files in platform2/buffet/
vim ...

# Compile and install those changes into the chroot:
USE=buffet emerge-${BOARD} buffet

# Compile and run buffet unittests
USE=buffet FEATURES=test emerge-${BOARD} buffet

# Deploy the most recently built version of buffet to a DUT:
cros deploy --board=${BOARD} <remote host> buffet

#To enable additional debug logging in buffet daemon, run it as:
# buffet --v=<level>, where <level> is verbosity level of debug info:
#  1 - enable additional tracing of internal object construction and destruction
#  2 - add tracing of request and response data sent over HTTP (beware of
#      privacy concerns).
#  3 - enable low-level CURL tracing for HTTP communication.
buffet --v=2
