open-source-ideas / ideas

💡 Looking for inspiration for your next open source project? Or perhaps you've got a brilliant idea you can't wait to share with others? Open Source Ideas is a community built specifically for this! 👋
6.59k stars 220 forks source link

Trunk Based Development team nudging tool. #244

Open bdsl opened 4 years ago

bdsl commented 4 years ago

Project description

Treehugger

A tool to nudge members of a software team towards following the practice of trunk based development (TBD).

If a team is trying to adopt TDB, and pass the Continuous Integration Certification Test, but they find that too often their code is held up and not merged to mainline within a day of being authored, they could use this tool. It would monitor their software forge (e.g. GitHub, BitBucket, GitLab etc), and check code authorship dates against the current date.

If code in a pull request became (or started as) too old, the tool would automatically add comments and then close the PR.

Age of code might be calculated based only on working hours if the tool knows which hours and days the team did and didn't work. So 3pm on Monday would be considered less than one day after 4pm on Friday.

Configuration could be either through a web UI, or through a config file stored with the team's software product, or through a separate config.

A team could turn the tool on or off or change config to reflect decisions they make about how to work together, and avoid having just a few members needing to always remind others. Of course if people don't want merge code quickly then they may ignore messages from the tool and immediately re-open any PRs that it closes.

Relevant Technology

git, github, bitbucket, gitlab, gerrit etc.

Complexity and required time

Complexity

Required time (ETA)

Categories

bdsl commented 4 years ago

Although I had the idea, I'm not actually likely to use this at the moment.