_edited on 5/18: added information about Contribution and Development documentation_
These docs are located in the Framework repo redwoodjs/redwood and contain content to assist in contributing to Redwood packages. In general, they may be more straightforward explanations, technically heavy, and written for individuals with more experience. However, as a best practice for collaborative projects, these docs should still provide a Vision + Roadmap and information about who is the project point person (or lead).
For an example of of package README, see this one for the Web package.
Here's the general outline
# PackageName
<!-- toc -->
- [Purpose and Vision](#Purpose-and-Vision)
- [Package Lead](#Package-Lead)
- [Roadmap](#Roadmap)
- [Contributing](#Contributing)
- [FAQ](#FAQ)
## Purpose and Vision
Summarise the project's values, purpose, and aspirational vision.
## Package Lead
Identify the decision maker and/or go-to for questions.
## Roadmap
Similar to Purpose and Vision, but more concrete, comprising near-term priorities and long-term goals.
## Contributing
Explains how to contribute by addressing the following three points:
1) Core technologies a contributor should be a familiar with.
2) How this package fits into the Redwood Framework, if it depends on other Redwood packages, etc.
3) The structure of the package and/or an explanation of its contents.
## FAQ
Answers to frequently asked questions.
These docs are located in redwoodjs/redwoodjs.com repo and are displayed on the Redwood website. The purpose of these docs is to help individuals develop applications using Redwood. There are three types of Developing docs:
⚡️The Redwood Tutorial: this is a standalone doc and serves a specific purpose as an introduction to Redwood, an aspirational roadmap, and an example of developer experience. As such, it's distinct from the categories below although most similar to the Cookbooks.
@cannikin created and maintains the Tutorial.
Tutorial-style content focused on a specific problem-solution. Most often these have a beginner in mind (if not, they should indicate 'advanced' or 'deep-dive', etc. in either the title or intro). Cookbooks may include some explanatory text as asides, but this should not be the majority of the content.
Guides are for "how-to" specific content. They are similar to Cookbooks in that they are problem-solution oriented. However, they are more direct and to-the-point. The focus is "getting something done" much more than any kind of "learning journey".
These include API, Config, CLI, etc. They should be information-oriented, accessible, comprehensive, and well structured to make content _findable._ We've all experienced great API documentation. That's what we want this section to be in the future.
There is another type of documentation that focuses on conveying understand (verses learning or problem-solving). For Redwood Docs, this is not a specific category but is included (when needed) as a call-out section. A great example from the Tutorial is Side Quest: How Redwood Works with Data.
_see:_ https://www.divio.com/blog/documentation/
For example about what we’d like to do for “Reference”, see CLI doc Issue #322
Some helpful inspiration we can reference from Storybook, a project with great documentation about documentation:
also the gatsby documentation approach overlapping with the storybook would make a excelent base for documentation. More specifically docs contributions community contributions and their style guide
@jtoar I've updated this Issue (see original comment). Reactions and/or changes?
Also, I've added a GH Project to help keep track of everything in motion here:
https://github.com/redwoodjs/redwood/projects/3
This looks great! :+1: A few things to consider adding:
Those are my thoughts right now but I'll add more as they occur to me.
@jtoar thanks! I've updated and added based on your comments.
re: "Explanation" docs, I think this will emerge over time. Most likely these will just go in "Guides" section. If we start to outgrow then we'll re-org.