diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for pms-infra-procspawn
 
+## 0.0.4.0 -- 2025-07-27
+
+* Fixed resources templates.
+
 ## 0.0.3.0 -- 2025-07-20
 
 * Added proc tool.
diff --git a/pms-infra-procspawn.cabal b/pms-infra-procspawn.cabal
--- a/pms-infra-procspawn.cabal
+++ b/pms-infra-procspawn.cabal
@@ -20,7 +20,7 @@
 -- PVP summary:     +-+------- breaking API changes
 --                  | | +----- non-breaking API additions
 --                  | | | +--- code changes with no API change
-version:            0.0.3.0
+version:            0.0.4.0
 
 -- A short (one-line) description of the package.
 synopsis:           pms-infra-procspawn
diff --git a/src/PMS/Infra/ProcSpawn/DS/Utility.hs b/src/PMS/Infra/ProcSpawn/DS/Utility.hs
--- a/src/PMS/Infra/ProcSpawn/DS/Utility.hs
+++ b/src/PMS/Infra/ProcSpawn/DS/Utility.hs
@@ -109,108 +109,11 @@
   hPutStrLn stderr "[INFO] PMS.Infra.ProcSpawn.DS.Core.procRunTask.runProc end."
 
 
-
 -- |
 --   
 readProc :: ProcData -> IO BS.ByteString
 readProc dat = do
    let hdl = dat^.rHdlProcData
    BS.hGetSome hdl 1024
-{-
-  out <- BS.hGetNonBlocking (dat^.rHdlProcData) 1024
-  err <- BS.hGetNonBlocking (dat^.eHdlProcData) 1024
-  let combined = out <> err
-  let text = TE.decodeUtf8With (\_ _ -> Just '?') combined
-  hPutStrLn stderr $ "[DEBUG readProc] received: " ++ T.unpack text
-  return combined
--}
-{-
-  S.hSetBuffering fromPtyHandle NoBuffering
-  S.hSetBuffering toPtyHandle   NoBuffering
-  S.hSetBuffering fromProcHandle NoBuffering
-  S.hSetBuffering toProcHandle   NoBuffering
-  S.hSetBuffering fromProcEHandle NoBuffering
-  S.hSetBuffering toPtyEHandle   NoBuffering
 
-
-  mp <- findExecutable "ssh"
-  hPutStrLn stderr $ "[INFO] findExecutable = " ++ show mp
-
-  let pathKey = "PATH"
-      openSSH = "C:\\Windows\\System32\\OpenSSH"
-      updatedEnv = case lookup pathKey baseEnv of
-        Just oldPath -> (pathKey, openSSH ++ ";" ++ oldPath) : filter ((/= pathKey) . fst) baseEnv
-        Nothing      -> (pathKey, openSSH) : baseEnv
-
-  hPutStrLn stderr $ "[INFO] updatedEnv = " ++ show updatedEnv
--}
-
-{-
-  S.hSetBuffering fromPtyHandle NoBuffering
-  S.hSetBuffering toPtyHandle   NoBuffering
-  S.hSetBuffering fromProcHandle NoBuffering
-  S.hSetBuffering toProcHandle   NoBuffering
-
-  osEnc <- mkTextEncoding "UTF-8//TRANSLIT"
-  S.hSetEncoding toPtyHandle osEnc
-  S.hSetEncoding fromPtyHandle S.utf8
-  S.hSetEncoding toProcHandle S.utf8
-  S.hSetEncoding fromProcHandle osEnc
--}
-{-
-  osEnc <- mkTextEncoding "UTF-8//TRANSLIT"
-
-  let runEnvs = Nothing
-      bufMode = S.NoBuffering
-  --let bufMode = S.BlockBuffering $ Just 1024
-
-  S.hSetBuffering toPhoityneHandle bufMode
-  S.hSetEncoding toPhoityneHandle osEnc
-  S.hSetNewlineMode toPhoityneHandle $ S.NewlineMode S.CRLF S.LF
-  --S.hSetBinaryMode toPhoityneHandle True
-
-  S.hSetBuffering fromPhoityneHandle bufMode
-  S.hSetEncoding fromPhoityneHandle  S.utf8
-  S.hSetNewlineMode fromPhoityneHandle $ S.NewlineMode S.LF S.LF
-  --S.hSetBinaryMode fromPhoityneHandle True
-
-  S.hSetBuffering toGHCiHandle bufMode
-  S.hSetEncoding toGHCiHandle S.utf8
-  S.hSetNewlineMode toGHCiHandle $ S.NewlineMode S.LF S.LF
-  --S.hSetBinaryMode toGHCiHandle True
-
-  S.hSetBuffering fromGHCiHandle bufMode
-  S.hSetEncoding fromGHCiHandle osEnc
-  S.hSetNewlineMode fromGHCiHandle $ S.NewlineMode S.CRLF S.LF
-  --S.hSetBinaryMode fromGHCiHandle True
--}
-{-
-envall :: [(String, String)]
-envall =
-  [ ("Path", "C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\dotnet\\;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\NVIDIA Corporation\\NVIDIA app\\NvDLISR;C:\\Program Files\\Git\\cmd;C:\\Program Files\\TortoiseGit\\bin;C:\\Program Files (x86)\\Windows Kits\\10\\Windows Performance Toolkit\\;C:\\Users\\phoityne\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\phoityne\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\ghcup\\bin;C:\\Users\\phoityne\\.dotnet\\tools;c:\\tools\\ghcup\\bin;C:\\Users\\phoityne\\AppData\\Local\\Programs\\Microsoft VS Code Insiders\\bin;c:\\tools\\cabal\\bin;;C:\\Users\\phoityne\\.lmstudio\\bin")
---  , ("PATHEXT", ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC")
---  , ("PROCESSOR_ARCHITECTURE", "AMD64")
---  , ("PROCESSOR_IDENTIFIER", "Intel64 Family 6 Model 183 Stepping 1, GenuineIntel")
---  , ("PROCESSOR_LEVEL", "6")
---  , ("PROCESSOR_REVISION", "b701")
-  , ("ProgramData", "C:\\ProgramData")  -- required for ssh.
--------  , ("ProgramFiles", "C:\\Program Files")
--------    , ("ProgramFiles(x86)", "C:\\Program Files (x86)")
--------    , ("ProgramW6432", "C:\\Program Files")
---  , ("PROMPT", "$P$G")
--------      , ("PSModulePath", "C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules")
---  , ("PUBLIC", "C:\\Users\\Public")
---  , ("SESSIONNAME", "Console")
-------  , ("SystemDrive", "C:")
-  , ("SystemRoot", "C:\\Windows")  -- required for ssh.
-------  , ("TEMP", "C:\\Users\\phoityne\\AppData\\Local\\Temp")
-------  , ("TMP", "C:\\Users\\phoityne\\AppData\\Local\\Temp")
-------  , ("USERDOMAIN", "GameNote")
-------  , ("USERDOMAIN_ROAMINGPROFILE", "GameNote")
-------  , ("USERNAME", "phoityne")
-------  , ("USERPROFILE", "C:\\Users\\phoityne")
-------  , ("windir", "C:\\Windows")
---  , ("ZES_ENABLE_SYSMAN", "1")
-  ]
-  -}
   
