incorporeal-cms/CONTRIBUTING.md

2.3 KiB

How to Contribute

incorporeal-cms is a personal project seeking to implement a simpler, cleaner form of what would commonly be called a "CMS". I appreciate any help in making incorporeal-cms better.

Opening Issues

Issues should be posted to my Gitea instance at https://git.incorporeal.org/bss/incorporeal-cms/issues. I'm not too picky about format, but I recommend starting the title with "Improvement:" or "Bug:" so I can do a high level of prioritization.

Providing Code

Some guidelines:

  • Code:
    • Keep in mind that I strive for simplicity in the software. It serves files and renders Markdown, that's pretty much it. Features around that function are good; otherwise, I need convincing.
    • Follow the style precedent set in the code. Do not use Black, or otherwise reformat existing code. I like it the way it is and don't need a militant tool making bad decisions about what is readable.
    • tox should run cleanly, of course.
    • Almost any change should include unit tests, and also functional tests if they provide a feature to the CMS functionality. For defects, include unit tests that fail on the unfixed codebase, so I know exactly what's happening.
  • Commits:
    • Squash tiny commits if you'd like. I prefer commits that make one atomic conceptual change that doesn't affect the rest of the code, assembling multiple of those commits into larger changes.
    • Follow something like Chris Beams' post on formatting a good commit message.

Contributing

I don't expect contributors to sign up for my personal Gitea in order to send contributions, but it of course makes it easier. If you wish to go this route, please sign up at https://git.incorporeal.org/bss/incorporeal-cms and fork the project. People planning on contributing often are also welcome to request access to the project directly.

Otherwise, contact me via any means you know to reach me at, or bss@incorporeal.org, to discuss your change and to tell me how to pull your changes.

Accepted changes remain the copyright of the original author, but please include appropriate contact methods in the event I choose to provide the project under a new license and need to contact you to approve the new license terms. Please note that the software is provided under GPLv2 or later.