-
-
Notifications
You must be signed in to change notification settings - Fork 0
01 Getting Started
Flowline runs on Windows, Mac, and Linux. Mac and Linux support is expected to work but not yet officially tested — if you hit a platform-specific issue, please open an issue.
On Windows, winget is also available for PAC CLI: winget install Microsoft.PowerAppsCLI
If .NET 10 is installed, Flowline invokes PAC via dnx — no separate PAC CLI install needed.
dotnet tool install --global FlowlineAuthenticate PAC CLI against your Dataverse environment before using Flowline:
pac auth create --environment https://your-org.crm4.dynamics.comFlowline reuses the PAC CLI token cache — no separate auth step needed. See 02-Authentication for multi-environment setup and CI/CD service principal auth.
Use this when a solution already exists in Dataverse and you want to bring it under source control.
# Create a Git repo
mkdir contoso-flowline
cd contoso-flowline
git init
# One-time: bootstrap the solution into the repo
flowline clone ContosoSales --prod https://contoso.crm4.dynamics.com
# Daily dev loop
flowline push # push code assets to DEV
flowline sync # pull Dataverse changes back to source
git commit -m "feat: add validation"
# Promote
flowline deploy test
flowline deploy prodclone creates the full project structure, unpacks the solution XML per component, scaffolds the Plugins and WebResources projects, writes AGENTS.md, and generates the initial DATAVERSE_CONTEXT.md.
Use this when starting a new solution from scratch.
# Create a Git repo
mkdir contoso-flowline
cd contoso-flowline
git init
# Create publisher and solution in Dataverse, scaffold local structure
flowline init ContosoSales --prod https://contoso.crm4.dynamics.com
# Then follow the same daily loop as above
flowline push
flowline sync.flowline # environment URLs and solution config
└── solutions/
└── ContosoSales/
├── DATAVERSE_CONTEXT.md # schema snapshot for AI agents (auto-generated)
├── ContosoSales.sln
├── Package/ # PAC-managed — do not edit manually
│ ├── Package.cdsproj
│ └── src/ # unpacked solution XML
├── Plugins/ # plugin assembly project
│ ├── Plugins.csproj
│ └── Models/ # early-bound C# types (flowline generate)
├── WebResources/ # web resource files
│ └── dist/ # synced to Dataverse by push
└── artifacts/ # deployment zips (generated by deploy)
Files under WebResources/dist/ are synced to Dataverse by flowline push.
Use provision once when setting up a new environment from PROD:
flowline provision dev --prod https://contoso.crm4.dynamics.com
flowline provision test --prod https://contoso.crm4.dynamics.com