Most of my GitHub projects now have a Project Outlines section in the README file. Not detailed. At least a minimal version, while with time a detailed picture of the outlines will follow for each project.
With outlines I mean which features and functions a project can have. The main purpose of a software. The initial idea why a project was born at all. A list of needed features and features a software project will never cover. What will this software do and don’t. Which problems does it solve and which will never be solved by using it.
This will help users, collaborators and me not to lose the red line for each project’s overall functionality, or not. For some projects the red line will come with time and users. For some other projects it’s clear from the beginning. For example, take my Keylogger project. It’s very clear that this will never be anything but a keylogger.
For other projects it’s blurry where to draw the line between feature or not. Maybe it will never be clear. Often a project has to exist several months or even years to become aware of its outlines. This is normal for software.
As soon as I’m aware of outlines for a project I’ll update the list in the README file. I’ll add more outlines to each project while working on it.