Mod dependency resolver. Load order, conflicts, dependency graph for game mods (e.g. Skyrim). Browser or Wails.
  • JavaScript 98.6%
  • HTML 0.8%
  • CSS 0.6%
Go to file
ibotzhub c6448348d8 README: clone URL for hexed
Made-with: Cursor
2026-03-10 13:43:48 -07:00
public Initial commit: ModSmith mod dependency resolver 2026-03-06 10:03:45 -08:00
src Initial commit: ModSmith mod dependency resolver 2026-03-06 10:03:45 -08:00
.eslintrc.cjs Initial commit: ModSmith mod dependency resolver 2026-03-06 10:03:45 -08:00
.gitignore Initial commit: ModSmith mod dependency resolver 2026-03-06 10:03:45 -08:00
index.html Initial commit: ModSmith mod dependency resolver 2026-03-06 10:03:45 -08:00
LICENSE Initial commit: ModSmith mod dependency resolver 2026-03-06 10:03:45 -08:00
package-lock.json Initial commit: ModSmith mod dependency resolver 2026-03-06 10:03:45 -08:00
package.json Initial commit: ModSmith mod dependency resolver 2026-03-06 10:03:45 -08:00
README.md README: clone URL for hexed 2026-03-10 13:43:48 -07:00
vite.config.js Initial commit: ModSmith mod dependency resolver 2026-03-06 10:03:45 -08:00

ModSmith

mod dependency resolver. load order, conflicts, and a dependency graph for game mods (skyrim and that whole scene). runs in the browser or as a Wails desktop app

what you get

Kahn topological sort so load order is correct. conflict detection so you know when two mods fight (disable one and move on). visual graph of what requires what. profiles so you can save and load mod lists by name (localStorage in browser, or a Go backend in Wails). import and export JSON. live warnings for missing deps and cycles

quick start

git clone https://git.hexed.systems/lifelessai/modsmith
cd modsmith
npm install
npm run dev

localhost:5173. hit Sample to load example mods, hit RESOLVE, switch to results for the list or the graph

scripts

npm run dev for the vite server. npm run build for production. npm run preview to test the build. npm run lint for eslint

mod schema

each mod is an object: id, name, version, author (optional), requires (array of mod ids), conflicts (array), tags (UI, Gameplay, whatever). paste a JSON array in the Import tab or in Wails use Open File

Wails

this repo is frontend only. to get native file dialogs and profiles on disk you need a Wails project with a Go backend that exposes ResolveMods, LoadModFile, SaveLoadOrder, ExportJSON, GetProfiles, SaveProfile, DeleteProfile. point the Wails frontend at this app or copy src in. the UI looks for window.go.main.App and uses the backend when its there, otherwise localStorage and the in browser resolver

project structure

modsmith: index.html, package.json, vite.config.js, src (main.jsx, App.jsx, index.css), public. the usual vite react layout

license

MIT