You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/data/markdown/docs/07 extensions/02 Explanations/extensions-registry.md
+31-12Lines changed: 31 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,18 +19,37 @@ While we cannot guarantee the quality of community-provided extensions, we _can_
19
19
## Registry Requirements
20
20
At minimum, each source code repository must have the following:
21
21
22
-
- a README file with a project description, build and usage documentation, and k6 version compatibilities
23
-
- the `xk6` topic _(See the [GitHub documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics))_ for discoverability
24
-
- a non-restrictive OSS license _(Apache2 preferred)_
25
-
- an `examples` folder with at least one example to show proper usage
26
-
- at least one [versioned release](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository)
27
-
- must successfully build with the latest version of k6 or a prior version within two releases
28
-
29
-
<Blockquotemod="note"title="">
30
-
31
-
Our goal is to ease evaluation and adoption of extensions.
32
-
33
-
</Blockquote>
22
+
-**a README file**
23
+
24
+
The `README` must contain documentation such as the project description, build and usage instructions, as well as k6 version compatibility.
25
+
The goal is to provide enough information to quickly and easily evaluate the extension.
26
+
27
+
-**the `xk6` topic set**
28
+
29
+
GitHub allows setting _topics_ for a repository.
30
+
This supports querying all public repositories based upon a keyword for better discoverability, i.e. ["xk6"](https://github.com/topics/xk6).
31
+
See the [GitHub documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics) to add topics.
32
+
33
+
-**a non-restrictive license**
34
+
35
+
Any open source software (OSS) license will suffice, but [Apache2](https://www.apache.org/licenses/LICENSE-2.0) is preferred.
36
+
37
+
-**an `examples` folder with examples**
38
+
39
+
Provide at least one script to show proper usage of your API.
40
+
If a [Docker Compose](https://docs.docker.com/compose/compose-file/) specification is provided, these could be used as integration tests to validate the extension works as intended.
41
+
42
+
-**at least one versioned release**
43
+
44
+
As features or fixes are ready to be consumed, create a [release](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository).
45
+
This promotes stability by allowing a user to utilize a particular version.
46
+
Use [semantic versioning](https://semver.org/) to communicate changes as the extension evolves.
47
+
48
+
-**builds with a recent k6 version**
49
+
50
+
Ideally, the extension should build with the latest release.
51
+
But, it must build with a version of k6 that is no more than three releases old.
52
+
For example, if latest version of k6 is `v0.100`, the extension must build with at least version `v0.98`.
34
53
35
54
## Naming Conventions
36
55
Some extensions may be very specific, where others are more general.
0 commit comments