ALCops: The Story So Far

Back in February I published ALCops: The Next Chapter of LinterCop, introducing ALCops: a community-driven collection of code analyzers for the AL programming language of Microsoft Dynamics 365 Business Central. That post ended with “There’s still work to do. There always is, but the base is here now.”

Half a year later, I think it’s a good moment to look back and a lot has happened. Since February the community merged over 480 pull requests and closed more than 120 issues across the ALCops repositories. This isn’t just my work, but an archive we’ve built together with the Business Central community.

From v0.5 to v1.0

Back in February we where at v0.5.0 and two month ago we’ve released version v1.0.0. Hitting v1.0 was nothing about a big feature, but more about confidence; This is the point where I felt comfortable saying: it’s stable, build your daily workflow on it.

A lot of that progress was the unglamorous work: false positives, edge cases, and small correctness fixes reported by people running ALCops on real and large codebases.

The “Swiss Army Knife” problem, solved

In my October post I worried about LinterCop becoming one analyzer trying to do everything. That vision of multiple specialized analyzers is now reality. ALCops ships as focused cops, each with its own domain: PlatformCop (language/runtime correctness), ApplicationCop (Business Central object modeling), LinterCop (the classic code smells), FormattingCop (style and consistency), DocumentationCop (documentation quality) and TestAutomationCop (test structure).

Remember the goal to pass “the magic number of 100 rules”? We’re now well past 130 documented rules! and you can browser trough them on alcops.dev/docs/analyzers.

Bringing ALCops to AI agents

In February I mentioned Stefan Maroń was looking into what an ALCops MCP might look like. Well, he didn’t just look into it, he built the ALCops MCP server. This brings the analyzers to AI assistants like Claude, Codex and Cursor. Instead of AI-generated AL code that looks fine but could ignores best practices, an agent can now run the ALCops analyzers and get the same diagnostics you would in your editor.

It means a lot to me that the original author of BusinessCentral.LinterCop is still involved with ALCops and I think it’s important that the person who started it all stays part of the journey. Stefan and I had a great chat about this, which you can watch on ALCops: LinterCop’s Successor for Business Central AL Code Analysis.

Time to move off BusinessCentral.LinterCop

As I said mentioned also in February, I don’t have the time to support and develop both projects at the same time, so BusinessCentral.LinterCop was being wound down and ALCops is where the active development has moved to.

Recently I added a deprecation notice to the BusinessCentral.LinterCop VS Code extension: “Deprecated — action required before October 2026.” and the response was immediate. Installs of the ALCops VS Code extension jumped and have stayed high in the weeks since.

So consider this your nudge: the October deadline is getting close. If you haven’t switched yet, now is the time. And if something you rely on is still missing in ALCops, I would love to hear about it.

Thank you

None of this would exist without the people around it. A heartfelt thank you to everyone who sent a pull request, opened an issue, joined a discussion, or tested a pre-release these past months, as well as to everyone who poured years into the original BusinessCentral.LinterCop. ALCops wouldn’t be where it is today without all of that work.

There’s still work to do. There always is. But it’s genuinely exciting to see how far we’ve come. If you’ve got an idea or something that should work differently, open a discussion, file an issue, or send a pull request.

Leave a Reply

Your email address will not be published. Required fields are marked *