Skip to content

hyperpolymath/grimrepo-scripts

grimrepo-scripts

Palimpsest

ReScript 11 Deno 2.x 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

PMPL-1.0-or-later OR Palimpsest-0.5 (dual licensed)

See LICENSE.txt for details.

7. Contributing

Contributions welcome! Please read CONTRIBUTING.md first.

Sponsor this project

Packages

No packages published

Contributors 3

  •  
  •  
  •