modwright 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/LICENSE +35 -0
  2. package/README.md +212 -0
  3. package/assets/claude/agents/mw-explore.md +46 -0
  4. package/assets/claude/agents/mw-fixture.md +33 -0
  5. package/assets/claude/agents/mw-rule-author.md +51 -0
  6. package/assets/claude/agents/mw-scaffold-author.md +48 -0
  7. package/assets/claude/skills/mw-author.md +59 -0
  8. package/assets/claude/skills/mw-new-item.md +51 -0
  9. package/assets/claude/skills/mw-new-spell.md +50 -0
  10. package/assets/claude/skills/mw-scaffold.md +59 -0
  11. package/assets/claude/skills/mw-ship.md +57 -0
  12. package/assets/claude/skills/mw-validate.md +51 -0
  13. package/assets/claude/skills/mw-verify.md +59 -0
  14. package/assets/nivalisnights/extract_resources.py +177 -0
  15. package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Config.json +5 -0
  16. package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/BootstrapClient.lua +55 -0
  17. package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/BootstrapServer.lua +81 -0
  18. package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/ModWrightBridge/Log.lua +96 -0
  19. package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/ModWrightBridge/Probes.lua +1038 -0
  20. package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/ModWrightBridge/ProbesClient.lua +74 -0
  21. package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/ModWrightBridge/Protocol.lua +985 -0
  22. package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/ModWrightBridge/Watch.lua +175 -0
  23. package/bridges/bg3-se/Mods/ModWrightBridge/meta.lsx +45 -0
  24. package/bridges/bg3-se/README.md +99 -0
  25. package/bridges/bg3-se/bridge.json +68 -0
  26. package/bridges/cp2077-cet/ModWrightBridge/init.lua +375 -0
  27. package/bridges/cp2077-cet/ModWrightBridge/probes.lua +1104 -0
  28. package/bridges/cp2077-cet/ModWrightBridge/protocol.lua +1306 -0
  29. package/bridges/cp2077-cet/README.md +165 -0
  30. package/bridges/cp2077-cet/bridge.json +53 -0
  31. package/dist/core/bridge/arm.js +175 -0
  32. package/dist/core/bridge/cet-console.js +26 -0
  33. package/dist/core/bridge/cet-log.js +362 -0
  34. package/dist/core/bridge/index.js +11 -0
  35. package/dist/core/bridge/locate.js +35 -0
  36. package/dist/core/bridge/paths.js +34 -0
  37. package/dist/core/bridge/pending.js +89 -0
  38. package/dist/core/bridge/poll.js +155 -0
  39. package/dist/core/bridge/stage.js +100 -0
  40. package/dist/core/bridge/status.js +97 -0
  41. package/dist/core/bridge/types.js +145 -0
  42. package/dist/core/bridge/validate.js +107 -0
  43. package/dist/core/build/index.js +6 -0
  44. package/dist/core/build/manifest.js +47 -0
  45. package/dist/core/build/paths.js +32 -0
  46. package/dist/core/build/run.js +342 -0
  47. package/dist/core/build/stage.js +265 -0
  48. package/dist/core/build/steps/bg3.js +129 -0
  49. package/dist/core/build/steps/core.js +195 -0
  50. package/dist/core/build/steps/cyberpunk.js +95 -0
  51. package/dist/core/build/steps/listing.js +35 -0
  52. package/dist/core/build/types.js +13 -0
  53. package/dist/core/build/zip.js +148 -0
  54. package/dist/core/compat/check.js +113 -0
  55. package/dist/core/compat/pe.js +220 -0
  56. package/dist/core/compat/types.js +1 -0
  57. package/dist/core/compat/version.js +70 -0
  58. package/dist/core/deploy/guards.js +292 -0
  59. package/dist/core/deploy/index.js +5 -0
  60. package/dist/core/deploy/plan.js +696 -0
  61. package/dist/core/deploy/reload-apply.js +361 -0
  62. package/dist/core/deploy/reload.js +358 -0
  63. package/dist/core/deploy/sources.js +169 -0
  64. package/dist/core/deploy/types.js +1 -0
  65. package/dist/core/epic.js +54 -0
  66. package/dist/core/fsutil.js +191 -0
  67. package/dist/core/home.js +70 -0
  68. package/dist/core/knowledge/facts.js +229 -0
  69. package/dist/core/knowledge/index.js +4 -0
  70. package/dist/core/knowledge/search.js +112 -0
  71. package/dist/core/knowledge/store.js +123 -0
  72. package/dist/core/knowledge/types.js +1 -0
  73. package/dist/core/ledger/check.js +42 -0
  74. package/dist/core/ledger/hooks.js +80 -0
  75. package/dist/core/ledger/index.js +7 -0
  76. package/dist/core/ledger/query.js +17 -0
  77. package/dist/core/ledger/record.js +84 -0
  78. package/dist/core/ledger/status.js +53 -0
  79. package/dist/core/ledger/store.js +98 -0
  80. package/dist/core/ledger/types.js +108 -0
  81. package/dist/core/logs/index.js +4 -0
  82. package/dist/core/logs/registry.js +50 -0
  83. package/dist/core/logs/scan.js +195 -0
  84. package/dist/core/logs/triage.js +160 -0
  85. package/dist/core/logs/types.js +1 -0
  86. package/dist/core/lsx.js +10 -0
  87. package/dist/core/lz4.js +66 -0
  88. package/dist/core/mods.js +229 -0
  89. package/dist/core/process.js +49 -0
  90. package/dist/core/project/build-steps.js +83 -0
  91. package/dist/core/project/describe.js +74 -0
  92. package/dist/core/project/index.js +5 -0
  93. package/dist/core/project/load.js +146 -0
  94. package/dist/core/project/schema.js +264 -0
  95. package/dist/core/project/types.js +3 -0
  96. package/dist/core/prompts.js +72 -0
  97. package/dist/core/registry.js +35 -0
  98. package/dist/core/safety/backup.js +206 -0
  99. package/dist/core/safety/execute.js +188 -0
  100. package/dist/core/safety/index.js +5 -0
  101. package/dist/core/safety/plan.js +122 -0
  102. package/dist/core/safety/restore.js +172 -0
  103. package/dist/core/safety/types.js +1 -0
  104. package/dist/core/scaffold/bootstrap.js +7 -0
  105. package/dist/core/scaffold/catalog.js +28 -0
  106. package/dist/core/scaffold/claude-assets.js +271 -0
  107. package/dist/core/scaffold/collisions.js +64 -0
  108. package/dist/core/scaffold/emit.js +356 -0
  109. package/dist/core/scaffold/engine.js +680 -0
  110. package/dist/core/scaffold/ids.js +78 -0
  111. package/dist/core/scaffold/index.js +10 -0
  112. package/dist/core/scaffold/jsonpath.js +121 -0
  113. package/dist/core/scaffold/load.js +81 -0
  114. package/dist/core/scaffold/render.js +85 -0
  115. package/dist/core/scaffold/sequence.js +396 -0
  116. package/dist/core/scaffold/types.js +309 -0
  117. package/dist/core/steam.js +63 -0
  118. package/dist/core/surfaceutil.js +36 -0
  119. package/dist/core/testplan/check.js +67 -0
  120. package/dist/core/testplan/index.js +5 -0
  121. package/dist/core/testplan/load.js +100 -0
  122. package/dist/core/testplan/registry.js +317 -0
  123. package/dist/core/testplan/run.js +389 -0
  124. package/dist/core/testplan/types.js +82 -0
  125. package/dist/core/text/converters/bg3.js +50 -0
  126. package/dist/core/text/converters/cyberpunk.js +36 -0
  127. package/dist/core/text/converters/index.js +261 -0
  128. package/dist/core/text/diff/cr2w.js +180 -0
  129. package/dist/core/text/diff/index.js +16 -0
  130. package/dist/core/text/diff/loca.js +43 -0
  131. package/dist/core/text/diff/lsx.js +126 -0
  132. package/dist/core/text/handles.js +86 -0
  133. package/dist/core/text/index.js +6 -0
  134. package/dist/core/text/json.js +46 -0
  135. package/dist/core/text/templates/cache.js +71 -0
  136. package/dist/core/text/templates/index.js +3 -0
  137. package/dist/core/text/templates/library.js +245 -0
  138. package/dist/core/text/templates/types.js +51 -0
  139. package/dist/core/text/toolchain.js +16 -0
  140. package/dist/core/text/types.js +1 -0
  141. package/dist/core/text/validate.js +149 -0
  142. package/dist/core/text/xml.js +58 -0
  143. package/dist/core/toolchain/datafetch.js +151 -0
  144. package/dist/core/toolchain/env.js +63 -0
  145. package/dist/core/toolchain/features.js +170 -0
  146. package/dist/core/toolchain/index.js +8 -0
  147. package/dist/core/toolchain/install.js +191 -0
  148. package/dist/core/toolchain/locate.js +275 -0
  149. package/dist/core/toolchain/remember.js +84 -0
  150. package/dist/core/toolchain/run.js +318 -0
  151. package/dist/core/toolchain/specs.js +351 -0
  152. package/dist/core/toolchain/types.js +1 -0
  153. package/dist/core/types.js +1 -0
  154. package/dist/core/userconfig.js +66 -0
  155. package/dist/core/validate/context.js +139 -0
  156. package/dist/core/validate/index.js +5 -0
  157. package/dist/core/validate/registry.js +58 -0
  158. package/dist/core/validate/run.js +131 -0
  159. package/dist/core/validate/suppressions.js +91 -0
  160. package/dist/core/validate/types.js +2 -0
  161. package/dist/core/yamledit.js +51 -0
  162. package/dist/index.js +389 -0
  163. package/dist/server.js +1914 -0
  164. package/dist/surfaces/baldursgate3/compat.js +164 -0
  165. package/dist/surfaces/baldursgate3/identity.js +110 -0
  166. package/dist/surfaces/baldursgate3/index/build.js +331 -0
  167. package/dist/surfaces/baldursgate3/index/index.js +17 -0
  168. package/dist/surfaces/baldursgate3/index/info.js +40 -0
  169. package/dist/surfaces/baldursgate3/index/parsers/loca.js +41 -0
  170. package/dist/surfaces/baldursgate3/index/parsers/lsx.js +137 -0
  171. package/dist/surfaces/baldursgate3/index/parsers/stats.js +45 -0
  172. package/dist/surfaces/baldursgate3/index/parsers/treasuretable.js +57 -0
  173. package/dist/surfaces/baldursgate3/index/parsers/xmlutil.js +142 -0
  174. package/dist/surfaces/baldursgate3/index/queries.js +327 -0
  175. package/dist/surfaces/baldursgate3/index/schema.js +62 -0
  176. package/dist/surfaces/baldursgate3/index.js +3 -0
  177. package/dist/surfaces/baldursgate3/logs.js +278 -0
  178. package/dist/surfaces/baldursgate3/modsettings.js +115 -0
  179. package/dist/surfaces/baldursgate3/pak.js +153 -0
  180. package/dist/surfaces/baldursgate3/settings.js +49 -0
  181. package/dist/surfaces/baldursgate3/surface.js +232 -0
  182. package/dist/surfaces/baldursgate3/validators/bridge.js +7 -0
  183. package/dist/surfaces/baldursgate3/validators/files.js +476 -0
  184. package/dist/surfaces/baldursgate3/validators/items.js +1001 -0
  185. package/dist/surfaces/baldursgate3/validators/progression.js +734 -0
  186. package/dist/surfaces/baldursgate3/validators/stats.js +1076 -0
  187. package/dist/surfaces/baldursgate3/validators/story.js +790 -0
  188. package/dist/surfaces/baldursgate3/validators/templates.js +7 -0
  189. package/dist/surfaces/cyberpunk2077/compat.js +223 -0
  190. package/dist/surfaces/cyberpunk2077/index/build.js +231 -0
  191. package/dist/surfaces/cyberpunk2077/index/index.js +17 -0
  192. package/dist/surfaces/cyberpunk2077/index/info.js +51 -0
  193. package/dist/surfaces/cyberpunk2077/index/model.js +52 -0
  194. package/dist/surfaces/cyberpunk2077/index/parsers/tweak.js +483 -0
  195. package/dist/surfaces/cyberpunk2077/index/parsers/tweakxl-yaml.js +183 -0
  196. package/dist/surfaces/cyberpunk2077/index/queries.js +504 -0
  197. package/dist/surfaces/cyberpunk2077/index/resource.js +135 -0
  198. package/dist/surfaces/cyberpunk2077/index/schema.js +90 -0
  199. package/dist/surfaces/cyberpunk2077/index.js +3 -0
  200. package/dist/surfaces/cyberpunk2077/logs.js +742 -0
  201. package/dist/surfaces/cyberpunk2077/paths.js +12 -0
  202. package/dist/surfaces/cyberpunk2077/surface.js +218 -0
  203. package/dist/surfaces/cyberpunk2077/validators/bridge.js +7 -0
  204. package/dist/surfaces/cyberpunk2077/validators/cr2w.js +349 -0
  205. package/dist/surfaces/cyberpunk2077/validators/garments.js +1181 -0
  206. package/dist/surfaces/cyberpunk2077/validators/mesh.js +338 -0
  207. package/dist/surfaces/cyberpunk2077/validators/modsettings.js +120 -0
  208. package/dist/surfaces/cyberpunk2077/validators/packaging.js +463 -0
  209. package/dist/surfaces/cyberpunk2077/validators/red4ext.js +318 -0
  210. package/dist/surfaces/cyberpunk2077/validators/redscript.js +193 -0
  211. package/dist/surfaces/cyberpunk2077/validators/templates.js +7 -0
  212. package/dist/surfaces/cyberpunk2077/validators/tweaks.js +768 -0
  213. package/dist/surfaces/cyberpunk2077/validators/vehicles.js +531 -0
  214. package/dist/surfaces/cyberpunk2077/validators/xl.js +308 -0
  215. package/dist/surfaces/eldenring/binders.js +111 -0
  216. package/dist/surfaces/eldenring/compat.js +166 -0
  217. package/dist/surfaces/eldenring/dcx.js +49 -0
  218. package/dist/surfaces/eldenring/index.js +13 -0
  219. package/dist/surfaces/eldenring/loaders.js +132 -0
  220. package/dist/surfaces/eldenring/logs.js +67 -0
  221. package/dist/surfaces/eldenring/paramdef.js +256 -0
  222. package/dist/surfaces/eldenring/params.js +129 -0
  223. package/dist/surfaces/eldenring/surface.js +121 -0
  224. package/dist/surfaces/eldenring/tools.js +52 -0
  225. package/dist/surfaces/eldenring/validators/binders.js +193 -0
  226. package/dist/surfaces/eldenring/validators/packages.js +159 -0
  227. package/dist/surfaces/eldenring/validators/params.js +334 -0
  228. package/dist/surfaces/eldenring/validators/profiles.js +287 -0
  229. package/dist/surfaces/index.js +34 -0
  230. package/dist/surfaces/nivalisnights/compat.js +229 -0
  231. package/dist/surfaces/nivalisnights/index/build.js +310 -0
  232. package/dist/surfaces/nivalisnights/index/index.js +5 -0
  233. package/dist/surfaces/nivalisnights/index/queries.js +231 -0
  234. package/dist/surfaces/nivalisnights/index.js +4 -0
  235. package/dist/surfaces/nivalisnights/logs.js +473 -0
  236. package/dist/surfaces/nivalisnights/surface.js +195 -0
  237. package/dist/surfaces/skyrimse/archives.js +229 -0
  238. package/dist/surfaces/skyrimse/compat.js +163 -0
  239. package/dist/surfaces/skyrimse/index.js +12 -0
  240. package/dist/surfaces/skyrimse/loadorder.js +174 -0
  241. package/dist/surfaces/skyrimse/logs.js +241 -0
  242. package/dist/surfaces/skyrimse/plugins.js +149 -0
  243. package/dist/surfaces/skyrimse/records.js +94 -0
  244. package/dist/surfaces/skyrimse/surface.js +240 -0
  245. package/dist/surfaces/skyrimse/validators/archive-records.js +165 -0
  246. package/dist/surfaces/skyrimse/validators/archives.js +110 -0
  247. package/dist/surfaces/skyrimse/validators/plugins.js +374 -0
  248. package/dist/surfaces/skyrimse/validators/records.js +117 -0
  249. package/dist/surfaces/stardewvalley/compat.js +190 -0
  250. package/dist/surfaces/stardewvalley/config.js +42 -0
  251. package/dist/surfaces/stardewvalley/contentpatcher.js +203 -0
  252. package/dist/surfaces/stardewvalley/index/index.js +229 -0
  253. package/dist/surfaces/stardewvalley/index/wiki.js +190 -0
  254. package/dist/surfaces/stardewvalley/index.js +12 -0
  255. package/dist/surfaces/stardewvalley/logs.js +307 -0
  256. package/dist/surfaces/stardewvalley/mods.js +182 -0
  257. package/dist/surfaces/stardewvalley/surface.js +244 -0
  258. package/dist/surfaces/stardewvalley/validators/content.js +321 -0
  259. package/dist/surfaces/stardewvalley/validators/fields.js +147 -0
  260. package/dist/surfaces/stardewvalley/validators/loadorder.js +69 -0
  261. package/dist/surfaces/stardewvalley/validators/manifest.js +221 -0
  262. package/dist/surfaces/subnautica2/compat.js +138 -0
  263. package/dist/surfaces/subnautica2/index.js +5 -0
  264. package/dist/surfaces/subnautica2/logs.js +129 -0
  265. package/dist/surfaces/subnautica2/paks.js +173 -0
  266. package/dist/surfaces/subnautica2/surface.js +151 -0
  267. package/dist/surfaces/subnautica2/validators/packaging.js +298 -0
  268. package/dist/surfaces/valheim/compat.js +171 -0
  269. package/dist/surfaces/valheim/index/index.js +301 -0
  270. package/dist/surfaces/valheim/index/tables.js +103 -0
  271. package/dist/surfaces/valheim/index.js +11 -0
  272. package/dist/surfaces/valheim/logs.js +197 -0
  273. package/dist/surfaces/valheim/packaging.js +131 -0
  274. package/dist/surfaces/valheim/plugins.js +270 -0
  275. package/dist/surfaces/valheim/references.js +121 -0
  276. package/dist/surfaces/valheim/surface.js +223 -0
  277. package/dist/surfaces/valheim/validators/packaging.js +218 -0
  278. package/dist/surfaces/valheim/validators/plugins.js +287 -0
  279. package/dist/surfaces/valheim/validators/references.js +169 -0
  280. package/knowledge/baldursgate3/animations.gr2.yaml +166 -0
  281. package/knowledge/baldursgate3/audio.voice.yaml +182 -0
  282. package/knowledge/baldursgate3/audio.wwise.yaml +104 -0
  283. package/knowledge/baldursgate3/charactercreation.heads-hair.yaml +193 -0
  284. package/knowledge/baldursgate3/communitylibrary.shared-content.yaml +129 -0
  285. package/knowledge/baldursgate3/compatibilityframework.api.yaml +176 -0
  286. package/knowledge/baldursgate3/crash.causes.yaml +90 -0
  287. package/knowledge/baldursgate3/dialogue.dialogbank.yaml +120 -0
  288. package/knowledge/baldursgate3/dialogue.files.yaml +236 -0
  289. package/knowledge/baldursgate3/dialogue.osiris-goals.yaml +386 -0
  290. package/knowledge/baldursgate3/dialogue.yaml +122 -0
  291. package/knowledge/baldursgate3/feats.classes.yaml +164 -0
  292. package/knowledge/baldursgate3/items.cloth-physics.yaml +167 -0
  293. package/knowledge/baldursgate3/items.roottemplates.yaml +320 -0
  294. package/knowledge/baldursgate3/items.visualbank.yaml +628 -0
  295. package/knowledge/baldursgate3/journal.quests.yaml +214 -0
  296. package/knowledge/baldursgate3/loadorder.modsettings.yaml +128 -0
  297. package/knowledge/baldursgate3/localization.handles.yaml +92 -0
  298. package/knowledge/baldursgate3/misc.encoding-and-practice.yaml +111 -0
  299. package/knowledge/baldursgate3/origins.companions.yaml +144 -0
  300. package/knowledge/baldursgate3/osiris.signatures.yaml +211 -0
  301. package/knowledge/baldursgate3/packaging.meta.yaml +155 -0
  302. package/knowledge/baldursgate3/packaging.paks.yaml +79 -0
  303. package/knowledge/baldursgate3/process.launch.yaml +34 -0
  304. package/knowledge/baldursgate3/progressions.yaml +92 -0
  305. package/knowledge/baldursgate3/publishing.modio-nexus.yaml +170 -0
  306. package/knowledge/baldursgate3/publishing.toolkit-modio.yaml +135 -0
  307. package/knowledge/baldursgate3/races.progression.yaml +228 -0
  308. package/knowledge/baldursgate3/scriptextender.console.yaml +257 -0
  309. package/knowledge/baldursgate3/scriptextender.yaml +252 -0
  310. package/knowledge/baldursgate3/stats.boosts.yaml +293 -0
  311. package/knowledge/baldursgate3/stats.equipment-kits.yaml +69 -0
  312. package/knowledge/baldursgate3/stats.interrupts.yaml +45 -0
  313. package/knowledge/baldursgate3/stats.itemcombos.yaml +65 -0
  314. package/knowledge/baldursgate3/stats.spells.yaml +293 -0
  315. package/knowledge/baldursgate3/stats.weapons.yaml +210 -0
  316. package/knowledge/baldursgate3/toolchain.divine.yaml +179 -0
  317. package/knowledge/baldursgate3/toolchain.lslib-formats.yaml +242 -0
  318. package/knowledge/baldursgate3/toolkit.levels.yaml +177 -0
  319. package/knowledge/baldursgate3/ui.icons-atlas.yaml +78 -0
  320. package/knowledge/baldursgate3/ui.icons.yaml +412 -0
  321. package/knowledge/baldursgate3/ui.mcm.yaml +161 -0
  322. package/knowledge/baldursgate3/vfx.materials.yaml +174 -0
  323. package/knowledge/baldursgate3/visuals.characterfix.yaml +73 -0
  324. package/knowledge/cyberpunk2077/animations.anims.yaml +118 -0
  325. package/knowledge/cyberpunk2077/anims.archivexl.yaml +163 -0
  326. package/knowledge/cyberpunk2077/anims.authoring.yaml +579 -0
  327. package/knowledge/cyberpunk2077/anims.encoder.yaml +156 -0
  328. package/knowledge/cyberpunk2077/anims.graph.yaml +629 -0
  329. package/knowledge/cyberpunk2077/anims.method.yaml +360 -0
  330. package/knowledge/cyberpunk2077/anims.pipeline.yaml +352 -0
  331. package/knowledge/cyberpunk2077/anims.roundtrip.yaml +222 -0
  332. package/knowledge/cyberpunk2077/anims.sets.yaml +176 -0
  333. package/knowledge/cyberpunk2077/archivexl.bodytypes.yaml +149 -0
  334. package/knowledge/cyberpunk2077/archivexl.dynamic-appearances.yaml +218 -0
  335. package/knowledge/cyberpunk2077/archivexl.manifest.yaml +214 -0
  336. package/knowledge/cyberpunk2077/audio.events.yaml +168 -0
  337. package/knowledge/cyberpunk2077/audio.sounds.yaml +164 -0
  338. package/knowledge/cyberpunk2077/audio.voicesets.yaml +146 -0
  339. package/knowledge/cyberpunk2077/cet.sandbox.yaml +219 -0
  340. package/knowledge/cyberpunk2077/clothing.garments.yaml +283 -0
  341. package/knowledge/cyberpunk2077/clothing.refits.yaml +215 -0
  342. package/knowledge/cyberpunk2077/codeware.overview.yaml +111 -0
  343. package/knowledge/cyberpunk2077/codeware.systems.yaml +192 -0
  344. package/knowledge/cyberpunk2077/drones.combat.yaml +416 -0
  345. package/knowledge/cyberpunk2077/drones.control.yaml +552 -0
  346. package/knowledge/cyberpunk2077/entities.appearance.yaml +166 -0
  347. package/knowledge/cyberpunk2077/equipmentex.slots.yaml +151 -0
  348. package/knowledge/cyberpunk2077/fx.effects.yaml +246 -0
  349. package/knowledge/cyberpunk2077/fx.lights.yaml +171 -0
  350. package/knowledge/cyberpunk2077/hair.modding.yaml +145 -0
  351. package/knowledge/cyberpunk2077/items.wiring.yaml +246 -0
  352. package/knowledge/cyberpunk2077/loadorder.archives.yaml +71 -0
  353. package/knowledge/cyberpunk2077/mesh.blender.yaml +209 -0
  354. package/knowledge/cyberpunk2077/nativedb.dump.yaml +98 -0
  355. package/knowledge/cyberpunk2077/npc.appearance.yaml +275 -0
  356. package/knowledge/cyberpunk2077/npc.behaviour.yaml +128 -0
  357. package/knowledge/cyberpunk2077/npc.locomotion.yaml +490 -0
  358. package/knowledge/cyberpunk2077/packaging.deploy.yaml +175 -0
  359. package/knowledge/cyberpunk2077/packaging.variants.yaml +176 -0
  360. package/knowledge/cyberpunk2077/player.control.yaml +918 -0
  361. package/knowledge/cyberpunk2077/process.assetbuild.yaml +154 -0
  362. package/knowledge/cyberpunk2077/process.lessons.yaml +276 -0
  363. package/knowledge/cyberpunk2077/quests.minor.yaml +46 -0
  364. package/knowledge/cyberpunk2077/quests.scenes.yaml +282 -0
  365. package/knowledge/cyberpunk2077/quickhacks.tiers.yaml +41 -0
  366. package/knowledge/cyberpunk2077/red4ext.api.yaml +645 -0
  367. package/knowledge/cyberpunk2077/red4ext.plugins.yaml +124 -0
  368. package/knowledge/cyberpunk2077/redhottools.hotreload.yaml +245 -0
  369. package/knowledge/cyberpunk2077/redscript.compile-log.yaml +76 -0
  370. package/knowledge/cyberpunk2077/redscript.modules.yaml +118 -0
  371. package/knowledge/cyberpunk2077/toolchain.wolvenkit.yaml +163 -0
  372. package/knowledge/cyberpunk2077/tweakdb.loot-recipes.yaml +184 -0
  373. package/knowledge/cyberpunk2077/tweakdb.melee.yaml +352 -0
  374. package/knowledge/cyberpunk2077/tweakdb.weapons.yaml +325 -0
  375. package/knowledge/cyberpunk2077/tweakxl.hotreload.yaml +151 -0
  376. package/knowledge/cyberpunk2077/tweakxl.yaml-syntax.yaml +208 -0
  377. package/knowledge/cyberpunk2077/ui.icons.yaml +259 -0
  378. package/knowledge/cyberpunk2077/ui.inkatlas.yaml +81 -0
  379. package/knowledge/cyberpunk2077/ui.modsettings.yaml +204 -0
  380. package/knowledge/cyberpunk2077/vehicles.control.yaml +475 -0
  381. package/knowledge/cyberpunk2077/vehicles.dashboard-ui.yaml +203 -0
  382. package/knowledge/cyberpunk2077/vehicles.entities.yaml +195 -0
  383. package/knowledge/cyberpunk2077/vehicles.wiring.yaml +137 -0
  384. package/knowledge/cyberpunk2077/wolvenkit.cli.yaml +167 -0
  385. package/knowledge/cyberpunk2077/workspot.system.yaml +55 -0
  386. package/knowledge/cyberpunk2077/world.interactions.yaml +41 -0
  387. package/knowledge/cyberpunk2077/world.loot-container.yaml +167 -0
  388. package/knowledge/cyberpunk2077/world.sectors.yaml +233 -0
  389. package/knowledge/eldenring/formats.binders.yaml +237 -0
  390. package/knowledge/eldenring/launcher.me3.yaml +230 -0
  391. package/knowledge/eldenring/launcher.modengine2.yaml +119 -0
  392. package/knowledge/eldenring/params.paramdef.yaml +149 -0
  393. package/knowledge/eldenring/params.regulation.yaml +142 -0
  394. package/knowledge/eldenring/saves.online.yaml +118 -0
  395. package/knowledge/eldenring/toolchain.cli.yaml +256 -0
  396. package/knowledge/nivalisnights/modding.runtime.yaml +157 -0
  397. package/knowledge/skyrimse/archives.bsa.yaml +212 -0
  398. package/knowledge/skyrimse/install.detection.yaml +41 -0
  399. package/knowledge/skyrimse/loadorder.files.yaml +242 -0
  400. package/knowledge/skyrimse/plugins.esl.yaml +189 -0
  401. package/knowledge/skyrimse/plugins.format.yaml +224 -0
  402. package/knowledge/skyrimse/skse.runtime.yaml +283 -0
  403. package/knowledge/skyrimse/toolchain.xedit-spriggit.yaml +336 -0
  404. package/knowledge/stardewvalley/contentpatcher.format.yaml +338 -0
  405. package/knowledge/stardewvalley/distribution.channels.yaml +236 -0
  406. package/knowledge/stardewvalley/game.versions.yaml +202 -0
  407. package/knowledge/stardewvalley/install.layout.yaml +277 -0
  408. package/knowledge/stardewvalley/smapi.loader.yaml +284 -0
  409. package/knowledge/stardewvalley/smapi.logs.yaml +329 -0
  410. package/knowledge/stardewvalley/smapi.manifest.yaml +293 -0
  411. package/knowledge/stardewvalley/toolchain.build.yaml +261 -0
  412. package/knowledge/stardewvalley/wiki.dataformat.yaml +130 -0
  413. package/knowledge/subnautica2/game.build.yaml +331 -0
  414. package/knowledge/subnautica2/modding.state.yaml +210 -0
  415. package/knowledge/subnautica2/ue5.containers.yaml +72 -0
  416. package/knowledge/subnautica2/ue5.paks.yaml +203 -0
  417. package/knowledge/subnautica2/ue5.tooling.yaml +175 -0
  418. package/knowledge/subnautica2/ue5.ue4ss.yaml +203 -0
  419. package/knowledge/valheim/bepinex.loader.yaml +247 -0
  420. package/knowledge/valheim/bepinex.plugins.yaml +251 -0
  421. package/knowledge/valheim/game.versions.yaml +321 -0
  422. package/knowledge/valheim/install.layout.yaml +216 -0
  423. package/knowledge/valheim/jotunn.library.yaml +334 -0
  424. package/knowledge/valheim/thunderstore.packaging.yaml +217 -0
  425. package/knowledge/valheim/toolchain.build.yaml +111 -0
  426. package/package.json +29 -0
  427. package/scaffolds/baldursgate3/new-class-injection.yaml +148 -0
  428. package/scaffolds/baldursgate3/new-item.yaml +264 -0
  429. package/scaffolds/baldursgate3/new-mod.yaml +174 -0
  430. package/scaffolds/baldursgate3/new-passive.yaml +100 -0
  431. package/scaffolds/baldursgate3/new-project.yaml +118 -0
  432. package/scaffolds/baldursgate3/new-quest-stub.yaml +159 -0
  433. package/scaffolds/baldursgate3/new-spell.yaml +102 -0
  434. package/scaffolds/baldursgate3/new-status.yaml +119 -0
  435. package/scaffolds/baldursgate3/sequences/subclass-kit.yaml +50 -0
  436. package/scaffolds/cyberpunk2077/edit-tweak.yaml +70 -0
  437. package/scaffolds/cyberpunk2077/mesh-export-preset.yaml +170 -0
  438. package/scaffolds/cyberpunk2077/new-entity-patch.yaml +255 -0
  439. package/scaffolds/cyberpunk2077/new-garment-refit.yaml +279 -0
  440. package/scaffolds/cyberpunk2077/new-item-chain.yaml +548 -0
  441. package/scaffolds/cyberpunk2077/new-localization.yaml +130 -0
  442. package/scaffolds/cyberpunk2077/new-mod-settings.yaml +133 -0
  443. package/scaffolds/cyberpunk2077/new-player-replacer.yaml +1003 -0
  444. package/scaffolds/cyberpunk2077/new-project.yaml +157 -0
  445. package/scaffolds/cyberpunk2077/new-sector-node.yaml +156 -0
  446. package/scaffolds/cyberpunk2077/new-tweak.yaml +121 -0
  447. package/scaffolds/cyberpunk2077/new-vehicle-livery.yaml +148 -0
  448. package/scaffolds/cyberpunk2077/new-workspot-entity.yaml +177 -0
  449. package/scaffolds/cyberpunk2077/sequences/iconic-weapon.yaml +72 -0
  450. package/scaffolds/cyberpunk2077/sequences/quickhack-takeover.yaml +213 -0
  451. package/scaffolds/stardewvalley/new-cp-patch.yaml +106 -0
  452. package/scaffolds/stardewvalley/new-csharp-mod.yaml +195 -0
  453. package/scaffolds/stardewvalley/new-project.yaml +184 -0
  454. package/scaffolds/stardewvalley/sequences/content-pack.yaml +31 -0
  455. package/scripts/mw-tool.mjs +184 -0
