Episode 513: No Windows, No IDE, No Problem: BC Development from the Terminal
Dynamics Corner episode 513 covers terminal-based, AI-driven Business Central AL development with Claude Code on Linux, plus a third-party AL code review service built on an ISO 5055-based analyzer. It also shows a prototype of Business Central running in Linux Docker containers.
- Introduction and keeping up with rapid change
- Challenges of staying current with new features
- Imposter syndrome and rapid feature introduction
- Introducing Stefan Moran and code review service
- AI-assisted development and code review needs
- Business Central unique constraints and framework considerations
- Code review service methodology and analyzer framework
- Two-level code review offering and expert service
- Lint cop roots and risk of vibe coding in business applications
- Risk assessment for AI-assisted development in production
- Cloud code workflow and AL instruction context management
- Plugin architecture and Flow Next agent workflow approach
- File-based context strategy for multi-agent development
- AL instructions development and iterative improvement process
- Evolution from commands to skills in agent orchestration
- Re-engineering frameworks and staying current with features
- Finding use cases: problem-driven learning approach
- Building momentum through small tasks and workflows
- AI-generated code workflow and minimal VS Code usage
- Review process and pragmatic tool selection
- Parallel processing and terminal-based development workflow
- Cloud code integration and Linux development
- Cross-platform development: Mac, Linux, and CLI
- Handling reports and Windows VMs in Linux environments
- Custom Bash scripts and publishing workflow
- Docker containers and Linux Business Central project
- Testing and standalone code execution
- Performance and pipeline benefits
- AI-assisted development and testing
- Test-driven development with Linux
- Context switching and mental load
- Future of code generation and language independence
- Human-readable code and AI optimization
- Developers as early adopters of AI tools
- AI thinking, interaction design, and hallucination
- Statistics, LLMs, and the history of computing
- Linux Business Central container project and GitHub
- Closing remarks and presenter contact information
Overview
The episode has two guests’ topics. First, Stefan Moran describes a code review service for AL code. It has a free automated assessment from a proprietary analyzer and a paid detailed review. The analyzer maps about 170 ISO 5055 rules to AL, adds Business Central specific rules, and runs roughly 1500 automated tests. The motivation is that more AI-generated solutions are going into production and some people may want an outside opinion on quality.
Second, the presenter describes a workflow where nearly 100 percent of code is AI-generated, using Cloud Code from the terminal with little VS Code. It uses AL instructions in a plugin, file-backed sub-agents that return only summaries, bash wrappers for compiling and publishing, and test-first development with an approval gate. He also demonstrates a fragile prototype that runs Business Central and its tests in Linux Docker containers, aimed at faster pipelines. The talk ends with speculation on language-independent code generation.
Key points
- The code review service has a free automated assessment and a paid detailed review. The analyzer maps about 170 ISO 5055 rules to AL, leaves out rules such as memory exploits, and adds custom Business Central rules.
- The speaker says he is approaching 100% AI-generated code but reviews and tests everything. He finds cleanup with existing quick fixes and community tools faster and more reliable than having AI do it.
- Context management approach: sub-agents write results to files and return only a summary to the main agent, so sessions can be stopped and resumed from disk.
- AL instructions are packaged as a plugin and are refined by trial and error on real projects. Commands are described as a little deprecated in favor of skills, which can force a sub-agent to be spawned.
- Helper scripts: an al-compile bash wrapper around the AL compiler, and a bc-publish command that uses curl against the deployment API.
- Test-driven approach: tests are written and must fail before code is generated, and a manual approval gate follows. The speaker calls this the only way he found to trust AI output without reviewing every line.
- The Linux Business Central container project runs a service tier with SQL Server in Docker, with a Linux-compatible HTTP replacement. The speaker calls it fragile and still in progress, and it is public on his GitHub. Windows users should prefer BC container helper.
Features
| Feature | Status | At |
|---|---|---|
| Code review service | status not stated | 7:30 |
| AL code analyzer | status not stated | 12:23 |
| AI-assisted development in Business Central | status not stated, demoed | 7:30 |
| Cloud Code AL development workflow | status not stated, demoed | 19:15 |
| Flow Next file-backed agent workflow | status not stated, demoed | 21:15 |
| Multi-agent context management strategy | status not stated, demoed | 24:05 |
| Iterative AL instruction refinement | status not stated | 25:16 |
| Commands framework | status not stated | 28:49 |
| Skills framework | status not stated | 29:07 |
| Problem-driven feature adoption | status not stated | 32:23 |
| Parallel project development | status not stated | 40:29 |
| Terminal UI and File Explorer Navigation | status not stated, demoed | 41:35 |
| Arch Linux Development Environment | status not stated, demoed | 43:33 |
| Windows VM for Reporting | status not stated, demoed | 45:29 |
| Windows VM Running in Linux Docker Container | status not stated, demoed | 45:40 |
| AL Compiler Bash Script Wrapper | status not stated, demoed | 47:44 |
| Publishing via Curl CLI Command | status not stated | 48:41 |
| Docker Containers for Business Central on Linux | status not stated, demoed | 49:57 |
| Standalone Codeunit Execution Without Service Tier | status not stated, demoed | 51:32 |
| C# HTTP Implementation Replacement for Linux Compatibility | status not stated, demoed | 52:20 |
| Local Linux Service Tier Execution | status not stated, demoed | 53:15 |
| Automated CLI-based Test Execution | status not stated, demoed | 56:30 |
| Test-driven Development with AI Code Generation | status not stated | 55:49 |
| OData-based Test Exposure | status not stated | 1:00:43 |
| AI-driven code generation and language abstraction | status not stated | 1:05:02 |
| Machine-optimized programming languages | status not stated | 1:06:53 |
| Linux Business Central container project | status not stated | 1:14:11 |
| Business Central source code history repository | status not stated | 1:15:38 |
AL objects mentioned
As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.
- other “ISO 5055 standard” at 13:06
- other “analyzer” at 12:38
- other “lint cop work” at 15:37
- other “air cops initiative” at 15:37
- codeunit “code unit” at 51:52
- other “cloud code” at 52:20
- other “BC container helper PowerShell scripts” at 59:30
- other “management API” at 1:00:43
- other “AL objects” at 1:13:08
Not found in BC28-30: codeunit “code unit”.
Quotes
- 3:33 “I I want to keep up and I feel I I have to keep up with everything”
- 3:44 “if you would skip a few things and a few obsolet cycles of new features, you would probably still need to get up to”
- 8:15 “more and more solutions are getting used and deployed and everything put into production which are really nearly 100”
- 8:33 “maybe there would be a need for people to have an opinion or to to buy an opinion basically from somebody who is not”
- 10:40 “we are a little bit more constrained with things that are uh outside of the coding frame a little bit with the runtime with”
Disclaimers in the video
- 13:43 subject-to-change: working on that and the review basically is a a a sum of all of that basically every everything gets …
- 25:00 subject-to-change: Memory feature existence and function discussed as unclear and not fully understood
- 28:37 subject-to-change: I’m I’m in the middle of reworking it again. Also for the stream approach with the containers and everything
- 50:44 preview: it’s almost working, but pretty fragile if I may say so
- 53:25 subject-to-change: Now I’m still working on making this a little bit more stable
- 53:25 preview: I’m still working on making this a little bit more stable, but I have like automated tests where like 270 …
- 1:14:28 preview: It’s already public if you want to have a look on my on my GitHub profile. should be the top …
Presenters (as heard): Stefan Moran, Chris, Brad, Claus Khan.
