diff --git a/shakers.cabal b/shakers.cabal
--- a/shakers.cabal
+++ b/shakers.cabal
@@ -1,5 +1,5 @@
 name:                  shakers
-version:               0.0.5
+version:               0.0.6
 synopsis:              Shake helpers.
 description:           Primitive helpers for Shake files.
 homepage:              https://github.com/swift-nav/shakers
diff --git a/src/Development/Shakers.hs b/src/Development/Shakers.hs
--- a/src/Development/Shakers.hs
+++ b/src/Development/Shakers.hs
@@ -24,6 +24,7 @@
   , preprocess
   , preprocess'
   , mirror
+  , getHashedVersion
   , stackRules
   , cabalRules
   , shakeMain
@@ -198,6 +199,13 @@
   fake' pats "mirror" $ mapM_ $ \file -> do
     dir <- mirrorDir
     copyFileChanged' file $ dir </> file
+
+-- | Build a hash version from a directory and file pattern.
+--
+getHashedVersion :: FilePath -> [FilePattern] -> Action String
+getHashedVersion dir pats = do
+  files <- getDirectoryFiles dir pats
+  liftIO $ getHashedShakeVersion files
 
 -- | Haskell source rules
 --
