  We expose a strong connection between good $2$-query locally testable codes
(LTCs) and high dimensional expanders. Here, an LTC is called good if it has
constant rate and linear distance. Our emphasis in this work is on LTCs
testable with only $2$ queries, which are of particular interest to theoretical
computer science. This is done by introducing a new object called a sheaf that
is put on top of a high dimensional expander. Sheaves are vastly studied in
topology. Here, we introduce sheaves on simplicial complexes. Moreover, we
define a notion of an expanding sheaf that has not been studied before.
  We present a framework to get good infinite families of $2$-query LTCs from
expanding sheaves on high dimensional expanders, utilizing towers of coverings
of these high dimensional expanders. Starting with a high dimensional expander
and an expanding sheaf, our framework produces an infinite family of codes
admitting a $2$-query tester. We show that if the initial sheaved high
dimensional expander satisfies some conditions, which can be checked in
constant time, then these codes form a family of good $2$-query LTCs.
  We give candidates for sheaved high dimensional expanders which can be fed
into our framework, in the form of an iterative process which conjecturally
produces such candidates given a high dimensional expander and a special
auxiliary sheaf. (We could not verify the prerequisites of our framework for
these candidates directly because of computational limitations.) We analyse
this process experimentally and heuristically, and identify some properties of
the fundamental group of the high dimensional expander at hand which are
sufficient (but not necessary) to get the desired sheaf, and consequently an
infinite family of good $2$-query LTCs.
