blob: f1e5c75a4644bdf670c5fd301b2230076f7cdf2e [file] [log] [blame]
Zack Williams36451912022-03-04 20:31:37 -07001Writing Documentation
2=====================
3
4Documentation is an essential part of any software product.
5
64 Types of Documentation
7
8This site is an example of **Reference** documentation.
9
10
11Where should I put Documentation?
12---------------------------------
13
14The README
15""""""""""
16
17Basic **How To** Documentation should go into a README file in each repo:
18
191. A high level summary of what the code in the repo does ("This code is ... ")
20
212. Licensing and community information ("This is developed by ONF as a part of
22 the FOO project, and licensed under Apache-2")
23
243. High level dependencies required ("Go version 1.17.x is needed to...")
25
264. Examples of how to build the code ("Run ``make build`` to create a binary
27 named ...")
28
295. Examples of how to run the code ("The output binary can be found in and run
30 with ...")
31
326. How the code is tested ("Your code should pass ``make test``")
33
34Generally this should be fairly short and easy to reference
35
36Design Documents
37""""""""""""""""
38
39Design Documents concern the Why ...
40
41One option is to place these in the code repo
42
43
44Tutorials
45"""""""""
46
47Operations Guides
48"""""""""""""""""
49
50These show a user **How** to use a project and software. Generally these
51should be located in a documentation repo, not stored with code.
52
53
54Project Documentation
55"""""""""""""""""""""