You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
C4-PlantUML/CONTRIBUTING.md

4.0 KiB

Contributing guidelines

Welcome! If you would like to contribute to C4-PlantUML, you have come to the right place!

There are different ways you can contribute:

  • Ask questions (or answer them)
  • Give feedback (or discuss feedback given by others)
  • Report issues (or resolve them)
  • Request new feature (or build them)
  • Help create a release

Questions

When you have a question about something related to C4-PlantUML, first search the issue to see if a similar question has already been answered. If no issue is found that answers your question, open a new issue and ask.

Provide as much context and detail as needed. The higher the quality of the issue, the easier it is to get an answer. Don't worry about this too much, though, if anything is unclear, or more information is needed, you'll be asked to provide specifics.

Your question could be of interest to other users, in which case it might even be added to the project documentation!

Sometimes, the answer might be that either we don't know, or the question is not really about this project, but more about C4 or PlantUML (or other tools and techniques). Maintainers and contributors will try to answer any question as best they can, but please be respectful if your question remains unaswered or you are directed elsewhere.

To keep things organised, if an issue with a question is inactive for a longer period of time, it will be marked as "stale". Shortly thereafter, the issue will be closed, regardless of the answer.

Feedback

To keep things organised, if an issue with feedback is inactive for a longer period of time, it will be marked as "stale". Shortly thereafter, the issue will be closed, regardless of the answer.

Issues

To keep things organised, if an issue is inactive for a longer period of time, it will be marked as "stale". Shortly thereafter, the issue will be closed, regardless of the answer.

Features

To keep things organised, if an issue with a feature request is inactive for a longer period of time, it will be marked as "stale". Shortly thereafter, the issue will be closed, regardless of the answer.

Merge requests are not marked as stale nor automatically closed.

Release

When creating a release, the following needs to happen:

  • Resolve all open issues related to the upcoming milestone
    So all desired features are present in the planned release
  • Update the !include paths to point to the new release URL
    So users that include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/vX.X.X/C4_Component.puml actually get the related files instead of files from the main branch.
  • Update the version in C4.puml
    So user can debug/output the version they are using
  • Check if anything else that needs changing. Copyright year? Any contrib files? URLS?
    Making everything is in order before the release, so we do not have to make minor releases afterwards
  • Open an MR to incorporate the changes needed for version release into the main branch.
    So there is a fixed/traceable moment in time that marks the change
  • Create a new release of the latest changes (using "Generate Release Notes").
    So there is a fixed/traceable moment in time that marks the change
  • Create a merge-request for the release at PlantUML-stdlib
    So PlantUML users also have access to the latest greatest C4-PlantUML

The easest way to track these tasks, and let others know how a release is progressing, copy/paste the above list into a new issue.