reddit-mod-oss / context-mod-devvit Public
Watch 142 Fork 38 Star 1.2k
buildpassing licenseMIT devvit0.11.x parity96% mod-time-saved-34% governancecommunity data-apideprecated
README.md

context-mod-devvit

A community-owned Devvit port of FoxxMD/context-mod — same YAML rules, same behavior, new runtime. Rescues the bot from Reddit Data API sunset and hands stewardship to a neutral OSS org.

Governance handoff: Original author @FoxxMD (MIT) has signed off on community stewardship. This repo is the canonical Devvit fork. See GOVERNANCE.md and CODEOWNERS. No single maintainer holds the keys.

Why this exists

Reddit's Data API deprecation orphans every PRAW-era moderation bot. ContextMod runs author-history and activity-pattern rules on dozens of ≥500 WAU subs — losing it means hours/week of manual modqueue triage returns. This port preserves the YAML config contract verbatim, so existing rule-sets keep working.

Quick start

# 1. clone the rescue fork
git clone https://github.com/reddit-mod-oss/context-mod-devvit
cd context-mod-devvit

# 2. migrate your legacy contextmod.yaml in-place
npx contextmod-migrate ./legacy/contextmod.yaml \
  --out ./devvit/rules.yaml --report parity.json

# 3. install on your sub (≥500 WAU)
devvit upload && devvit install r/your-sub

Functional parity

Legacy moduleDevvit equivalentStatus
YAML rules enginesrc/engine/loader.tsparity
Author history checkonPostSubmit triggerparity
Activity pattern (window)Devvit Redis stateparity
Modqueue actionsModAction.approve/removeparity
Webhook notifierNative Reddit DMre-scoped
Telemetry (time-saved)scheduler/metrics.tsnew

Parity coverage 96%, measured against FoxxMD/context-mod v0.10.6 rule fixtures. See parity-report.json.

Telemetry: moderator time saved

  • Mod-action latency p50: 11.2s → 0.6s (legacy webhook → Devvit trigger)
  • Modqueue dwell time on host sub (r/example, 47k WAU): −34% over 7-day rolling window
  • Hosting cost to maintainer: $24/mo → $0 (runs on Reddit infra)

Governance snippet (GOVERNANCE.md)

# Governance

## Maintainers
- @FoxxMD          (founder, emeritus, advisory)
- @reddit-mod-oss/stewards  (3 active mods, rotating)

## Decision process
- Bug fixes: 1 maintainer LGTM, merge.
- Behavior change: RFC issue, 7-day comment window,
  2 maintainer LGTM + 0 vetoes from CODEOWNERS.
- Breaking YAML schema: RFC + migration script
  REQUIRED before merge. No exceptions.

## Succession
Any maintainer inactive 90 days rotates to emeritus.
New stewards nominated by issue, ratified by majority.

Recent commits

FX
FoxxMD signed off on stewardship handoff (LICENSE-HANDOFF.md)
a3f2c912h ago
MS
modsteward port author-history rule to Devvit Redis backend
7e1d4b85h ago
RM
r-modtools add parity-report.json + telemetry baseline
c08aa121d ago
KS
kseju-port initial Devvit scaffold from FoxxMD/context-mod@v0.10.6
11020ef3d ago

Contributing

Read CONTRIBUTING.md. File an issue before opening a PR for behavior changes. We rebase, we don't squash — commit history is the audit trail.