Preview

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

terminal
$ g-gremlin dynamics doctor --json
✓ pac CLI:    1.35.6
✓ Auth:       [email protected] (Public)
✓ Solutions:  12 found
Status: ok
terminal
$ 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
terminal
$ 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.
terminal
$ 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

1

Doctor

Verify pac CLI is installed, authenticated, and can reach the target environment.

2

Snapshot

Export the current solution into a deterministic manifest with file hashes and category summaries.

3

Pack Plan

Compare your local solution folder against the remote. Lock baseline + toolchain fingerprints.

4

Pack Apply

Pack, import, optionally publish. Full artifact capture: before/after snapshots, pac logs, plan.json.

5

Compare

Diff before and after manifests. See exactly what changed at the file and category level.

6

Smoke

Run assertions: solution exists, correct version, tables present, workflows active.

Dynamics MCP Server

New

Give 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 Server

Ready to try it?

Start with the Gremlin CLI free trial. Run your first Dynamics snapshot in under five minutes.