MCPcopy Index your code
hub / github.com/Sv443-Network/UserUtils

github.com/Sv443-Network/UserUtils @v10.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v10.4.0 ↗ · + Follow
111 symbols 236 edges 23 files 39 documented · 35% updated 22d ago@sv443-network/userutils@10.6.0 · 2026-05-16★ 333 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

UserUtils

General purpose DOM/GreaseMonkey library that allows you to register listeners for when CSS selectors exist, intercept events, create persistent & synchronous data stores, modify the DOM more easily and much more.
Contains builtin TypeScript declarations. Supports ESM and CJS imports via a bundler and global declaration via @require or <script>
The library works in any DOM environment with or without the GreaseMonkey API, but some features will be unavailable or limited.

You may want to check out my template for userscripts in TypeScript that you can use to get started quickly. It also includes this library by default.

If you like using this library, please consider supporting the development ❤️

Code coverage percentage badge Bundle size badge

Discord server badge Github stargazers badge Support development on Github Sponsors badge

> Full documentation on GitHub <

View the documentation of previous major versions:

v9.4.4v8.4.0v7.3.0v6.3.0v5.0.1v4.2.1v3.0.0v2.0.1v1.2.0v0.5.3

[!NOTE]
In version 10.0.0, many of the platform-agnostic features were moved to the CoreUtils library.
Everything in CoreUtils is re-exported by UserUtils for backwards compatibility, so installing both at the same time isn't usually necessary.
Beware that when both are installed, class inheritance between the two libraries will only work if the installed version of CoreUtils matches the version of CoreUtils that is included in UserUtils (refer to package.json), so that the final bundler is able to deduplicate them correctly. See also const versions

Feature Summary:

Extension points exported contracts — how you extend this code

DialogOptions (Interface)
(no doc)
lib/Dialog.ts
TrObject (Interface)
(no doc)
lib/translation.ts

Core symbols most depended-on inside this repo

add
called by 34
lib/Mixins.ts
getValue
called by 11
lib/GMStorageEngine.ts
resolve
called by 9
lib/Mixins.ts
getSiblingsFrame
called by 8
lib/dom.ts
list
called by 5
lib/Mixins.ts
close
called by 5
lib/Dialog.ts
checkAllSelectors
called by 4
lib/SelectorObserver.ts
unmount
called by 4
lib/Dialog.ts

Shape

Function 54
Method 43
Class 12
Interface 2

Languages

TypeScript100%

Modules by API surface

lib/Dialog.ts19 symbols
lib/translation.ts18 symbols
lib/dom.ts14 symbols
lib/SelectorObserver.ts14 symbols
lib/Mixins.ts9 symbols
lib/GMStorageEngine.ts7 symbols
tools/umdWrapperPlugin.mjs6 symbols
test/TestPage/index.js4 symbols
lib/Mixins.spec.ts4 symbols
lib/GMStorageEngine.spec.ts4 symbols
tsup.config.mjs3 symbols
lib/dom.spec.ts3 symbols

For agents

$ claude mcp add UserUtils \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact