[Feature] Add Architecture Decision Record implementation to be used in ArchRule reason#1496
[Feature] Add Architecture Decision Record implementation to be used in ArchRule reason#1496
Conversation
3dcf31a to
f770ab3
Compare
|
Thanks for your contribution! While I think it's nice to be able to define MADRs programmatically, this feature seems to be quite independent of ArchUnit. (The only dependency of your classes on ArchUnit is the |
|
ArchUnit rules reflect key architectural decisions, but the rationale behind those decisions is typically buried in code or comments. This feature would allow automatic generation of Markdown Architecture Decision Records (ADRs) directly from ArchUnit rules, capturing why a rule exists—not just what it enforces. Benefits:
This would bring ArchUnit closer to being not only a verification tool, but also a lightweight architectural documentation aid. What is your mind about this explanation? |
|
I fully agree that ArchRules should document the reasoning for the constraints they encode. 👍
I see that you could use an ArchRule = /* rule definition */.because(adr.toString());(which you can already do with any |
|
Yes, you're right, it would be more complicated than I think to generate ADR from ArchUnit rule 😢 |
c5bf983 to
91ab89d
Compare
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
…rchRule reason Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
Signed-off-by: Romain Rochegude <romain.rochegude@gmail.com>
ee25470 to
ac65868
Compare
|
But you are right, the typical use case I target is the following:
|
|
Hi @hankem, Hope you are doing well. What do you think about this feature request? Is it relevant to include it in ArchUnit ? Or do you recommend me to release an independant library? Thank you for your response (and hoping it could be part of this awesome library 😉). Regards, |
Hello,
This Pull Request includes:
Resolves #1495
Thank you for reviewing.
Regards.