Flowline 0.8.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global Flowline --version 0.8.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Flowline --version 0.8.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Flowline&version=0.8.0
                    
nuke :add-package Flowline --version 0.8.0
                    

Flowline

<table> <tr> <td>

Flowline is a Dataverse ALM CLI — structured workflow, Git-tracked solutions, and a fast push to DEV without the enterprise overhead.

Docs CI NuGet NuGet downloads

</td> <td width="120" align="right" valign="top">

Flowline CLI

</td> </tr> </table>


PAC CLI gives you the primitives — Flowline gives you the workflow.

A professional Git-based workflow for plugin developers and solution architects, without the overhead of Power Platform Pipelines or managed solutions. clone → push → sync → deploy, from the inner dev loop to production, in one tool.

Where PAC CLI already handles it, Flowline wraps — it doesn't re-implement. Where PAC has no answer, Flowline fills the gap.

Familiar with spkl? Flowline is its actively maintained successor (last meaningful commit 2021).

What sets Flowline apart:

  • Attribute-driven plugin registration — decorate your IPlugin classes with [Step], [Filter], [CustomApi]; Flowline reads the assembly and handles every Dataverse registration. No Plugin Registration Tool, no spkl.json, no boilerplate.
  • Web resource dependencies auto-wired — RESX files linked to parent JS by base name; // flowline:depends for JS-to-JS; registered on every push. No Maker Portal visits, no manual dependency trees.
  • Orphan cleanup built in — steps, step images, and web resources missing from source are deleted from Dataverse on every push. deploy cleans up removed solution components too. No stale registrations, no ghost records. Use --no-delete to opt out.
  • AI-native schema contextsync writes DATAVERSE_CONTEXT.md with your full schema (entities, attributes, option sets, forms, views, plugin steps); Claude Code, Copilot, and Codex load it automatically via AGENTS.md. Your AI assistant knows your field names without live queries.
  • Human-readable sync summarysync translates the XML diff into plain language: what changed, what was added, what was removed — attribute-level detail included. You know exactly what happened before you commit.
  • Scaffolded WebResources projectclone creates a TypeScript + Rollup project wired to push from day one. No boilerplate, no manual configuration. Swap in any bundler you prefer.
  • Dry-run before you touch anything--dry-run shows exactly what would change before a single Dataverse record is touched. Run it as a CI safety gate or any time you want confidence. No other Dataverse ALM tool offers this.
  • Zero-friction auth — reuses the PAC CLI profiles you already have. Switch environments by switching profiles. Works in CI with service principals out of the box.
  • One-command environment provisioningprovision copies PROD to a fresh DEV or TEST environment. No admin center clicks, no configuration drift.

flowline sync summary

Pipelines are buried steel — permits, compressors, years to commission. A flowline goes where the pipeline can't.


Install

dotnet tool install --global Flowline

Prerequisites: .NET SDK (8 or later), Git, and PAC CLI:

dotnet tool install --global Microsoft.PowerApps.CLI.Tool

If .NET 10 is installed, Flowline uses dnx — no separate PAC CLI install needed.

Authenticate before using Flowline:

pac auth create --environment https://your-org.crm4.dynamics.com

Quick start

# Bootstrap an existing solution into the repo
flowline clone ContosoSales --prod https://contoso.crm4.dynamics.com

# Daily dev loop
flowline push
flowline sync
git commit -m "feat: add validation"

# Promote
flowline deploy test
flowline deploy prod

For full setup, auth, and project workflow: Getting Started


Commands

Command What it does
clone <solution> Bootstrap an existing solution from Dataverse into the repo
push [solution] Build and sync code assets to DEV; or push standalone with --pluginFile / --webresources
sync [solution] Pull the current solution state from DEV into source control
deploy <target> Pack from the repo and import into test, uat, prod, or a URL
provision [dev\|test] Provision a DEV or TEST environment by copying from production
generate [solution] Generate early-bound C# types into Plugins/Models/ (configurable with --output)
status Show environment info, Flowline version, and PAC CLI status

Plugin attributes NuGet: Flowline.Attributes — add to your plugin project to use [Step], [Filter], [CustomApi], and friends — full reference: Plugin Registration

See the Wiki for the full documentation.

Coming from another tool? Migration from spkl · Migration from Daxif · Migration from PACX

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.18.0 99 8/26/2026
0.17.0 192 8/16/2026
0.16.0 103 8/7/2026
0.15.0 114 8/3/2026
0.14.0 114 7/31/2026
0.13.0 107 7/24/2026
0.12.0 115 7/17/2026
0.11.0 121 7/15/2026
0.10.0 129 7/12/2026
0.9.0 129 7/5/2026
0.8.0 129 6/29/2026
0.7.0 136 6/21/2026
0.6.0 143 6/5/2026
0.5.0 134 5/29/2026
0.4.0 147 5/7/2026
0.3.0 119 5/5/2026
0.2.0 146 4/19/2026
0.1.0 214 6/28/2025