Skip to content

Commit 6eb27a8

Browse files
committed
Rework registry requirements to provide context
Signed-off-by: Paul Balogh <[email protected]>
1 parent f46839e commit 6eb27a8

File tree

1 file changed

+31
-12
lines changed

1 file changed

+31
-12
lines changed

src/data/markdown/docs/07 extensions/02 Explanations/extensions-registry.md

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,37 @@ While we cannot guarantee the quality of community-provided extensions, we _can_
1919
## Registry Requirements
2020
At minimum, each source code repository must have the following:
2121

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-
<Blockquote mod="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`.
3453

3554
## Naming Conventions
3655
Some extensions may be very specific, where others are more general.

0 commit comments

Comments
 (0)