@@ -0,0 +1,336 @@
1
+ game: skyrimse
2
+ topic: toolchain.xedit-spriggit
3
+ title: The unattended toolchain — xEdit switches and exit codes, Spriggit round-trip fidelity, the
4
+ Papyrus compiler, and what cannot be automated
5
+ facts:
6
+ - id: sse.toolchain.xedit-spriggit.one-binary-renamed-or-switched
7
+ claim: xEdit is one executable selected by rename or by switch. Renaming it to SSEEdit makes it work
8
+ with Skyrim SE, and the -sse switch does the same; mode detection checks the command line
9
+ first and then substring-matches the executable's own filename.
10
+ status: community
11
+ source: github.com/TES5Edit/TES5Edit README.md, "xEdit versions" ("Rename to SSEEdit to work with
12
+ Skyrim SE"); xEdit/xeInit.pas, DetectAppMode
13
+ tags:
14
+ - xedit
15
+ - sseedit
16
+ - toolchain
17
+ - invocation
18
+ detail: The filename fallback is why SSEEditQAC.exe works. Game modes accepted by the -<gamemode>
19
+ switch are tes5vr, fo4vr, tes4, tes5, enderal, sse, fo3, fnv, fo4, fo76.
20
+ - id: sse.toolchain.xedit-spriggit.unattended-modes
21
+ claim: "xEdit runs without user interaction only in its wbAutoModes set. The self-closing ones take
22
+ a positional plugin name - -checkforerrors, -checkforitm, -checkfordr, -sortandcleanmasters,
23
+ -setesm, -clearesm, -masterupdate, -masterrestore, -onamupdate. -script: and -qac need
24
+ -autoload and -autoexit as well."
25
+ status: community
26
+ source: github.com/TES5Edit/TES5Edit Core/wbInterface.pas, wbAutoModes and wbPluginModes (commented
27
+ "Tool modes that run without user interaction until final status" and "Auto modes that require
28
+ a specific plugin to be provided"); whatsnew.md sections "Auto Exit", "Auto Load for Quick
29
+ [Auto] Clean"
30
+ tags:
31
+ - xedit
32
+ - cli
33
+ - unattended
34
+ - automation
35
+ - toolchain
36
+ detail: The documented recipe is `SSEEdit.exe -quickautoclean -autoload update.esm`. -autoexit "can
37
+ be used together with a number of different modes ... to have xEdit automatically close after
38
+ the operation is finished"; -autoload "will not show the Module Selection dialog and just load
39
+ all modules that are active according to plugins.txt". Neither switch appears on the docs site
40
+ - only in whatsnew.md.
41
+ - id: sse.toolchain.xedit-spriggit.exit-code-is-the-issue-count
42
+ claim: In the three check modes, xEdit's process exit code is the count of errors, ITMs or UDRs
43
+ found, capped at 127. 255 means an unexpected mode and 0 means clean or any non-check mode.
44
+ status: community
45
+ source: github.com/TES5Edit/TES5Edit xEdit/xeMainForm.pas (`if ErrorsCount>126 then CheckResult :=
46
+ 127 else CheckResult := ErrorsCount;`, identically for ITMcount and DRcount, with `CheckResult
47
+ := 255;` as the fallthrough and `ExitCode := CheckResult;`)
48
+ tags:
49
+ - xedit
50
+ - cli
51
+ - exit-code
52
+ - automation
53
+ - toolchain
54
+ - validator
55
+ detail: This is the only genuinely scriptable status signal in the Skyrim toolchain and makes
56
+ -checkforitm usable as a build gate.
57
+ - id: sse.toolchain.xedit-spriggit.modals-can-still-block-a-fresh-run
58
+ claim: Three dialogs can still appear in an otherwise unattended xEdit run - the developer/donation
59
+ message (re-shown every 14 days for non-patrons), a 64-bit first-start confirmation gated on
60
+ the settings key Init\First64Start, and the game selection dialog when neither the exe name
61
+ nor a -<gamemode> switch resolves.
62
+ status: community
63
+ source: github.com/TES5Edit/TES5Edit xEdit/xeMainForm.pas (`if (not wbPatron or not xeAutoLoad) and
64
+ not xeTestConflicts then ShowDeveloperMessage;` and the MessageDlg gated on Init\First64Start)
65
+ and xEdit/xeInit.pas (TfrmGameSelect)
66
+ tags:
67
+ - xedit
68
+ - cli
69
+ - unattended
70
+ - gotcha
71
+ - first-run
72
+ - toolchain
73
+ detail: 'A first unattended run on a clean machine can therefore hang. A separate trap - if the
74
+ script named by -script: does not exist, xEdit opens a file-open dialog titled "Select a
75
+ script to execute" rather than failing.'
76
+ - id: sse.toolchain.xedit-spriggit.quick-auto-clean-is-not-byte-stable
77
+ claim: Quick Auto Clean applies the filter, undeletes and disables references, and removes
78
+ identical-to-master records, three times with a silent save between each pass. It marks all
79
+ groups and records modified before saving, so it produces a different CRC than the old manual
80
+ method.
81
+ status: community
82
+ source: tes5edit.github.io/docs 7.4.7.2 "Quick Auto Clean Method" ("This procedure cleans 3 times
83
+ and saves in between each step", "For quick auto clean you will not be given an option to
84
+ save"); whatsnew.md "Quick [Auto] Clean" ("using Quick Clean will now produce a different CRC
85
+ than using the old manual method")
86
+ tags:
87
+ - xedit
88
+ - cleaning
89
+ - itm
90
+ - udr
91
+ - byte-stability
92
+ - build-step
93
+ - gotcha
94
+ detail: Byte comparison cannot be used to verify a cleaning step. Cleaning must also be done one
95
+ file at a time - with other mods loaded, ITMs become "identical to master, but conflict
96
+ winner" and are not cleaned (docs 7.4.2). Undeleting a reference moves it, with xEdit setting
97
+ the Z axis position to -30,000 units (docs 7.5.3).
98
+ - id: sse.toolchain.xedit-spriggit.conflict-model-is-two-dimensional
99
+ claim: xEdit computes two independent statuses per row - a per-record TConflictAll shown as the
100
+ background colour, and a per-file TConflictThis shown as the text colour.
101
+ status: community
102
+ source: github.com/TES5Edit/TES5Edit Core/wbInterface.pas, wbNameConflictAll and wbNameConflictThis;
103
+ tes5edit.github.io/docs 5.5 "Color Schemes and Display Order"
104
+ tags:
105
+ - xedit
106
+ - conflict
107
+ - record
108
+ - model
109
+ detail: TConflictAll values are Single Record, Multiple but no conflict, Benign Conflict, Override
110
+ without conflict, Conflict, Critical Conflict. TConflictThis values are Ignored, Not Defined,
111
+ Identical to Master, Single Record, Hidden by Mod Group, Master, Benign conflict, Override
112
+ without conflict, Identical to Master but conflict winner, Conflict winner, Conflict loser.
113
+ The docs' example - green background with grey text for a lone module - makes the two axes
114
+ concrete.
115
+ - id: sse.toolchain.xedit-spriggit.spriggit-cli-syntax
116
+ claim: Spriggit converts a plugin to and from a folder of one-file-per-record YAML or JSON. Its
117
+ verbs are convert-from-plugin and convert-to-plugin, with serialize and deserialize accepted
118
+ as aliases, taking --InputPath, --OutputPath, --GameRelease SkyrimSE and --PackageName
119
+ Spriggit.Yaml.
120
+ status: community
121
+ source: github.com/Mutagen-Modding/Spriggit README.md and docs/cli.md, including the example
122
+ `Spriggit.CLI.exe convert-from-plugin --InputPath "...\Data\SomeMod.esp" --OutputPath
123
+ "C:\MyGitRepository\SomeMod.esp" --GameRelease SkyrimSE --PackageName Spriggit.Yaml`
124
+ tags:
125
+ - spriggit
126
+ - cli
127
+ - toolchain
128
+ - text-converter
129
+ - yaml
130
+ - git
131
+ detail: Other arguments - -v/--PackageVersion, -t/--Threads, -m/--ModKey, -c/--Check,
132
+ -d/--DataFolder, -u/--ErrorOnUnknown, plus -l/--Localized and -b/--BackupDays on deserialize.
133
+ The translation logic lives in NuGet packages fetched at run time and stamped into
134
+ spriggit-meta.json, so deserialization can pull the exact version that wrote the text.
135
+ - id: sse.toolchain.xedit-spriggit.spriggit-is-not-lossless
136
+ claim: Spriggit does not round-trip a plugin byte-identically. It deliberately omits unused and
137
+ unknown fields (including group header data, timestamps and last-modified data), reorders
138
+ list-type fields on purpose, and refuses to proceed rather than skip a record it does not
139
+ recognise.
140
+ status: community
141
+ source: 'github.com/Mutagen-Modding/Spriggit docs/omissions.md ("Omitted fields are: Not written
142
+ during serialization ... Set to default values during deserialization"), docs/sorting.md,
143
+ docs/unexpected-records.md ("If Spriggit encounters a record that it is unsure of, it refuses
144
+ to proceed, rather than skip the record")'
145
+ tags:
146
+ - spriggit
147
+ - fidelity
148
+ - round-trip
149
+ - text-converter
150
+ - gotcha
151
+ - verification
152
+ detail: Its own --Check is weak by design - PostSerializeChecker.cs compares only the record count
153
+ and a set of record identifiers, with no field-level or byte-level comparison. A separate
154
+ `standardize` verb exists precisely because binary comparison needs normalising first. So a
155
+ converter built on Spriggit cannot use a byte-compare round-trip verification.
156
+ - id: sse.toolchain.xedit-spriggit.spriggit-is-the-only-ci-ready-piece
157
+ claim: Spriggit publishes a self-contained linux-x64 single-file CLI alongside the Windows one and
158
+ tests on ubuntu and macos runners, making it the only part of the Skyrim toolchain built for
159
+ headless use.
160
+ status: community
161
+ source: github.com/Mutagen-Modding/Spriggit .github/workflows/ci-publish.yml (dotnet publish -r
162
+ win-x64 and -r linux-x64 with PublishSingleFile and --self-contained) and the 0.41.0 release
163
+ assets SpriggitCLI.zip and SpriggitLinuxCLI.zip
164
+ tags:
165
+ - spriggit
166
+ - ci
167
+ - linux
168
+ - headless
169
+ - toolchain
170
+ - packaging
171
+ detail: The README's claim that the CLI "is not self contained" is out of date relative to the
172
+ pipeline. It also installs as a dotnet tool named spriggit. The author maintains a reference
173
+ workflow at github.com/Noggog/SpriggitWorkflowTests that runs the Linux CLI on ubuntu-latest.
174
+ - id: sse.toolchain.xedit-spriggit.mutagen-has-no-node-path
175
+ claim: Mutagen is a C# library with no executable, CLI, server or stdio interface of its own. The
176
+ only shipped CLI surfaces built on it are Spriggit.CLI and Synthesis.CLI, so a Node process
177
+ must shell out to Spriggit and read its YAML or JSON.
178
+ status: inferred
179
+ source: mutagen-modding.github.io/Mutagen docs index ("Mutagen is a C# library for analyzing,
180
+ modifying, and creating Bethesda mods"); every project in the Mutagen repository is a library,
181
+ code generator, test project or WPF app
182
+ tags:
183
+ - mutagen
184
+ - node
185
+ - integration
186
+ - toolchain
187
+ - constraint
188
+ detail: Marked inferred because it is a conclusion from the absence of an Exe project rather than a
189
+ documented statement. Mutagen's GameRelease enum, which is what Spriggit's --GameRelease
190
+ accepts, includes SkyrimSE, SkyrimSEGog, SkyrimLE, SkyrimVR, EnderalSE, Fallout4 and
191
+ Starfield.
192
+ - id: sse.toolchain.xedit-spriggit.synthesis-cli-is-not-released
193
+ claim: Synthesis bundles patchers into a single output plugin named Synthesis.esp and documents a
194
+ run-pipeline CLI, but no CLI binary is published in its releases and it requires the .NET SDK
195
+ rather than just a runtime, because it compiles patchers from source at run time.
196
+ status: community
197
+ source: mutagen-modding.github.io/Synthesis docs index and docs/Synthesis-CLI.md;
198
+ docs/Installation.md ("Be sure to install the SDK; The Runtime alone is not enough for
199
+ Synthesis to compile patchers"); the 0.36.6 release ships only Synthesis.zip
200
+ tags:
201
+ - synthesis
202
+ - patcher
203
+ - cli
204
+ - toolchain
205
+ - constraint
206
+ - id: sse.toolchain.xedit-spriggit.papyrus-source-directory-is-inverted-on-sse
207
+ claim: Skyrim SE's Papyrus source folder is Data\Source\Scripts, not Data\Scripts\Source, which is
208
+ Skyrim LE's. Compiled output goes to Data\Scripts for both.
209
+ status: community
210
+ source: github.com/joelday/papyrus-lang src/papyrus-lang-vscode/src/CreationKitInfoProvider.ts,
211
+ getDefaultPapyrusConfigForGame (skyrim -> '.\\Data\\Scripts\\Source\\', skyrimSpecialEdition
212
+ -> '.\\Data\\Source\\Scripts\\')
213
+ tags:
214
+ - papyrus
215
+ - paths
216
+ - sse-vs-le
217
+ - gotcha
218
+ - scaffold
219
+ - build-step
220
+ detail: Both directories exist on a real SE install because SKSE's readme instructs users to put its
221
+ own .psc files in Data\Scripts\Source. An import path should include both. These are not
222
+ hardcoded - they come from CreationKit.ini's [Papyrus] sScriptSourceFolder, sAdditionalImports
223
+ (which supports a $(source) token), sScriptCompiledFolder and sCompilerFolder.
224
+ - id: sse.toolchain.xedit-spriggit.papyrus-compiler-invocation
225
+ claim: The compiler is <game root>\Papyrus Compiler\PapyrusCompiler.exe and is invoked per script as
226
+ `PapyrusCompiler.exe "<script.psc>" -f="<flags file>" -i="<imports joined by ;>" -o="<output
227
+ dir>" [-op]`, with TESV_Papyrus_Flags.flg as the flags file for both Skyrim LE and SE.
228
+ status: community
229
+ source: github.com/fireundubh/pyro pyro/ProjectBase.py get_compiler_path, pyro/Constants.py class
230
+ FlagsName, and pyro/PapyrusProject.py's argument assembly; corroborated for the flags file by
231
+ papyrus-lang src/papyrus-lang-vscode/src/common/PathResolver.ts
232
+ tags:
233
+ - papyrus
234
+ - compiler
235
+ - cli
236
+ - build-step
237
+ - toolchain
238
+ detail: -release and -final are emitted only for Fallout 4 and Starfield, never for SSE. The
239
+ spellings -all, -q and -optimize are widely repeated but unconfirmed - Pyro emits -op and
240
+ compiles per script, and PapyrusCompiler.exe -h could not be reached because the Creation Kit
241
+ wiki is unavailable.
242
+ - id: sse.toolchain.xedit-spriggit.creationkit-reads-two-ini-files-on-sse
243
+ claim: The Skyrim SE Creation Kit reads CreationKit.ini and CreationKitCustom.ini, where the Skyrim
244
+ LE editor reads SkyrimEditor.ini.
245
+ status: community
246
+ source: github.com/joelday/papyrus-lang src/papyrus-lang-vscode/package.json, the
247
+ papyrus.skyrimSpecialEdition.creationKitIniFiles and papyrus.skyrim.creationKitIniFiles
248
+ defaults
249
+ tags:
250
+ - creation-kit
251
+ - ini
252
+ - sse-vs-le
253
+ - paths
254
+ - id: sse.toolchain.xedit-spriggit.creationkit-version-line-is-1-6-x
255
+ claim: The Skyrim SE Creation Kit's version line is 1.5.x to 1.6.x, with 1.5.73.0, 1.6.1130.0 and
256
+ 1.6.1378.1 currently active. The 2.x "Creation Kit" numbering belongs to Starfield's editor,
257
+ not Skyrim's.
258
+ status: community
259
+ source: github.com/Perchik71/Creation-Kit-Platform-Extended wiki, the supported editor versions
260
+ table, corroborated by the repository's Stuffs/__CreateDatabase_sse_*.bat scripts
261
+ tags:
262
+ - creation-kit
263
+ - version
264
+ - compat-matrix
265
+ detail: CKPE's own SSE patch for the 1.71 plugin format defines the editor's ESL-capacity strings "
266
+ <NOT ESL Capable - no more IDs remaining>" and " <ESL Capable - %d IDs remaining>" alongside
267
+ constexpr float fPluginVersion = 1.71f.
268
+ - id: sse.toolchain.xedit-spriggit.wrye-bash-has-no-headless-mode
269
+ claim: Wrye Bash has no command-line way to build a Bashed Patch. Its entire CLI is path overrides,
270
+ settings backup and restore, UAC flags and a language switch; everything else launches the
271
+ GUI.
272
+ status: community
273
+ source: github.com/wrye-bash/wrye-bash Mopy/bash/barg.py, which parses -o/--oblivionPath,
274
+ -m/--oblivionMods, -p, -u, -l, -b/--backup, -r/--restore, -f/--filename, -q/--quiet-quit,
275
+ --no-uac/--uac, -L/--Language, -n/--unsupported and a deprecated -d/--debug
276
+ tags:
277
+ - wrye-bash
278
+ - cli
279
+ - automation
280
+ - constraint
281
+ - toolchain
282
+ detail: ModWright can detect a Bashed Patch's presence but cannot build or refresh one. The Leveled
283
+ Lists patcher is the one that matters most - it merges changes multiple mods make to the same
284
+ leveled list, which last-loaded-wins would otherwise discard.
285
+ - id: sse.toolchain.xedit-spriggit.bash-tags-come-from-loot
286
+ claim: Wrye Bash's Bash Tags are read, in increasing priority, from the plugin's own header
287
+ description, a bundled taglist.yaml, LOOT's masterlist.yaml, LOOT's userlist.yaml,
288
+ <Game>\Data\BashTags\<plugin>.txt, and finally tags set manually in Wrye Bash.
289
+ status: community
290
+ source: wrye-bash.github.io "Wrye Bash Advanced Readme", section "Bash Tags"
291
+ tags:
292
+ - wrye-bash
293
+ - bash-tags
294
+ - loot
295
+ - masterlist
296
+ - metadata
297
+ detail: This is why a TES4 header parser should surface SNAM - a plugin's description is a real
298
+ metadata channel, not just documentation. Wrye Bash looks for LOOT's files in
299
+ %LOCALAPPDATA%\LOOT\<Game>\ and falls back to its own bundled taglist.
300
+ - id: sse.toolchain.xedit-spriggit.behaviour-and-lod-tools-cannot-be-automated
301
+ claim: Nemesis, Pandora, DynDOLOD and xLODGen cannot be driven unattended. Nemesis must live inside
302
+ <Data>\Nemesis_Engine and is a Qt GUI whose command-line paths end in a blocking getch();
303
+ Pandora always creates a window; DynDOLOD documents no switch that starts or finishes
304
+ generation; xLODGen is xEdit's LODGen mode behind an unconditional modal.
305
+ status: community
306
+ source: github.com/ShikyoKira/Project-New-Reign---Nemesis-Main src/nemesisinfo.cpp, src/main.cpp and
307
+ src/ui/CmdLaunch.cpp; github.com/Monitor221hz/Pandora-Behaviour-Engine-Plus Program.cs and
308
+ App.axaml.cs; dyndolod.info/Help/Command-Line-Argument and /Generation-Instructions;
309
+ github.com/TES5Edit/TES5Edit xEdit/xeMainForm.pas (`if ShowModal <> mrOk then Exit;` on the
310
+ LODGen form)
311
+ tags:
312
+ - nemesis
313
+ - pandora
314
+ - dyndolod
315
+ - xlodgen
316
+ - automation
317
+ - constraint
318
+ - toolchain
319
+ detail: The reason to avoid DynDOLOD is not runtime - its own site says vanilla LOD generation
320
+ "should not take more than 15 minutes or so" - but that there is no way to start or finish it
321
+ from a command line, and "Manually closing DynDOLOD or LODGen while they are still running
322
+ results in incomplete output that can not be used in the game."
323
+ - id: sse.toolchain.xedit-spriggit.xedit-does-not-support-linux
324
+ claim: xEdit's maintainers state on the record that Wine is not a supported environment and that a
325
+ native Linux build is impossible because there is no VCL for Linux. The repository has no CI.
326
+ status: community
327
+ source: github.com/TES5Edit/TES5Edit issues 1069 (closed not_planned, wontfix), 774 ("Wine is not an
328
+ officially supported environment for xEdit", "No, because there is no VCL for Linux") and 1486
329
+ ("We do not and really we cant support Linux in any way shape or form")
330
+ tags:
331
+ - xedit
332
+ - linux
333
+ - wine
334
+ - ci
335
+ - constraint
336
+ - toolchain