redwoodjs / redwood

The App Framework for Startups
https://redwoodjs.com
MIT License
17.12k stars 979 forks source link

[Docs] Working Guidelines #332

Open thedavidprice opened 4 years ago

thedavidprice commented 4 years ago

edited on 5/18: added information about Contribution and Development documentation

Two Contexts for Docs: Contributing and Developing

✏️ "Contributing" Docs: Located in the Redwood Packages Repo

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).

README Stub

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.

✏️"Developing" Docs: Located in the Redwoodjs.com Repo

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.

1) Cookbooks

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.

2) Guides

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".

3) Reference

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.

(Bonus) Explanation

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.

👉 Guidelines

Misc Info

Different docs, different handling/cases

see: https://www.divio.com/blog/documentation/

  1. Tutorials
  2. How-to Guides
  3. Explanation
  4. Reference

For example about what we’d like to do for “Reference”, see CLI doc Issue #322

weaversam8 commented 4 years ago

Some helpful inspiration we can reference from Storybook, a project with great documentation about documentation:

jonniebigodes commented 4 years ago

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

thedavidprice commented 4 years ago

@jtoar I've updated this Issue (see original comment). Reactions and/or changes?

thedavidprice commented 4 years ago

Also, I've added a GH Project to help keep track of everything in motion here: https://github.com/redwoodjs/redwood/projects/3

jtoar commented 4 years ago

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.

thedavidprice commented 4 years ago

@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.

jtoar commented 2 years ago

@thedavidprice bringing this up again in light of #3485