Add Sphinx documentation
This adds an initial version of the Sphinx documentation for the project. It is split into:
- development: For development standards, style guides, notes, roadmap, etc.
- specification: For the official authoritative CyanoByte specification
- generator: For documentation relating to the CyanoByte generator
As the end goal for this project is to attempt to get buy-in and general adoption in the industry, we should start taking into account the many different stakeholders and use cases, so that we don't inadvertently make any decisions that limit the usability of the standard and generator.
While it may be a bit unorthodox for an open source project, I'm going to recommend maintaining a list of stakeholders and user stories. This way we can better prioritize which features we want to add first and actively state what should be out of scope in the near term (@Fleker as you are totally right, this project is dangerously easy to fall into the scope creep trap). This also becomes a good communication tool for any new developers helping out (especially if we want to get involvement from students at Rowan).
@Fleker Thoughts?
Looks like a good start. Putting everything into docs/ will allow us to host with GitHub. Should we start looking for an easy domain to point to? (If this is a Google project, who gets the domain? I'll need to find out.)
We should also consider seeing if we can leverage Cloud Build to generate documentation that we can download and put anywhere.
I imagine some sort of landing page like Google Cloud, with a few top-level sections for each part:
- Overview (Marketing material like critical user journeys and case studies)
- Develop
- Specification
- Generate (or Build?)
- Contribute
@Fleker I'd say we definitely should have a domain. I'm also fine with Cloud Build to generate the docs.
If we build the docs, we'll need a host provider, as Google policy does not allow automated systems to make commits to a GitHub repository.
And this could easily be static Firebase hosting or wherever.
Seems to be fine to get whatever domain name as it's not an official product.
Edit: Nevermind
This should be merged with #71 and a new build script should handle deployments to cyanobyte.dev on the master branch from the docs/ directory.