DEV Community

Nuno "Omega Leo" Diogo
Nuno "Omega Leo" Diogo

Posted on • Updated on

My first time participating in a hackathon

Hello everyone, although being a really old member of this platform I guess this is my first time ever doing a post 😅, so I don't know well where to start but the gist of it is that I decided to participate in the #GitHubHack23.
My entry will take an approach to the category of maintainer must-haves where my goal will be to do a set of tools/template repo to help devs deploy and keep their documentation and changelogs up-to-date, it'll mostly be for C# developers as I sadly don't have much experience with other languages and for now I have it divided into the following(still at a really WIP phase):

  • auto-tag: C# project that will be called whenever an issue is created/updated and will properly tag the issue depending on what is written in the title/description. Example: If I write @feature in the description, once the workflow is called it'll tag that issue with the feature tag.
  • changelog-generator: C# project that will be in charge of updating the changelog.md and also changes for the release whenever one is generated. Say for example, if I made a release with the tag v1.0.0, it'll call the workflow, get me all the commit messages since the last release that match a filter, update the release's description with those commit messages and also add the lines for it in the changelog.md
  • documentation-helper: C# Project that will handle the automatic generation of documentation and is divided into 2 components:
    • Library: For now only has the DocumentationAttribute(used to mark methods/properties/classes for documentation, see image below for example) and DocumentationHelper, a static class that will go through all assemblies in the project and check for the DocumentationAttribute and return in a DocumentationStructure list that will be used to show the documentation;

Documentarion

  • DocumentationGenerator: Simple script that will be called manually from the Actions menu and that will update the documentation.md using the DocumentationHelper described above.

I'm hoping to get this a bit more organized and also implement some helpful tools for Unity that will tie in to these projects.

If you want to check out the current state of the project, it's currently public on Github.

All feedback is greatly appreciated :)

Top comments (0)