diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,12 @@
 
 ### Upcoming
 
+### v1.5.1.1
+
+*Revisions*
+
+* Added missing modules to cabal file.
+
 ### v1.5.1.0
 
 *Minor*
diff --git a/app/Game/Werewolf/Variant/NoRoleKnowledgeOrReveal/Command.hs b/app/Game/Werewolf/Variant/NoRoleKnowledgeOrReveal/Command.hs
new file mode 100644
--- /dev/null
+++ b/app/Game/Werewolf/Variant/NoRoleKnowledgeOrReveal/Command.hs
@@ -0,0 +1,56 @@
+{-|
+Module      : Game.Werewolf.Variant.NoRoleKnowledgeOrReveal.Command
+Description : Suite of command messages used throughout the game.
+
+Copyright   : (c) Henry J. Wylde, 2016
+License     : BSD3
+Maintainer  : public@hjwylde.com
+
+A 'Message' is used to relay information back to either all players or a single player. This module
+defines suite of command messages used throughout the werewolf game for the
+'NoRoleKnowledgeOrReveal' variant.
+-}
+
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE QuasiQuotes       #-}
+
+module Game.Werewolf.Variant.NoRoleKnowledgeOrReveal.Command (
+    -- * Choose
+    playerShotText,
+
+    -- * Ping
+    nocturnalRolePingedText, werewolvesPingedText,
+
+    -- * Quit
+    callerQuitText,
+
+    -- * Status
+    currentNocturnalTurnText, deadPlayersText,
+) where
+
+import Control.Lens
+
+import Data.String.Humanise
+import Data.String.Interpolate.Extra
+import Data.Text                     (Text)
+
+import Game.Werewolf
+import Game.Werewolf.Message
+
+playerShotText :: Player -> Text
+playerShotText player = [iFile|variant/no-role-knowledge-or-reveal/command/choose/player-shot.txt|]
+
+nocturnalRolePingedText :: Role -> Text
+nocturnalRolePingedText _ = [iFile|variant/no-role-knowledge-or-reveal/command/ping/nocturnal-role-pinged.txt|]
+
+werewolvesPingedText :: Text
+werewolvesPingedText = [iFile|variant/no-role-knowledge-or-reveal/command/ping/werewolves-pinged.txt|]
+
+callerQuitText :: Player -> Text
+callerQuitText caller = [iFile|variant/no-role-knowledge-or-reveal/command/quit/caller-quit.txt|]
+
+currentNocturnalTurnText :: Game -> Text
+currentNocturnalTurnText _ = [iFile|variant/no-role-knowledge-or-reveal/command/status/current-nocturnal-turn.txt|]
+
+deadPlayersText :: Game -> Text
+deadPlayersText game = [iFile|variant/no-role-knowledge-or-reveal/command/status/dead-players.txt|]
diff --git a/app/Game/Werewolf/Variant/NoRoleKnowledgeOrReveal/Engine.hs b/app/Game/Werewolf/Variant/NoRoleKnowledgeOrReveal/Engine.hs
new file mode 100644
--- /dev/null
+++ b/app/Game/Werewolf/Variant/NoRoleKnowledgeOrReveal/Engine.hs
@@ -0,0 +1,66 @@
+{-|
+Module      : Game.Werewolf.Variant.NoRoleKnowledgeOrReveal.Engine
+Description : Suite of engine messages used throughout the game.
+
+Copyright   : (c) Henry J. Wylde, 2016
+License     : BSD3
+Maintainer  : public@hjwylde.com
+
+A 'Message' is used to relay information back to either all players or a single player. This module
+defines suite of engine messages used throughout the werewolf game for the
+'NoRoleKnowledgeOrReveal' variant.
+-}
+
+{-# LANGUAGE QuasiQuotes #-}
+
+module Game.Werewolf.Variant.NoRoleKnowledgeOrReveal.Engine (
+    -- * General
+    playerBootedText, spitefulVillagerKilledText,
+
+    -- * Lynching
+    playerLynchedText, saintLynchedText, werewolfLynchedText,
+
+    -- * New game
+    rolesInGameText,
+
+    -- * Sunrise
+    playerDevouredText, playerPoisonedText, playerTurnedToStoneText,
+) where
+
+import Control.Lens
+
+import Data.String.Humanise
+import Data.String.Interpolate.Extra
+import Data.Text                     as T
+
+import Game.Werewolf
+import Game.Werewolf.Message
+
+playerBootedText :: Player -> Text
+playerBootedText player = [iFile|variant/no-role-knowledge-or-reveal/engine/general/player-booted.txt|]
+
+spitefulVillagerKilledText :: Game -> Text
+spitefulVillagerKilledText game = [iFile|variant/no-role-knowledge-or-reveal/engine/general/spiteful-villager-killed.txt|]
+
+playerLynchedText :: Player -> Text
+playerLynchedText player = [iFile|variant/no-role-knowledge-or-reveal/engine/lynching/player-lynched.txt|]
+
+saintLynchedText :: [Player] -> Text
+saintLynchedText voters = [iFile|variant/no-role-knowledge-or-reveal/engine/lynching/saint-lynched.txt|]
+
+werewolfLynchedText :: Player -> Text
+werewolfLynchedText werewolf = [iFile|variant/no-role-knowledge-or-reveal/engine/lynching/werewolf-lynched.txt|]
+
+rolesInGameText :: Game -> Text
+rolesInGameText game = [iFile|variant/no-role-knowledge-or-reveal/engine/new-game/roles-in-game.txt|]
+    where
+        totalBalance = sumOf (players . roles . balance) game
+
+playerDevouredText :: Player -> Text
+playerDevouredText player = [iFile|variant/no-role-knowledge-or-reveal/engine/sunrise/player-devoured.txt|]
+
+playerPoisonedText :: Player -> Text
+playerPoisonedText player = [iFile|variant/no-role-knowledge-or-reveal/engine/sunrise/player-poisoned.txt|]
+
+playerTurnedToStoneText :: Player -> Text
+playerTurnedToStoneText player = [iFile|variant/no-role-knowledge-or-reveal/engine/sunrise/player-turned-to-stone.txt|]
diff --git a/werewolf.cabal b/werewolf.cabal
--- a/werewolf.cabal
+++ b/werewolf.cabal
@@ -1,5 +1,5 @@
 name:           werewolf
-version:        1.5.1.0
+version:        1.5.1.1
 
 author:         Henry J. Wylde
 maintainer:     public@hjwylde.com
@@ -309,6 +309,8 @@
         Game.Werewolf.Util
         Game.Werewolf.Variant.NoRoleKnowledge.Command
         Game.Werewolf.Variant.NoRoleKnowledge.Engine
+        Game.Werewolf.Variant.NoRoleKnowledgeOrReveal.Command
+        Game.Werewolf.Variant.NoRoleKnowledgeOrReveal.Engine
         Game.Werewolf.Variant.NoRoleReveal.Command
         Game.Werewolf.Variant.NoRoleReveal.Engine
         Game.Werewolf.Variant.Standard.Command
