A CLI tool for Business Central developers and their agents. Compile, publish, and test AL applications from any platform (macOS, Linux, Windows). Works the same against BC SaaS sandboxes, hosted dev environments like Alpaca or your own local containers - no need for BCContainerHelper or remote powershell on the BC server.
bcdev test \
-launchJsonPath "/path/to/.vscode/launch.json" \
-launchJsonName "Your Config Name" \
-Username "bcuser" \
-Password "bcpassword" \
-CodeunitId 50100 \
-MethodName "TestSalesOrderCreation"bcdev compile \
-appJsonPath "/path/to/app.json"
# With compiler options
bcdev compile \
-appJsonPath "/path/to/app.json" \
-parallel \
-maxDegreeOfParallelism 4bcdev publish \
-appPath "/path/to/MyApp.app" \
-launchJsonPath "/path/to/.vscode/launch.json" \
-launchJsonName "Your Config Name" \
-Username "bcuser" \
-Password "bcpassword"NuGet mode (default):
# Download symbols from NuGet feeds (no BC server required)
bcdev symbols -appJsonPath "/path/to/app.json"
# With country-specific packages (e.g., US, DE, DK)
bcdev symbols -appJsonPath "/path/to/app.json" -country usServer mode (opt-in):
bcdev symbols \
-appJsonPath "/path/to/app.json" \
-fromServer \
-launchJsonPath "/path/to/.vscode/launch.json" \
-launchJsonName "Your Config Name" \
-Username "bcuser" \
-Password "bcpassword"Compile an AL application.
| Option | Required | Description |
|---|---|---|
-appJsonPath |
Yes | Path to app.json file |
-packageCachePath |
No | Path to .alpackages folder |
-suppressWarnings |
No | Suppress compiler warnings from output |
-generateReportLayout |
No | Generate report layout files |
-parallel |
No | Enable parallel compilation |
-maxDegreeOfParallelism |
No | Max concurrent compilation tasks |
-continueBuildOnError |
No | Continue building even if errors found |
Publish an AL application to Business Central.
| Option | Required | Description |
|---|---|---|
-appPath |
Yes | Path to .app file |
-launchJsonPath |
Yes | Path to launch.json |
-launchJsonName |
Yes | Configuration name |
-Username |
Yes* | Username |
-Password |
Yes* | Password |
*Required for UserPassword auth
Run tests against Business Central.
| Option | Required | Description |
|---|---|---|
-launchJsonPath |
Yes | Path to launch.json |
-launchJsonName |
Yes | Configuration name |
-Username |
Yes* | Username |
-Password |
Yes* | Password |
-CodeunitId |
No | Specific test codeunit ID |
-MethodName |
No | Specific test method name |
-testSuite |
No | Test suite name (default: DEFAULT) |
-timeout |
No | Timeout in minutes (default: 30) |
Download symbol packages for compilation dependencies. By default, downloads from Microsoft's public NuGet feeds (faster, works offline/CI). Optionally download from a BC server with -fromServer.
| Option | Required | Description |
|---|---|---|
-appJsonPath |
Yes | Path to app.json file |
-packageCachePath |
No | Output folder (defaults to .alpackages next to app.json) |
-country |
No | Country code for localized symbols (e.g., us, de, dk). Default w1 uses country-less packages |
-fromServer |
No | Download from BC server instead of NuGet feeds |
-launchJsonPath |
No* | Path to launch.json |
-launchJsonName |
No* | Configuration name |
-Username |
No** | Username |
-Password |
No** | Password |
*Required with -fromServer
**Required for UserPassword auth with -fromServer