Dynamics 365 / Dataverse
CLI-powered solution orchestration on top of Microsoft's pac CLI. Deterministic receipts, plan locking, drift detection, and destructive intent gating — without replacing your existing ALM toolchain.
What You Get
Deterministic Receipts
Every pack apply produces a timestamped artifact bundle: before/after snapshots, manifest.json (file hashes + category summaries), compare.json, raw pac stdout/stderr logs, and a SUMMARY.md.
Plan Locking
Plans record a baseline fingerprint (SHA-256 of the remote manifest) and a toolchain fingerprint (pac version + capabilities). Apply fails fast if either drifts.
Drift Detection
Run g-gremlin dynamics drift at any time to compare your local solution folder against the remote environment. See exactly what changed, by category.
Destructive Intent Gating
--force-overwrite on import and --allowDelete on unpack are dual-key gated: declare intent in destructive.yaml AND enable the flag in pack.yaml. No accidental overwrites.
Smoke Assertions
Define post-apply checks in pack.yaml: solution exists, version >= X, table exists, workflow active. Failed assertions exit non-zero for CI/CD.
Full pac Log Capture
Raw stdout/stderr from every pac subprocess call is saved to pac_logs/ inside the artifact bundle. Debug failures without re-running.
What We Are NOT
Not replacing Microsoft ALM Accelerator.
We wrap pac CLI, not reimplement it. If you already use ALM Accelerator or Azure DevOps pipelines, g-gremlin adds receipts and safety on top.
Not reimplementing Dataverse APIs.
We don't call Dataverse Web API directly. We wrap documented pac operations — no private APIs.
Not a UI for Power Platform.
g-gremlin is terminal-native. It's designed for AI agents and CI/CD — not for clicking through make.powerapps.com.
Example Flows
$ g-gremlin dynamics doctor --json ✓ pac CLI: 1.35.6 ✓ Auth: [email protected] (Public) ✓ Solutions: 12 found Status: ok
$ g-gremlin dynamics snapshot --solution MySolution --out ./baseline Snapshot written to ./baseline 49 files | entity: 5 form: 12 view: 8 workflow: 3 webresource: 15 other: 6
$ g-gremlin dynamics pack plan . +3 files -1 file ~5 changed entity: +1 ~2 | webresource: -1 ~1 | form: ~2 $ g-gremlin dynamics pack apply . --yes Applied. Artifacts: ./artifacts/20260128T153000Z/ SUMMARY.md written.
$ g-gremlin dynamics compare-snapshots ./baseline ./artifacts/*/after_snapshot Solution: MySolution Version: A=1.0.0.5 B=1.0.0.6 Files: +3 -1 ~5
How It Works
Doctor
Verify pac CLI is installed, authenticated, and can reach the target environment.
Snapshot
Export the current solution into a deterministic manifest with file hashes and category summaries.
Pack Plan
Compare your local solution folder against the remote. Lock baseline + toolchain fingerprints.
Pack Apply
Pack, import, optionally publish. Full artifact capture: before/after snapshots, pac logs, plan.json.
Compare
Diff before and after manifests. See exactly what changed at the file and category level.
Smoke
Run assertions: solution exists, correct version, tables present, workflows active.
Dynamics MCP Server
NewGive Claude Desktop, Cursor, or Windsurf direct Dataverse access with 16 MCP tools. Query tables, describe schemas, and create/update/delete records and tables — all behind plan-hash verification.
See the MCP ServerReady to try it?
Start with the Gremlin CLI free trial. Run your first Dynamics snapshot in under five minutes.