diff --git a/Shakefile.hs b/Shakefile.hs
--- a/Shakefile.hs
+++ b/Shakefile.hs
@@ -37,7 +37,7 @@
   -- | sanity
   --
   fake "." pats "sanity" $ const $
-    need [ "build-error", "lint" ]
+    need [ "build-error", "lint", "weed" ]
 
   -- | Default things to run.
   --
diff --git a/shakers.cabal b/shakers.cabal
--- a/shakers.cabal
+++ b/shakers.cabal
@@ -1,5 +1,5 @@
 name: shakers
-version: 0.0.35
+version: 0.0.36
 cabal-version: >=1.22
 build-type: Simple
 license: MIT
diff --git a/src/Development/Shakers.hs b/src/Development/Shakers.hs
--- a/src/Development/Shakers.hs
+++ b/src/Development/Shakers.hs
@@ -199,6 +199,11 @@
 lint_ :: [String] -> Action ()
 lint_ = cmdArgs_ "hlint"
 
+-- | Weeder command.
+--
+weeder_ :: [String] -> Action ()
+weeder_ = cmdArgs_ "weeder"
+
 -- | Git command in a directory.
 --
 git :: FilePath -> [String] -> Action String
@@ -391,6 +396,11 @@
   fake dir pats "lint" $ \files ->
     lint_ files
 
+  -- | weed
+  --
+  fake dir pats "weed" $ const $
+    weeder_ [ dir, "--build" ]
+
 -- | Stack rules.
 --
 stackRules :: FilePath -> [FilePattern] -> Rules ()
@@ -520,7 +530,7 @@
   --
   phony "publish" $ do
     need [ file ]
-    stack_ dir [ "upload", dir, "--no-signature", "--ignore-check" ]
+    stack_ dir [ "upload", dir, "--no-signature" ]
 
   phony "publish-lower" $ do
     need [file, metaFile "cabalVersion" ]
@@ -539,7 +549,7 @@
       let contents' = subRegex (mkRegex $ pkg <> " >=" <> version) contents pkg
       contents' `deepseq` writeFile' f contents'
       copyFile' yaml $ e </> yaml
-      stack_ e [ "upload", e, "--no-signature", "--ignore-check" ]
+      stack_ e [ "upload", e, "--no-signature" ]
 
 -- | Database rules
 --
