Skip to content

hyperpolymath/grimrepo-scripts

grimrepo-scripts

ReScript 11 Deno 2.x AGPL-3.0 RSR Compliant

ReScript-first userscripts for browser automation with MAAF integration.

1. Overview

grimrepo-scripts provides a collection of browser userscripts built with ReScript for type safety and MAAF (Manifest-Aware Automation Framework) integration.

1.1. Available Scripts

Script Description

GrimCore

Core module with shared utilities for all scripts

AibdpChecker

AIBDP manifest detection and display

GitlabEnhanced

RSR-focused GitLab enhancements

A11yOverlay

Accessibility testing overlay

DarkMode

Universal dark mode with sinople color schemes

1.2. Planned Scripts

  • CitationExtractor - Extract citations from web pages

  • DoiResolver - Quick DOI resolution

  • StateViewer - Pretty-print STATE.scm files

  • NickelPreview - Preview Nickel configs in browser

  • Readability - WASM-powered readability mode

2. Installation

2.1. Prerequisites

2.2. Build from Source

# Clone the repository
git clone https://github.com/hyperpolymath/grimrepo-scripts.git
cd grimrepo-scripts

# Build with Deno
deno task build

# Or use just
just build

2.3. Install Userscripts

After building, install scripts from the dist/ directory:

# List built scripts
ls dist/*.user.js

# Install to Tampermonkey (macOS)
just install-tm

# Or open manually in your userscript manager

3. Development

3.1. Commands

# Using Deno tasks (recommended)
deno task build    # Compile ReScript
deno task dev      # Watch mode
deno task fmt      # Format ReScript files
deno task check    # Type check

# Using just
just build         # Full build (ReScript + bundle)
just dev           # Watch mode
just clean         # Remove build artifacts
just list          # Show available scripts

3.2. Project Structure

grimrepo-scripts/
├── src/
│   ├── core/
│   │   └── GrimCore.res      # Shared utilities
│   └── scripts/
│       ├── aibdp/
│       │   └── AibdpChecker.res
│       ├── code/
│       │   └── GitlabEnhanced.res
│       ├── a11y/
│       │   └── A11yOverlay.res
│       └── content/
│           └── DarkMode.res
├── dist/                      # Built userscripts
├── deno.json                  # Deno configuration
├── rescript.json              # ReScript compiler config
├── justfile                   # Task runner
└── STATE.scm                  # Project state

3.3. ReScript Development

// src/scripts/example/MyScript.res
open GrimCore

let main = () => {
  log("MyScript loaded")

  // Use Greasemonkey APIs
  GM.getValue("setting", "default")
  ->Promise.then(value => {
    log(`Setting: ${value}`)
    Promise.resolve()
  })
  ->ignore
}

let () = main()

4. Integration

4.1. AIBDP (AI Bot Declaration Protocol)

grimrepo-scripts includes the AibdpChecker script for detecting .well-known/aibdp.json manifests on websites:

# Check AIBDP compliance
just check-aibdp

4.2. RSR Ecosystem

Part of the RSR (Rhodium Standard Repository) framework:

5. WASM Support

For performance-critical features, grimrepo-scripts supports WASM modules:

# Build WASM modules (requires Rust)
just build-wasm

6. License

AGPL-3.0-or-later OR Palimpsest-0.5 (dual licensed)

See LICENSE.txt for details.

7. Contributing

Contributions welcome! Please read CONTRIBUTING.md first.

About

Grim repository automation scripts

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 3

  •  
  •  
  •