CLI commands for workflow/lifecycle management - And/or Github integration
xakraz opened this issue · 1 comments
Feature Request
Feature Suggestion
Have "complete" CLI commands for workflow/lifecycle management of ADRs
Context
I would like to have CLI commands to manage the suggested workflow and "automate" some kind of GitHub integration.
Like:
log4brains adr new
-> ✅
log4brains adr status
-> Basically does a git status
scoped to the directory where ADRs files live or get opened and/or closed PRs related to ADRs
log4brains adr propose (or submit)
-> Does a git commit + opens PRs with predefined commit message format, PR title style, labels and so on 😇
I am also wondering how ease/automate the rest of the process via Pull requests 🤔
- when an ADR PR is merged, automatically update the state from
proposed
toaccepted
- How to still merge a PR even when an ADR is rejected but set the proper status value ...
Possible Implementation
We've been using log4brains to render ADRs from a repository but I've been thinking a lot about the flow and making that easier.
I was looking to see if there way an easy way (there is not) to somehow uses GitHub issues as the entry point.
- Configure log4brains with a Github access token (if needed) and an org/repository
- Use getServerSideProps in nextJs to query the Github API and pull back issues (possibly with a specific label, eg
adr
). - Issues are automatically in the "proposed" state (optionally being overridden with another label like
adr:voting
), with the issue body being processed as markdown from the file and rendered to the site (including a link to the issue for "discussion")
With this type of support, then I could built a github bot that facilitates ADR discussion and voting. Once the voting is done, the bot could render the ADR as a Pull request with the appropriate accepted/rejected state and commit it to the repo.