$ whoami
Stefan Maroń — Independent Business Central Developer · Microsoft MVP
$ history | tail -3
2016 started on NAV, back in the C/AL era
2022 went independent
2024 named Microsoft MVP for Business Central
$ ls credentials/
LinterCop.al BCQF.md linux-since-2023.logBefore the code, I trained in accounting and business organization — that's part of why I still think in posting flows and cost centers before I think in code, and part of why I keep pushing BC into places Microsoft didn't design it to run.
- 🔨 Building — test coverage and a watch mode for AL Runner (v2.3), and tightening up the BCQF methodology behind my code reviews
- 🌱 Exploring — grounding AI coding agents in real BC source with bc-code-atlas, an MCP server for AL dependency and implementation lookups
- 💬 Ask me about — running BC on Linux, fast AL test pipelines, or static analysis for AL
Run the unmodified BC service tier on Linux via a .NET startup hook that redirects Win32 P/Invokes, stubs HttpSys → Kestrel, and patches ~20 Windows-only runtime assumptions — all at boot, without touching a single Microsoft binary.
git clone https://github.com/StefanMaron/MsDyn365Bc.On.Linux
cd MsDyn365Bc.On.Linux && docker compose up -d --wait
# BC is live in ~5 min. No Windows. No VM.Run AL unit tests without a BC service tier, Docker, or SQL Server. Transpiles your AL to C# via the BC compiler's public API, rewrites BC runtime types to in-memory mocks with Roslyn, and executes test codeunits directly — once dependencies are downloaded and the app is compiled, each test run itself takes milliseconds.
dotnet tool install --global MSDyn365BC.AL.Runner
al-runner ./src ./test
# first run downloads dependencies and compiles — later runs are near-instantPull Request
│
├─ al-runner (seconds) — catches AL logic bugs fast
└─ Full BC pipeline (45+ min) — full fidelity, only when needed
A queryable window into BC's AL source and official docs — semantic search, a structural call graph, and dependency lookups behind one MCP endpoint. Point a coding agent at it and ask where BC validates a sales order before posting, or what subscribes to a given event, and get an answer grounded in Microsoft's actual base-application source, not a guess from training data.
| Project | What it does | Stars |
|---|---|---|
| MSDyn365BC.Sandbox.Code.History | Builds on sandbox artifacts instead of on-prem, so it picks up hotfixes and updates daily | |
| MSDyn365BC.Code.History | The original on-prem source history, updated monthly |
I do independent Business Central consulting for BC partners and ISVs across Europe — see stefanmaronconsulting.com for details.
- Extension code review — 5–10 days, with an optional compliance report against ISO/IEC 5055
- Custom AL development & third-party integrations — banking, e-commerce, field service, business automation — project or retainer, EU-wide
- Developer training — AL fundamentals, upgrade-safe patterns, AI-assisted workflows — half-day or full-day, for teams of 2–10
- DevOps & tooling — GitHub Actions / AL-Go setup, static analysis wired into CI as a quality gate
I also wrote the Business Central Quality Framework (BCQF), a versioned extension of ISO/IEC 5055:2021 for AL and Business Central, and I'm the original author of LinterCop, the first community-driven AL static analyzer (now part of the broader ALCops initiative).
Public GitHub activity — my own repos and contributions to others, refreshed daily. Commit counts run through a lot of AI-assisted sessions these days, so treat them as an activity signal, not a productivity one.
| Commits (public) | PRs opened | PRs merged | Issues opened | Stars earned |
|---|---|---|---|---|
| 3889 | 1465 | 1393 | 1723 | 925 |
- 🔒 Closed issue #3601 in StefanMaron/BusinessCentral.AL.Runner
- 🎉 Merged PR #3616 in StefanMaron/BusinessCentral.AL.Runner
- 🗣 Commented on #3618 in StefanMaron/BusinessCentral.AL.Runner
- 🗣 Commented on #296 in StefanMaron/BusinessCentral.AL.Language.Tests
- 🔒 Closed issue #3600 in StefanMaron/BusinessCentral.AL.Runner
- 🎉 Merged PR #3615 in StefanMaron/BusinessCentral.AL.Runner
- 🗣 Commented on #3416 in StefanMaron/BusinessCentral.AL.Runner
- ℹ️ Labeled issue #3622 in StefanMaron/BusinessCentral.AL.Runner
📝 Latest posts from stefanmaron.com
-
AL Language Tests: An Executable Spec for How BC Actually Behaves
-
AL Runner: Testing Against Real Cronus Data, Debugging Restored, and Mutation-Ready Coverage
-
Introducing bcdb: Read a Business Central Backup Without SQL Server
🎥 Latest from my live-coding channel
📊 GitHub stats
- 🌐 stefanmaron.com — blog
- 🧰 stefanmaronconsulting.com — consulting services
- 🐦 @StefanMaron on X
- 🦋 @stefanmaron.com on Bluesky
- 🎥 YouTube — irregular live-coding streams
If you're doing BC development and want faster feedback loops or a Linux-native stack — you're in the right place.





