Skip to content

Commit a15161f

Browse files
authored
[CI & docs] Rework of analysis docs + improved checks (cncf#256)
1 parent 64a4d8a commit a15161f

19 files changed

+443
-373
lines changed

.github/workflows/format-check.yml

+13-2
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,16 @@ jobs:
1414
node-version-file: .nvmrc
1515
cache: npm
1616
cache-dependency-path: package.json
17-
- name: Check file format
18-
run: npm run check:format
17+
- run: npm run check:format
18+
19+
markdown-linter:
20+
name: MARKDOWN linter
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v4
24+
- uses: actions/setup-node@v4
25+
with:
26+
node-version-file: .nvmrc
27+
cache: npm
28+
cache-dependency-path: package.json
29+
- run: npm run check:markdown

.markdownlint.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# See https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md
2+
# and https://github.com/DavidAnson/markdownlint/blob/main/README.md
3+
4+
list-marker-space: false
5+
no-inline-html: false

README.md

+11-4
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,29 @@ team. The repo contains the following directories:
1313

1414
The full-time staff of the CNCF Tech Docs team is:
1515

16+
<!-- markdownlint-disable line-length -->
17+
1618
| GitHub ID | Role |
1719
| -------------------------------------------------- | ------------------------------------- |
1820
| [@chalin](https://github.com/chalin) | Senior technical writer |
1921
| [@nate-double-u](https://github.com/nate-double-u) | Developer advocate & technical writer |
2022
| [@thisisobate](https://github.com/thisisobate) | Developer advocate |
2123

24+
<!-- markdownlint-enable line-length -->
2225
<!-- cSpell:ignore chalin nate thisisobate -->
2326

2427
Various consultants and volunteers also contribute to CNCF Tech Docs projects.
2528

2629
## Office hours
2730

28-
The CNCF tech docs team holds office hours on the
29-
[fourth Wednesday of every month at 8am Pacific time](https://tockify.com/cncf.public.events/monthly?search=CNCF%20Tech%20Writers%20Office%20Hours).
31+
The CNCF tech docs team holds office hours on the [fourth Wednesday of every
32+
month at 8am Pacific time][date-time].
3033

3134
Office hours started on 30 September 2020.
3235

3336
### Meeting link
3437

35-
Zoom link:
36-
https://zoom-lfx.platform.linuxfoundation.org/meeting/95471930872?password=db1aa715-a60b-444c-8b14-71d44161a42e
38+
- [Zoom meeting 95471930872]
3739

3840
### Meeting notes
3941

@@ -51,3 +53,8 @@ documentation. For details, see the TechDocs
5153
The `docs/` directory contains collected resources for building websites and
5254
developing documentation, including recommended tools and practices, how-tos,
5355
and evaluation checklists.
56+
57+
[date-time]:
58+
https://tockify.com/cncf.public.events/monthly?search=CNCF%20Tech%20Writers%20Office%20Hours
59+
[Zoom meeting 95471930872]:
60+
https://zoom-lfx.platform.linuxfoundation.org/meeting/95471930872?password=db1aa715-a60b-444c-8b14-71d44161a42e

analyses/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ The goals of a CNCF technical documentation analysis are to:
1515
investment. These improvements are documented as _recommendations_ in the
1616
analysis document and expanded in a companion
1717
[implementation plan](../docs/analysis/templates/implementation.md) and
18-
[issues backlog](../docs/analysis/templates/umbrella-issue.md).
18+
[issues backlog](../docs/analysis/templates/issues-list.md).
1919

2020
## Audience
2121

docs/analysis/README.md

+4-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
# TechDoc Analysis
22

3-
## Contents
3+
This section contains instructions and criteria for completing a documentation
4+
analysis, including a [how-to](./howto.md) guide and analysis
5+
[criteria](./criteria.md)
46

5-
This directory contains instructions and criteria for completing a documentation
6-
analysis, including a [how-to][] guide and analysis [criteria][].
7-
8-
Templates for the analyses are in the resources directory.
9-
10-
[how-to]: ./howto.md
11-
[criteria]: ./criteria.md
7+
For templates, see [templates](./templates/).

docs/analysis/criteria.md

+15-14
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ documentation. We evaluate on the following:
2323

2424
Examples:
2525

26-
- https://prometheus.io/docs/
26+
- <https://prometheus.io/docs>
2727

2828
### New user content
2929

@@ -41,7 +41,7 @@ specifically for them. We evaluate on the following:
4141

4242
Examples:
4343

44-
- https://falco.org/docs/getting-started/
44+
- <https://falco.org/docs/getting-started/>
4545

4646
### Content maintainability & site mechanics
4747

@@ -57,7 +57,7 @@ We evaluate on the following:
5757

5858
Examples:
5959

60-
- https://kubernetes.io/docs/
60+
- <https://kubernetes.io/docs/>
6161

6262
### Content creation processes
6363

@@ -74,9 +74,9 @@ We evaluate on the following:
7474

7575
Examples:
7676

77-
- https://github.com/nats-io/nats-site/blob/master/MAINTAINERS.md (clearly
77+
- <https://github.com/nats-io/nats-site/blob/master/MAINTAINERS.md> (clearly
7878
documented maintainers)
79-
- https://thanos.io/tip/contributing/how-to-contribute-to-docs.md
79+
- <https://thanos.io/tip/contributing/how-to-contribute-to-docs.md>
8080

8181
### Inclusive language
8282

@@ -107,7 +107,7 @@ We evaluate on the following:
107107

108108
Examples:
109109

110-
- https://prometheus.io/community/
110+
- <https://prometheus.io/community/>
111111

112112
### Beginner friendly issue backlog
113113

@@ -121,7 +121,7 @@ We evaluate on the following:
121121

122122
Examples:
123123

124-
- https://github.com/opentracing/opentracing.io/issues (all of open tracing’s
124+
- <https://github.com/opentracing/opentracing.io/issues> (all of open tracing’s
125125
backlogs are well maintained!)
126126

127127
### New contributor getting started content
@@ -138,7 +138,7 @@ We evaluate on the following:
138138

139139
Examples:
140140

141-
- https://github.com/helm/community
141+
- <https://github.com/helm/community>
142142

143143
### Project governance documentation
144144

@@ -165,7 +165,8 @@ problems, keeping source files in two places:
165165
- makes it more complicated to generate the documentation from source files
166166

167167
Ideally, all website files should be in the **website repo** itself.
168-
Alternatively, files should be brought into the website repo via [git submodules][].
168+
Alternatively, files should be brought into the website repo via
169+
[git submodules](https://www.git-scm.com/book/en/v2/Git-Tools-Submodules).
169170

170171
If a project chooses to keep source files in multiple repos, they need a clearly
171172
documented strategy for managing mirrored files and new contributions.
@@ -257,7 +258,7 @@ We evaluate on the following:
257258

258259
Examples:
259260

260-
- https://helm.sh/
261+
- <https://helm.sh/>
261262

262263
### Case studies/social proof
263264

@@ -275,9 +276,9 @@ We evaluate on the following:
275276

276277
Examples:
277278

278-
- https://www.fluentd.org/testimonials (user testimonials)
279-
- https://goharbor.io/ (logo wall)
280-
- https://blog.rook.io/ (blog)
279+
- <https://www.fluentd.org/testimonials> (user testimonials)
280+
- <https://goharbor.io/> (logo wall)
281+
- <https://blog.rook.io/> (blog)
281282

282283
### SEO, Analytics and site-local search
283284

@@ -314,7 +315,7 @@ We evaluate on the following:
314315

315316
Examples:
316317

317-
- http://kubernetes.io
318+
- <https://kubernetes.io>
318319

319320
### Other
320321

docs/analysis/howto.md

+57-47
Original file line numberDiff line numberDiff line change
@@ -2,75 +2,78 @@
22

33
## Audience
44

5-
This document is for members of the CNCF TechDocs team, including contractors or
6-
consultants, who need to conduct or assist with an analysis of a CNCF
7-
open-source project's technical documentation.
5+
This document is for members of the CNCF TechDocs team and others who wish to
6+
conduct or assist with an analysis of a CNCF open-source project's technical
7+
documentation.
88

99
## Purpose
1010

1111
The goals of a CNCF technical documentation analysis are to:
1212

1313
- Examine the current project technical documentation and website against the
14-
CNCF's analysis framework, as described in the doc analysis
15-
[criteria](./criteria.md).
16-
- Compare the documentation against the current or proposed maturity level for
17-
the overall project.
18-
- Recommends a program of key improvements with the largest return on
19-
investment. These improvements are documented as _recommendations_ in the
20-
analysis document and expanded in a companion
14+
CNCF's analysis [criteria].
15+
- Compare the documentation against the current or proposed [project
16+
maturity level].
17+
- Recommend a program of key documentation improvements with the largest return
18+
on investment. These improvements are documented as _recommendations_ in the
19+
analysis document, and expanded in a companion
2120
[implementation plan](./templates/implementation.md) and
22-
[issues backlog](./templates/umbrella-issue.md).
21+
[issues list](./templates/issues-list.md).
2322

2423
## Doing a Tech Docs Analysis
2524

26-
The tech docs analysis consists of some repository bookkeeping (Prerequisites),
25+
The tech docs analysis consists of some repository bookkeeping (prerequisites),
2726
then of three overall tasks:
2827

29-
1. Write the analysis document: Evaluate the existing project documentation with
30-
respect to the project maturity level (or proposed maturity level, if the
31-
analysis is associated with an upgrade request). Identify gaps with CNCF
32-
criteria. Write general recommendations to close the largest and most
33-
important gaps.
34-
2. Write the implementation plan: Decompose the recommendations to specific
28+
1. Write the analysis document: evaluate the existing project documentation with
29+
respect to the [project maturity level] or proposed maturity level, if the
30+
analysis is associated with a project upgrade request. Identify gaps with
31+
CNCF [criteria]. Write general recommendations to close the largest and most
32+
important identified issues.
33+
2. Write a implementation plan: decompose recommendations in to specific
3534
improvement suggestions. These can be additions or revisions to the docs;
3635
reorganization; website infrastructure changes; or any other work that will
37-
close the gaps. Make suggestions specific (if you propose reorganizing a
38-
section, for example, provide an outline) but provide enough information that
39-
a contributor could solve the problem differently if they have a different
40-
idea (make it clear that your proposed outline is only one possible
41-
reorganization, e.g.).
42-
3. Write the issue backlog.
36+
close address issues. Make suggestions specific enough (for example, if you
37+
propose reorganizing a section then provide an outline) without being overly
38+
constraining so that a contributor could solve the problem differently if
39+
they have a different solution. For example, make it clear that your proposed
40+
outline is only one possible reorganization.
41+
3. Write an issue backlog.
4342

44-
Finally, there are follow-up steps including creating GitHub issues and a pull
45-
request, and getting approval from project maintainers.
43+
Finally, there are follow-up steps including:
44+
45+
- Creating GitHub issues and a pull request
46+
- Getting approval from project maintainers
4647

4748
### Prerequisites
4849

49-
This process assumes you have some familiarity with GitHub repositories and pull
50-
requests (PRs).
50+
This section assumes you are familiar with GitHub repositories and pull requests
51+
(PRs). If you need a refresher, see
52+
[Get started](https://docs.github.com/en/get-started) from the GitHub docs.
53+
54+
Project analyses are kept in the
55+
[CNCF tech docs repository](https://github.com/cncf/techdocs). Clone and prepare
56+
for
5157

5258
1. Clone the [CNCF tech docs repository](https://github.com/cncf/techdocs).
53-
1. Create a branch for the analysis.
54-
1. In the new branch, create a directory for the analysis in the CNCF tech docs
55-
/analysis directory. Name the directory `00NN-_PROJECT_`, where _NN_ is the
59+
2. Create a branch for the analysis.
60+
3. In the new branch, create a directory for the analysis in the CNCF tech docs
61+
[analyses] directory. Name the directory `00NN-_PROJECT_`, where _NN_ is the
5662
next index available in the directory (check for PRs as well, if someone else
5763
is working on tech doc analyses), and where _PROJECT_ is a short but not
5864
abbreviated project name. For example, for Kubernetes _PROJECT_ would be
5965
_kubernetes_, not _k8s_.
60-
1. Copy and rename the analysis doc templates from the
61-
`/analysis/analysis-tools` directory as follows: `analysis-template.md` >
62-
`_PROJECT_-analysis.md`; `implementation-template.md` >
63-
`_PROJECT_-implementation.md`; and `umbrella-issue-template.md` >
64-
`_PROJECT_-issues.md`.
66+
4. Copy all the doc analysis [templates].
6567

6668
### Writing the Analysis document
6769

68-
Edit `_PROJECT_-analysis.md` and follow these steps to complete the first step,
69-
the analysis:
70+
Follow the steps outlined below as a part of writing the project's analysis
71+
document. Record your findings in the project's
72+
[analysis.md](./templates/analysis.md) file.
7073

71-
1. Define the scope of the analysis. Edit "Scope of analysis" to reflect URLs
72-
and repositories included and excluded from the analysis.
73-
1. Review the in-scope URLs and repositories for compliance with the rubric
74+
1. Define the **scope** of the analysis. Edit "Scope of analysis" to reflect
75+
URLs and repositories included and excluded from the analysis.
76+
2. Review the in-scope URLs and repositories for compliance with the rubric
7477
criteria. Note any gaps, as well as any areas that exceed criteria or are
7578
exceptionally well executed. I find it easiest to do this separately for each
7679
of the three areas of concern (project doc, contributor doc, website), making
@@ -81,11 +84,11 @@ the analysis:
8184
level (or proposed maturity level, if the analysis is part of a petition for
8285
upgrade). Write comments to note the most important gaps and best-executed
8386
features of the documentation.
84-
1. Assign ratings to each criterion based on your comments and compliance with
87+
3. Assign ratings to each criterion based on your comments and compliance with
8588
the maturity level expectations in the rubric. The ratings are
8689
self-explanatory. Keep in mind that "needs improvement" or "meets standards"
8790
is with respect to the current (or proposed) maturity level.
88-
1. Write recommendations. The template implies that you'll do this for every
91+
4. Write recommendations. The template implies that you'll do this for every
8992
criterion; the "Recommendations" headings mirror the "Comments" headings.
9093
However, if some alternative framework makes more sense, use that. For
9194
example, it might be that two or three of the product documentation criteria
@@ -205,7 +208,14 @@ interested parties to get feedback on the analysis and implementation plan.
205208

206209
### Creating GitHub issues
207210

208-
Enter the backlog issues from the issues document into the project documentation
209-
GitHub repository using the format in the umbrella-issues-template.md and
210-
issues-template.md files. Create one GitHub issue per backlog issue, and create
211-
an umbrella issue that contains a checklist item for each issue.
211+
Create issues in the project documentation GitHub repository for:
212+
213+
- Each issues in the [issues list].
214+
- An umbrella issue that provides a context for the previously created
215+
individual issues.
216+
217+
[analyses]: ../../analyses/
218+
[criteria]: ./criteria.md
219+
[project maturity level]: https://www.cncf.io/project-metrics
220+
[templates]: ./templates/
221+
[issues list]: ./templates/issues-list.md

docs/analysis/templates/README.md

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# TechDoc Analysis Templates
22

3-
This directory contains templates for analyzing a CNCF project's documentation.
3+
This section contains templates for analyzing a CNCF project's documentation.
44

55
Use the templates in this directory to perform a documentation analysis for
66
CNCF. These materials provide:
@@ -12,6 +12,5 @@ CNCF. These materials provide:
1212
- Emphasis on effective documentation that serves all users associated with the
1313
project.
1414

15-
Resources for completing a documentation analysis, including a
16-
[how-to](../howto.md) guide and analysis [criteria](../criteria.md), are in the
17-
`docs` directory.
15+
For guidance in completing a documentation analysis, see
16+
[Analysis how-to](../howto.md) and [criteria](../criteria.md) pages.

0 commit comments

Comments
 (0)