3 ms·
Show HN: Archprint, infer architecture lint rules from your repo's import graph
This tool started as a research for me trying to answer the question "Does AI agents drift from your architecture conventions or if you need enforcement instead?". So I started out building a benchmark to test that premise and on the scope I tested, the agents did not drift and I had to stop that research line. So to reuse what I have learnt from that research, I started out trying to catch engineer's regressions through review and CI and create those conventions codebases already follows with the evidence instead of leaving them in someone's head.
Before I started building this tool, I also mostly write the rules by hand and linter's documentations for every linter I wanted to use. But after my research, the tool automates the process and I'm excited to see how it can help other engineers too. I ran the full package workflow (scan, recommend) across 92,861 real public TypeScript repositories on github and it completed on every one without a single crash and the reversible install/uninstall round-trip held. I will appreciates any feedback you have on the rules it infers for your repo and how it can help you enforce them or not.
The study is public here https://github.com/Tommkruix/agentrulebench https://github.com/Tommkruix/agentrulebench and Archprint is public here https://github.com/Tommkruix/archprint https://github.com/Tommkruix/archprint also.
- Tommkruix123 27d ago[dead]
- favurdev 27d agoIts an interesting idea, typically the rules are defined while bootstrapping and carry from one project to the next since personalization of the rules is hard and tedious. I could see larger orgs using this to bootstrap a fully customized lint rule file. But its a shame its only typescript!
- Tommkruix123 27d agoYes I agree, been able to bootstrap the rules instead of writing them by hand and porting them from one repo to another. And honestly that is the limitation right now but tools like Tach does similar work for python but just does not gates each rule on statistical evidence before suggesting and also act as its own linter. But what language do you think will worth the next real work to support?