Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLI commands for workflow/lifecycle management - And/or Github integration #92

Open
xakraz opened this issue Oct 4, 2022 · 1 comment
Labels
feature New feature or request

Comments

@xakraz
Copy link

xakraz commented Oct 4, 2022

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.

Workflow

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 to accepted
  • How to still merge a PR even when an ADR is rejected but set the proper status value ...

Possible Implementation

@xakraz xakraz added the feature New feature or request label Oct 4, 2022
@johnrengelman
Copy link

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.

  1. Configure log4brains with a Github access token (if needed) and an org/repository
  2. Use getServerSideProps in nextJs to query the Github API and pull back issues (possibly with a specific label, eg adr).
  3. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants