Start typing to search packages!
datastore-inspector
By @dev-nl
Roblox
MirroredDataStore Inspector & Editor
A ProfileService-aware, safety-first DataStore editor for Roblox Studio. It snapshots and diffs before every write, understands ProfileService profile/session structure, and gives you one-click rollback — so you can debug and migrate live player data without nuking it.
[image: demo]
Why this exists
Roblox already has good free DataStore editors — DataDelve is excellent and general-purpose. This plugin is deliberately narrower: it's the safety-first, ProfileService-aware option. Every write is snapshotted and diffed first, it warns you about active session locks, and (in the Pro build) it validates data against a schema before you commit it. If you've ever edited a production key and immediately regretted it, this is for you.
This repository is the free, open-source core (MIT). The advanced Pro features ship as a separate paid build on the Creator Store — see Pro features.
Safety guarantees
The core write pipeline (WriteGuard) holds four invariants. They're enforced in code and covered by the headless test suite (tests/run.luau), which drives WriteGuard end-to-end against a mock DataStore:
- No write happens without a successful pre-edit snapshot.
- No write happens until you confirm the diff.
- No write clobbers a concurrent change (writes are version-guarded).
- A failed write leaves the value unchanged and the snapshot recoverable.
Features
Free (this repo)
- Browse DataStores and OrderedDataStores: store → key → value, paginated, with key/name autocomplete.
- Pretty-printed JSON view; tree and raw-JSON edit modes.
- Automatic pre-edit snapshot + diff preview before every write.
- One-click restore last snapshot.
- Per-key JSON export, and validated, snapshot-first JSON import.
- Buffer (hex) view.
- ProfileService detection + active-session-lock warnings.
Pro (separate paid build)
- ProfileService-native tooling: structure decode, session-lock-aware editing, and guided migrations (add / rename / change type / backfill default across keys).
- Schema validation (declare a shape; block writes that violate it).
- Snapshot history with configurable retention + rollback to any entry.
- Audit log, bulk operations, multi-environment (dev/test/prod), and Open Cloud backups.
The full FREE-vs-PRO breakdown is in masterplan.md.
Install
From the Creator Store (recommended)
Install from the listing, then open the toolbar button under the Plugins tab. (Link added at launch.)
From source (for development)
Requires Rokit (or Aftman) + Rojo + Wally.
# 1. install the pinned toolchain (rojo, wally, stylua, selene)
rokit install
# 2. fetch dependencies
wally install
# 3. build straight into Studio's local plugins folder
rojo build plugin.project.json --plugin DataStoreInspector.rbxm
For live iteration, run rojo serve plugin.project.json and connect from the Rojo Studio plugin.
Editing DataStores from Studio requires Studio Access to API Services to be enabled for the target place (Game Settings → Security).
Usage
- Open the DataStore Inspector widget from the toolbar.
- Pick a DataStore, then a key — the value loads read-only first.
- Click Edit, change the value, and review the diff. A snapshot is taken automatically.
- Confirm to write. If something looks wrong afterward, hit Restore last snapshot.
Project structure
src/plugin/ UI only (toolbar, docked widgets) — thin, renders state, emits intents
src/core/ logic: clients, safety (snapshot/diff/WriteGuard), retry/backoff, profileservice
src/serde/ pure JSON encode/decode/validate + Luau<->JSON normalization (no Roblox deps)
docs/ README assets, design notes
examples/ sample DataStore + ProfileService fixtures (tests + manual QA)
/src/plugin never touches DataStoreService directly — all access goes through interfaces in /src/core, which keeps the logic testable and the Open Cloud split clean. Architecture and roadmap details live in masterplan.md.
Development
wally install # dependencies
stylua src tests # format
selene src tests # lint
# run the TestEZ specs with your runner of choice
CI runs StyLua + Selene + tests on every push.
Contributing
Issues and PRs are welcome — bug reports for the free core especially. Please run StyLua, Selene, and the test suite before opening a PR. See CONTRIBUTING.md.
License
MIT. The Pro build and its modules are not covered by this license and are distributed separately.
Package Details
Install command (Click to copy)
Version
0.1.0
License
MIT
Safe for commercial use
Automated license review — not legal advice.
