template-git-repo 0.1.29 → 0.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/docs/BADGES.md +61 -44
- package/package.json +1 -1
- package/src/badges.js +125 -105
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<!-- template-git-repo:badges:start -->
|
|
2
2
|
<p align="center">
|
|
3
3
|
<a href="https://starterdocs.vtempest.workers.dev/docs/packages/template-git-repo"><img src="https://img.shields.io/badge/Docs-blue?logo=ReadTheDocs&logoColor=white" alt="Documentation" /></a>
|
|
4
|
-
<a href="https://stackblitz.com/github/OpenSourceAGI/dev-tools-starter-agent/tree/master/packages/template-git-repo"><img height="20px" src="https://developer.stackblitz.com/img/open_in_stackblitz.svg" alt="Open in StackBlitz" /></a>
|
|
5
4
|
<br />
|
|
5
|
+
<a href="https://github.com/OpenSourceAGI/dev-tools-starter-agent/stargazers"><img src="https://img.shields.io/github/stars/OpenSourceAGI/dev-tools-starter-agent" alt="GitHub Stars" /></a>
|
|
6
6
|
<a href="https://www.npmjs.com/package/template-git-repo"><img src="https://img.shields.io/npm/dm/template-git-repo.svg" alt="NPM Monthly Downloads" /></a>
|
|
7
7
|
<a href="https://www.npmjs.com/package/template-git-repo"><img src="https://img.shields.io/npm/v/template-git-repo.svg" alt="npm version" /></a>
|
|
8
8
|
<a href="https://www.npmjs.com/package/template-git-repo"><img src="https://img.shields.io/npm/dt/template-git-repo.svg" alt="NPM Total Downloads" /></a>
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
<a href="https://packagephobia.com/result?p=template-git-repo"><img src="https://packagephobia.com/badge?p=template-git-repo" alt="Install size" /></a>
|
|
11
11
|
<a href="https://app.codecov.io/gh/OpenSourceAGI/dev-tools-starter-agent/flags"><img src="https://img.shields.io/codecov/c/github/OpenSourceAGI/dev-tools-starter-agent?flag=template-git-repo&label=template-git-repo%20coverage&logo=codecov&logoColor=white" alt="Coverage" /></a>
|
|
12
12
|
<br />
|
|
13
|
-
<a href="https://github.com/OpenSourceAGI/dev-tools-starter-agent/stargazers"><img src="https://img.shields.io/github/stars/OpenSourceAGI/dev-tools-starter-agent" alt="GitHub Stars" /></a>
|
|
14
13
|
<a href="https://github.com/OpenSourceAGI/dev-tools-starter-agent/issues"><img src="https://img.shields.io/github/issues/OpenSourceAGI/dev-tools-starter-agent?logo=github" alt="GitHub Issues" /></a>
|
|
15
14
|
<a href="https://github.com/OpenSourceAGI/dev-tools-starter-agent/pulls"><img src="https://img.shields.io/github/issues-pr/OpenSourceAGI/dev-tools-starter-agent?logo=github&label=PRs" alt="Open Pull Requests" /></a>
|
|
16
15
|
<a href="https://github.com/OpenSourceAGI/dev-tools-starter-agent/pulls?q=is%3Apr+is%3Aclosed"><img src="https://img.shields.io/github/issues-pr-closed/OpenSourceAGI/dev-tools-starter-agent?logo=github&label=PRs%20merged&color=8957e5" alt="Merged Pull Requests" /></a>
|
|
17
16
|
<a href="https://github.com/OpenSourceAGI/dev-tools-starter-agent/discussions"><img src="https://img.shields.io/github/discussions/OpenSourceAGI/dev-tools-starter-agent" alt="GitHub Discussions" /></a>
|
|
18
17
|
<a href="https://github.com/OpenSourceAGI/dev-tools-starter-agent/commits/master/"><img src="https://img.shields.io/github/last-commit/OpenSourceAGI/dev-tools-starter-agent.svg" alt="GitHub last commit" /></a>
|
|
19
18
|
<br />
|
|
19
|
+
<a href="https://stackblitz.com/github/OpenSourceAGI/dev-tools-starter-agent/tree/master/packages/template-git-repo"><img height="20px" src="https://developer.stackblitz.com/img/open_in_stackblitz.svg" alt="Open in StackBlitz" /></a>
|
|
20
20
|
<img src="https://img.shields.io/badge/Bun-14151A?logo=bun&logoColor=white" alt="Bun" /> <img src="https://img.shields.io/badge/Vitest-6E9F18?logo=vitest&logoColor=white" alt="Vitest" />
|
|
21
21
|
</p>
|
|
22
22
|
<!-- template-git-repo:badges:end -->
|
package/docs/BADGES.md
CHANGED
|
@@ -17,6 +17,23 @@ The block lives between `<!-- template-git-repo:badges:start -->` and
|
|
|
17
17
|
between the markers and nothing else, so it is safe to run again after you publish a
|
|
18
18
|
package or finish setting up Codecov.
|
|
19
19
|
|
|
20
|
+
## The four rows
|
|
21
|
+
|
|
22
|
+
The block renders one row per group, in this order. The split is by the question a
|
|
23
|
+
reader is asking, not by where the badge is hosted — stars sit with the download
|
|
24
|
+
counts because both answer "is anyone using this", and the sandbox buttons sit at
|
|
25
|
+
the bottom so they do not compete with the link to the live app.
|
|
26
|
+
|
|
27
|
+
| Row | Carries |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| Row 1 — what this is and where to try it | `doi`, `deepwiki`, `website`, `docs`, `api`, `youtube`, `uptime`, `deploy-cloudflare` |
|
|
30
|
+
| Row 2 — is it used, is it working, is it shipped | `stars`, `npm-downloads`, `npm-version`, `npm-total-downloads`, `npm-types`, `install-size`, `codecov`, `codecov-flag`, `workflow`, `test-report` |
|
|
31
|
+
| Row 3 — is it alive, who is behind it | `contributors`, `forks`, `issues`, `pull-requests`, `prs-merged`, `discussions`, `commit-activity`, `last-commit`, `discord` |
|
|
32
|
+
| Row 4 — run it yourself, and what it is built with | `stackblitz`, `codespaces`, `prs-welcome`, `license`, `stack` |
|
|
33
|
+
|
|
34
|
+
A row whose badges are all missing or excluded is dropped rather than rendered
|
|
35
|
+
empty, so a repo with nothing published still gets a tidy three-row block.
|
|
36
|
+
|
|
20
37
|
## Index
|
|
21
38
|
|
|
22
39
|
| Badge | Needs | Flag |
|
|
@@ -27,16 +44,9 @@ package or finish setting up Codecov.
|
|
|
27
44
|
| [Documentation](#docs) `docs` | docsUrl | `--docs <url>` |
|
|
28
45
|
| [API reference](#api) `api` | apiUrl | `--api <url>` |
|
|
29
46
|
| [YouTube demo](#youtube) `youtube` | youtubeUrl | `--youtube <url>` |
|
|
47
|
+
| [Uptime](#uptime) `uptime` | uptimeUrl | `--uptime <url>` |
|
|
30
48
|
| [Deploy to Cloudflare Workers](#deploy-cloudflare) `deploy-cloudflare` | cloudflareDeploy | `--cloudflare-deploy` |
|
|
31
|
-
| [Open in StackBlitz](#stackblitz) `stackblitz` | stackblitzUrl | `--stackblitz <url>` |
|
|
32
|
-
| [Open in GitHub Codespaces](#codespaces) `codespaces` | — | on by default |
|
|
33
49
|
| [GitHub stars](#stars) `stars` | — | on by default |
|
|
34
|
-
| [GitHub forks](#forks) `forks` | — | on by default |
|
|
35
|
-
| [Contributors](#contributors) `contributors` | — | on by default |
|
|
36
|
-
| [Open issues](#issues) `issues` | — | on by default |
|
|
37
|
-
| [Open pull requests](#pull-requests) `pull-requests` | — | on by default |
|
|
38
|
-
| [Merged pull requests](#prs-merged) `prs-merged` | — | on by default |
|
|
39
|
-
| [GitHub Discussions](#discussions) `discussions` | — | on by default |
|
|
40
50
|
| [npm monthly downloads](#npm-downloads) `npm-downloads` | npmPackage | `--npm-package <name>` |
|
|
41
51
|
| [npm version](#npm-version) `npm-version` | npmPackage | `--npm-package <name>` |
|
|
42
52
|
| [npm total downloads](#npm-total-downloads) `npm-total-downloads` | npmPackage | `--npm-package <name>` |
|
|
@@ -46,15 +56,22 @@ package or finish setting up Codecov.
|
|
|
46
56
|
| [Coverage for one package](#codecov-flag) `codecov-flag` | codecovFlag | `--codecov-flag <name>` |
|
|
47
57
|
| [CI status](#workflow) `workflow` | workflowFile | `--workflow <file>` |
|
|
48
58
|
| [Hosted test report](#test-report) `test-report` | testReportUrl | `--test-report <url>` |
|
|
49
|
-
| [
|
|
59
|
+
| [Contributors](#contributors) `contributors` | — | on by default |
|
|
60
|
+
| [GitHub forks](#forks) `forks` | — | on by default |
|
|
61
|
+
| [Open issues](#issues) `issues` | — | on by default |
|
|
62
|
+
| [Open pull requests](#pull-requests) `pull-requests` | — | on by default |
|
|
63
|
+
| [Merged pull requests](#prs-merged) `prs-merged` | — | on by default |
|
|
64
|
+
| [GitHub Discussions](#discussions) `discussions` | — | on by default |
|
|
50
65
|
| [Commit activity](#commit-activity) `commit-activity` | — | on by default |
|
|
51
66
|
| [Last commit](#last-commit) `last-commit` | — | on by default |
|
|
52
67
|
| [Discord](#discord) `discord` | discordId, discordInvite | `--discord-id <id>` `--discord-invite <url>` |
|
|
68
|
+
| [Open in StackBlitz](#stackblitz) `stackblitz` | stackblitzUrl | `--stackblitz <url>` |
|
|
69
|
+
| [Open in GitHub Codespaces](#codespaces) `codespaces` | — | on by default |
|
|
53
70
|
| [PRs welcome](#prs-welcome) `prs-welcome` | — | on by default |
|
|
54
71
|
| [License](#license) `license` | — | on by default |
|
|
55
72
|
| [Tech stack chips](#stack) `stack` | stack | `--stack <A,B,C>` |
|
|
56
73
|
|
|
57
|
-
##
|
|
74
|
+
## Row 1 — what this is and where to try it
|
|
58
75
|
|
|
59
76
|
### doi
|
|
60
77
|
|
|
@@ -104,6 +121,14 @@ A demo video does more for a README than three paragraphs. Any YouTube URL works
|
|
|
104
121
|
|
|
105
122
|
Enable with: `--youtube <url>`
|
|
106
123
|
|
|
124
|
+
### uptime
|
|
125
|
+
|
|
126
|
+
**Uptime**
|
|
127
|
+
|
|
128
|
+
Create a monitor at uptimerobot.com, then a public status page, and link the status page here. This is a static badge — it says "brightgreen" even while you are down. For a live one use the UptimeRobot shields endpoint with a read-only API key.
|
|
129
|
+
|
|
130
|
+
Enable with: `--uptime <url>`
|
|
131
|
+
|
|
107
132
|
### deploy-cloudflare
|
|
108
133
|
|
|
109
134
|
**Deploy to Cloudflare Workers**
|
|
@@ -112,24 +137,16 @@ The repo must contain a wrangler.toml (or wrangler.jsonc) at the path the button
|
|
|
112
137
|
|
|
113
138
|
Enable with: `--cloudflare-deploy`
|
|
114
139
|
|
|
115
|
-
|
|
140
|
+
## Row 2 — is it used, is it working, is it shipped
|
|
116
141
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
Nothing to configure — StackBlitz imports a public repo straight from a URL: `https://stackblitz.com/github/<owner>/<repo>/tree/<branch>/<path>`. Point it at a directory that boots on its own (a package with its own package.json, or an `examples/` folder), because StackBlitz installs from the manifest at that path and a bare monorepo root will not run. Node APIs need the WebContainer runtime, which means the directory must be ESM and its deps must be installable from npm.
|
|
120
|
-
|
|
121
|
-
Enable with: `--stackblitz <url>`
|
|
122
|
-
|
|
123
|
-
### codespaces
|
|
142
|
+
### stars
|
|
124
143
|
|
|
125
|
-
**
|
|
144
|
+
**GitHub stars**
|
|
126
145
|
|
|
127
|
-
Nothing to configure
|
|
146
|
+
Nothing to configure. Public repos only — shields.io cannot read a private repo.
|
|
128
147
|
|
|
129
148
|
Included by default — no configuration needed.
|
|
130
149
|
|
|
131
|
-
## Quality — is it working, is it tested, is it shipped
|
|
132
|
-
|
|
133
150
|
### npm-downloads
|
|
134
151
|
|
|
135
152
|
**npm monthly downloads**
|
|
@@ -202,21 +219,13 @@ Backed by `.github/workflows/deploy-test-reports.yml`, which publishes the Vites
|
|
|
202
219
|
|
|
203
220
|
Enable with: `--test-report <url>`
|
|
204
221
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
**Uptime**
|
|
222
|
+
## Row 3 — is it alive, who is behind it
|
|
208
223
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
Enable with: `--uptime <url>`
|
|
212
|
-
|
|
213
|
-
## Community — is it alive, can I join
|
|
214
|
-
|
|
215
|
-
### stars
|
|
224
|
+
### contributors
|
|
216
225
|
|
|
217
|
-
**
|
|
226
|
+
**Contributors**
|
|
218
227
|
|
|
219
|
-
Nothing to configure
|
|
228
|
+
Nothing to configure, but it counts commit authors GitHub could match to an account — commits made with an unregistered email are attributed to nobody and do not appear here. Use `contributors-anon` instead if your history has many of those.
|
|
220
229
|
|
|
221
230
|
Included by default — no configuration needed.
|
|
222
231
|
|
|
@@ -228,14 +237,6 @@ Nothing to configure. Counts direct forks only, not forks of forks, so it underc
|
|
|
228
237
|
|
|
229
238
|
Included by default — no configuration needed.
|
|
230
239
|
|
|
231
|
-
### contributors
|
|
232
|
-
|
|
233
|
-
**Contributors**
|
|
234
|
-
|
|
235
|
-
Nothing to configure, but it counts commit authors GitHub could match to an account — commits made with an unregistered email are attributed to nobody and do not appear here. Use `contributors-anon` instead if your history has many of those.
|
|
236
|
-
|
|
237
|
-
Included by default — no configuration needed.
|
|
238
|
-
|
|
239
240
|
### issues
|
|
240
241
|
|
|
241
242
|
**Open issues**
|
|
@@ -292,6 +293,24 @@ Two different values: the numeric server id drives the online-member count (Serv
|
|
|
292
293
|
|
|
293
294
|
Enable with: `--discord-id <id>` `--discord-invite <url>`
|
|
294
295
|
|
|
296
|
+
## Row 4 — run it yourself, and what it is built with
|
|
297
|
+
|
|
298
|
+
### stackblitz
|
|
299
|
+
|
|
300
|
+
**Open in StackBlitz**
|
|
301
|
+
|
|
302
|
+
Nothing to configure — StackBlitz imports a public repo straight from a URL: `https://stackblitz.com/github/<owner>/<repo>/tree/<branch>/<path>`. Point it at a directory that boots on its own (a package with its own package.json, or an `examples/` folder), because StackBlitz installs from the manifest at that path and a bare monorepo root will not run. Node APIs need the WebContainer runtime, which means the directory must be ESM and its deps must be installable from npm.
|
|
303
|
+
|
|
304
|
+
Enable with: `--stackblitz <url>`
|
|
305
|
+
|
|
306
|
+
### codespaces
|
|
307
|
+
|
|
308
|
+
**Open in GitHub Codespaces**
|
|
309
|
+
|
|
310
|
+
Nothing to configure — the link boots the repo in a default container. Add a `.devcontainer/devcontainer.json` if the default image is missing something your install needs, because the visitor sees the failure, not you. Codespaces bills the visitor's own free hours, so the button costs you nothing.
|
|
311
|
+
|
|
312
|
+
Included by default — no configuration needed.
|
|
313
|
+
|
|
295
314
|
### prs-welcome
|
|
296
315
|
|
|
297
316
|
**PRs welcome**
|
|
@@ -308,8 +327,6 @@ Reads the license GitHub detected, which comes from a recognized LICENSE file at
|
|
|
308
327
|
|
|
309
328
|
Included by default — no configuration needed.
|
|
310
329
|
|
|
311
|
-
## Stack — what it is built with
|
|
312
|
-
|
|
313
330
|
### stack
|
|
314
331
|
|
|
315
332
|
**Tech stack chips**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "template-git-repo",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.31",
|
|
4
4
|
"description": "One command to set up a repo with GitHub Actions, README badges, Turborepo and Codecov — the CI setup from qwksearch-research-agent, as a template",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/src/badges.js
CHANGED
|
@@ -11,14 +11,34 @@
|
|
|
11
11
|
* setup what a human has to do outside this repo to make it real, which is
|
|
12
12
|
* the part every badge README omits. `docs/BADGES.md` is generated
|
|
13
13
|
* from these strings, so the docs cannot drift from the catalog.
|
|
14
|
-
* group which line of the badge block it belongs on.
|
|
15
|
-
*
|
|
14
|
+
* group which line of the badge block it belongs on. See `GROUPS` below
|
|
15
|
+
* for what each row carries and why the split falls where it does.
|
|
16
16
|
*
|
|
17
17
|
* Adding a badge means adding an entry here — nothing else in the package
|
|
18
18
|
* needs to know about it.
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Row order in the rendered block, and what each row is for.
|
|
23
|
+
*
|
|
24
|
+
* The split is by the question a reader is asking, not by where the badge is
|
|
25
|
+
* hosted — which is why stars sits with the download counts rather than with
|
|
26
|
+
* the PR queue, and why the sandbox buttons sit at the bottom next to the
|
|
27
|
+
* stack chips instead of competing with the link to the live app.
|
|
28
|
+
*
|
|
29
|
+
* identity what this is and where to try it — DOI, wiki, app, docs, API,
|
|
30
|
+
* demo video, uptime, the one-click deploy button.
|
|
31
|
+
* quality is it used and is it working — stars, npm downloads and version,
|
|
32
|
+
* install size, coverage, CI.
|
|
33
|
+
* community is it alive and who is behind it — contributors, forks, issues,
|
|
34
|
+
* the PR queue, commit activity, chat.
|
|
35
|
+
* stack run it yourself, and what it is built with — StackBlitz,
|
|
36
|
+
* Codespaces, PRs welcome, license, the tech chips.
|
|
37
|
+
*
|
|
38
|
+
* Row one earns the click, row two says whether the project is worth the
|
|
39
|
+
* click, and the rest is for whoever is still reading. Twenty badges in one
|
|
40
|
+
* run is a wall; four labelled rows reads.
|
|
41
|
+
*/
|
|
22
42
|
export const GROUPS = ['identity', 'quality', 'community', 'stack'];
|
|
23
43
|
|
|
24
44
|
/** @typedef {Record<string, string | undefined>} BadgeContext */
|
|
@@ -108,6 +128,17 @@ export const BADGES = [
|
|
|
108
128
|
setup: 'A demo video does more for a README than three paragraphs. Any YouTube URL works.',
|
|
109
129
|
height: '20px',
|
|
110
130
|
},
|
|
131
|
+
{
|
|
132
|
+
id: 'uptime',
|
|
133
|
+
title: 'Uptime',
|
|
134
|
+
group: 'identity',
|
|
135
|
+
needs: ['uptimeUrl'],
|
|
136
|
+
alt: 'Uptime Status',
|
|
137
|
+
href: (c) => c.uptimeUrl,
|
|
138
|
+
img: () => shieldsBadge('Uptime-Status', 'brightgreen', { logo: 'uptimerobot', logoColor: 'white' }),
|
|
139
|
+
setup:
|
|
140
|
+
'Create a monitor at uptimerobot.com, then a public status page, and link the status page here. This is a static badge — it says "brightgreen" even while you are down. For a live one use the UptimeRobot shields endpoint with a read-only API key.',
|
|
141
|
+
},
|
|
111
142
|
{
|
|
112
143
|
id: 'deploy-cloudflare',
|
|
113
144
|
title: 'Deploy to Cloudflare Workers',
|
|
@@ -120,107 +151,16 @@ export const BADGES = [
|
|
|
120
151
|
'The repo must contain a wrangler.toml (or wrangler.jsonc) at the path the button clones. Cloudflare forks the repo into the visitor\'s account and runs the build, so anything the build needs must come from `[vars]` or be prompted for — a build that requires a secret fails for every visitor.',
|
|
121
152
|
height: '24px',
|
|
122
153
|
},
|
|
123
|
-
{
|
|
124
|
-
id: 'stackblitz',
|
|
125
|
-
title: 'Open in StackBlitz',
|
|
126
|
-
group: 'identity',
|
|
127
|
-
needs: ['stackblitzUrl'],
|
|
128
|
-
alt: 'Open in StackBlitz',
|
|
129
|
-
href: (c) => c.stackblitzUrl,
|
|
130
|
-
img: () => 'https://developer.stackblitz.com/img/open_in_stackblitz.svg',
|
|
131
|
-
setup:
|
|
132
|
-
'Nothing to configure — StackBlitz imports a public repo straight from a URL: `https://stackblitz.com/github/<owner>/<repo>/tree/<branch>/<path>`. Point it at a directory that boots on its own (a package with its own package.json, or an `examples/` folder), because StackBlitz installs from the manifest at that path and a bare monorepo root will not run. Node APIs need the WebContainer runtime, which means the directory must be ESM and its deps must be installable from npm.',
|
|
133
|
-
height: '20px',
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
id: 'codespaces',
|
|
137
|
-
title: 'Open in GitHub Codespaces',
|
|
138
|
-
group: 'identity',
|
|
139
|
-
needs: [],
|
|
140
|
-
alt: 'Open in GitHub Codespaces',
|
|
141
|
-
href: (c) => `https://codespaces.new/${c.repoSlug}`,
|
|
142
|
-
img: () => 'https://github.com/codespaces/badge.svg',
|
|
143
|
-
setup:
|
|
144
|
-
'Nothing to configure — the link boots the repo in a default container. Add a `.devcontainer/devcontainer.json` if the default image is missing something your install needs, because the visitor sees the failure, not you. Codespaces bills the visitor\'s own free hours, so the button costs you nothing.',
|
|
145
|
-
height: '20px',
|
|
146
|
-
},
|
|
147
154
|
{
|
|
148
155
|
id: 'stars',
|
|
149
156
|
title: 'GitHub stars',
|
|
150
|
-
group: '
|
|
157
|
+
group: 'quality',
|
|
151
158
|
needs: [],
|
|
152
159
|
alt: 'GitHub Stars',
|
|
153
160
|
href: (c) => `https://github.com/${c.repoSlug}/stargazers`,
|
|
154
161
|
img: (c) => `https://img.shields.io/github/stars/${c.repoSlug}`,
|
|
155
162
|
setup: 'Nothing to configure. Public repos only — shields.io cannot read a private repo.',
|
|
156
163
|
},
|
|
157
|
-
{
|
|
158
|
-
id: 'forks',
|
|
159
|
-
title: 'GitHub forks',
|
|
160
|
-
group: 'community',
|
|
161
|
-
needs: [],
|
|
162
|
-
alt: 'GitHub Forks',
|
|
163
|
-
href: (c) => `https://github.com/${c.repoSlug}/forks`,
|
|
164
|
-
img: (c) => `https://img.shields.io/github/forks/${c.repoSlug}`,
|
|
165
|
-
setup:
|
|
166
|
-
'Nothing to configure. Counts direct forks only, not forks of forks, so it undercounts a repo that has been forked along a chain. Public repos only.',
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
id: 'contributors',
|
|
170
|
-
title: 'Contributors',
|
|
171
|
-
group: 'community',
|
|
172
|
-
needs: [],
|
|
173
|
-
alt: 'Contributors',
|
|
174
|
-
href: (c) => `https://github.com/${c.repoSlug}/graphs/contributors`,
|
|
175
|
-
img: (c) => `https://img.shields.io/github/contributors/${c.repoSlug}`,
|
|
176
|
-
setup:
|
|
177
|
-
'Nothing to configure, but it counts commit authors GitHub could match to an account — commits made with an unregistered email are attributed to nobody and do not appear here. Use `contributors-anon` instead if your history has many of those.',
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
id: 'issues',
|
|
181
|
-
title: 'Open issues',
|
|
182
|
-
group: 'community',
|
|
183
|
-
needs: [],
|
|
184
|
-
alt: 'GitHub Issues',
|
|
185
|
-
href: (c) => `https://github.com/${c.repoSlug}/issues`,
|
|
186
|
-
img: (c) => `https://img.shields.io/github/issues/${c.repoSlug}?logo=github`,
|
|
187
|
-
setup:
|
|
188
|
-
'Nothing to configure beyond having Issues enabled (Settings → Features). Read it as a work-in-flight number, not a defect count: shields.io asks GitHub Search, which counts pull requests as issues unless the badge path excludes them — this one uses the `/issues/` path, which already does.',
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
id: 'pull-requests',
|
|
192
|
-
title: 'Open pull requests',
|
|
193
|
-
group: 'community',
|
|
194
|
-
needs: [],
|
|
195
|
-
alt: 'Open Pull Requests',
|
|
196
|
-
href: (c) => `https://github.com/${c.repoSlug}/pulls`,
|
|
197
|
-
img: (c) => `https://img.shields.io/github/issues-pr/${c.repoSlug}?logo=github&label=PRs`,
|
|
198
|
-
setup:
|
|
199
|
-
'Nothing to configure. Counts open PRs including drafts. Pair it with the merged count below — an open count alone reads the same whether the queue moves in a day or has been stuck for a year.',
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
id: 'prs-merged',
|
|
203
|
-
title: 'Merged pull requests',
|
|
204
|
-
group: 'community',
|
|
205
|
-
needs: [],
|
|
206
|
-
alt: 'Merged Pull Requests',
|
|
207
|
-
href: (c) => `https://github.com/${c.repoSlug}/pulls?q=is%3Apr+is%3Aclosed`,
|
|
208
|
-
img: (c) =>
|
|
209
|
-
`https://img.shields.io/github/issues-pr-closed/${c.repoSlug}?logo=github&label=PRs%20merged&color=8957e5`,
|
|
210
|
-
setup:
|
|
211
|
-
'Nothing to configure. shields.io has no "merged" endpoint — `issues-pr-closed` counts every PR that is no longer open, so PRs closed without merging are in this number too. On a repo that closes a lot of stale PRs, label it "PRs closed" instead of overstating what landed.',
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
id: 'discussions',
|
|
215
|
-
title: 'GitHub Discussions',
|
|
216
|
-
group: 'community',
|
|
217
|
-
needs: [],
|
|
218
|
-
alt: 'GitHub Discussions',
|
|
219
|
-
href: (c) => `https://github.com/${c.repoSlug}/discussions`,
|
|
220
|
-
img: (c) => `https://img.shields.io/github/discussions/${c.repoSlug}`,
|
|
221
|
-
setup:
|
|
222
|
-
'Discussions has to be turned on (Settings → Features → Discussions) or the badge reads "repo not found" — which looks identical to a private repo. Turn it on before adding the badge, not after.',
|
|
223
|
-
},
|
|
224
164
|
{
|
|
225
165
|
id: 'npm-downloads',
|
|
226
166
|
title: 'npm monthly downloads',
|
|
@@ -324,15 +264,71 @@ export const BADGES = [
|
|
|
324
264
|
'Backed by `.github/workflows/deploy-test-reports.yml`, which publishes the Vitest HTML reporter output to Cloudflare Workers on every push to the default branch. Needs CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID secrets.',
|
|
325
265
|
},
|
|
326
266
|
{
|
|
327
|
-
id: '
|
|
328
|
-
title: '
|
|
329
|
-
group: '
|
|
330
|
-
needs: [
|
|
331
|
-
alt: '
|
|
332
|
-
href: (c) => c.
|
|
333
|
-
img: () =>
|
|
267
|
+
id: 'contributors',
|
|
268
|
+
title: 'Contributors',
|
|
269
|
+
group: 'community',
|
|
270
|
+
needs: [],
|
|
271
|
+
alt: 'Contributors',
|
|
272
|
+
href: (c) => `https://github.com/${c.repoSlug}/graphs/contributors`,
|
|
273
|
+
img: (c) => `https://img.shields.io/github/contributors/${c.repoSlug}`,
|
|
334
274
|
setup:
|
|
335
|
-
'
|
|
275
|
+
'Nothing to configure, but it counts commit authors GitHub could match to an account — commits made with an unregistered email are attributed to nobody and do not appear here. Use `contributors-anon` instead if your history has many of those.',
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
id: 'forks',
|
|
279
|
+
title: 'GitHub forks',
|
|
280
|
+
group: 'community',
|
|
281
|
+
needs: [],
|
|
282
|
+
alt: 'GitHub Forks',
|
|
283
|
+
href: (c) => `https://github.com/${c.repoSlug}/forks`,
|
|
284
|
+
img: (c) => `https://img.shields.io/github/forks/${c.repoSlug}`,
|
|
285
|
+
setup:
|
|
286
|
+
'Nothing to configure. Counts direct forks only, not forks of forks, so it undercounts a repo that has been forked along a chain. Public repos only.',
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
id: 'issues',
|
|
290
|
+
title: 'Open issues',
|
|
291
|
+
group: 'community',
|
|
292
|
+
needs: [],
|
|
293
|
+
alt: 'GitHub Issues',
|
|
294
|
+
href: (c) => `https://github.com/${c.repoSlug}/issues`,
|
|
295
|
+
img: (c) => `https://img.shields.io/github/issues/${c.repoSlug}?logo=github`,
|
|
296
|
+
setup:
|
|
297
|
+
'Nothing to configure beyond having Issues enabled (Settings → Features). Read it as a work-in-flight number, not a defect count: shields.io asks GitHub Search, which counts pull requests as issues unless the badge path excludes them — this one uses the `/issues/` path, which already does.',
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
id: 'pull-requests',
|
|
301
|
+
title: 'Open pull requests',
|
|
302
|
+
group: 'community',
|
|
303
|
+
needs: [],
|
|
304
|
+
alt: 'Open Pull Requests',
|
|
305
|
+
href: (c) => `https://github.com/${c.repoSlug}/pulls`,
|
|
306
|
+
img: (c) => `https://img.shields.io/github/issues-pr/${c.repoSlug}?logo=github&label=PRs`,
|
|
307
|
+
setup:
|
|
308
|
+
'Nothing to configure. Counts open PRs including drafts. Pair it with the merged count below — an open count alone reads the same whether the queue moves in a day or has been stuck for a year.',
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
id: 'prs-merged',
|
|
312
|
+
title: 'Merged pull requests',
|
|
313
|
+
group: 'community',
|
|
314
|
+
needs: [],
|
|
315
|
+
alt: 'Merged Pull Requests',
|
|
316
|
+
href: (c) => `https://github.com/${c.repoSlug}/pulls?q=is%3Apr+is%3Aclosed`,
|
|
317
|
+
img: (c) =>
|
|
318
|
+
`https://img.shields.io/github/issues-pr-closed/${c.repoSlug}?logo=github&label=PRs%20merged&color=8957e5`,
|
|
319
|
+
setup:
|
|
320
|
+
'Nothing to configure. shields.io has no "merged" endpoint — `issues-pr-closed` counts every PR that is no longer open, so PRs closed without merging are in this number too. On a repo that closes a lot of stale PRs, label it "PRs closed" instead of overstating what landed.',
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
id: 'discussions',
|
|
324
|
+
title: 'GitHub Discussions',
|
|
325
|
+
group: 'community',
|
|
326
|
+
needs: [],
|
|
327
|
+
alt: 'GitHub Discussions',
|
|
328
|
+
href: (c) => `https://github.com/${c.repoSlug}/discussions`,
|
|
329
|
+
img: (c) => `https://img.shields.io/github/discussions/${c.repoSlug}`,
|
|
330
|
+
setup:
|
|
331
|
+
'Discussions has to be turned on (Settings → Features → Discussions) or the badge reads "repo not found" — which looks identical to a private repo. Turn it on before adding the badge, not after.',
|
|
336
332
|
},
|
|
337
333
|
{
|
|
338
334
|
id: 'commit-activity',
|
|
@@ -366,10 +362,34 @@ export const BADGES = [
|
|
|
366
362
|
setup:
|
|
367
363
|
'Two different values: the numeric server id drives the online-member count (Server Settings → Widget → Enable Server Widget, then copy the Server ID), and the invite link is where the badge points. Without the widget enabled the badge reads "invite" instead of a count.',
|
|
368
364
|
},
|
|
365
|
+
{
|
|
366
|
+
id: 'stackblitz',
|
|
367
|
+
title: 'Open in StackBlitz',
|
|
368
|
+
group: 'stack',
|
|
369
|
+
needs: ['stackblitzUrl'],
|
|
370
|
+
alt: 'Open in StackBlitz',
|
|
371
|
+
href: (c) => c.stackblitzUrl,
|
|
372
|
+
img: () => 'https://developer.stackblitz.com/img/open_in_stackblitz.svg',
|
|
373
|
+
setup:
|
|
374
|
+
'Nothing to configure — StackBlitz imports a public repo straight from a URL: `https://stackblitz.com/github/<owner>/<repo>/tree/<branch>/<path>`. Point it at a directory that boots on its own (a package with its own package.json, or an `examples/` folder), because StackBlitz installs from the manifest at that path and a bare monorepo root will not run. Node APIs need the WebContainer runtime, which means the directory must be ESM and its deps must be installable from npm.',
|
|
375
|
+
height: '20px',
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
id: 'codespaces',
|
|
379
|
+
title: 'Open in GitHub Codespaces',
|
|
380
|
+
group: 'stack',
|
|
381
|
+
needs: [],
|
|
382
|
+
alt: 'Open in GitHub Codespaces',
|
|
383
|
+
href: (c) => `https://codespaces.new/${c.repoSlug}`,
|
|
384
|
+
img: () => 'https://github.com/codespaces/badge.svg',
|
|
385
|
+
setup:
|
|
386
|
+
'Nothing to configure — the link boots the repo in a default container. Add a `.devcontainer/devcontainer.json` if the default image is missing something your install needs, because the visitor sees the failure, not you. Codespaces bills the visitor\'s own free hours, so the button costs you nothing.',
|
|
387
|
+
height: '20px',
|
|
388
|
+
},
|
|
369
389
|
{
|
|
370
390
|
id: 'prs-welcome',
|
|
371
391
|
title: 'PRs welcome',
|
|
372
|
-
group: '
|
|
392
|
+
group: 'stack',
|
|
373
393
|
needs: [],
|
|
374
394
|
alt: 'PRs Welcome',
|
|
375
395
|
href: () =>
|
|
@@ -380,7 +400,7 @@ export const BADGES = [
|
|
|
380
400
|
{
|
|
381
401
|
id: 'license',
|
|
382
402
|
title: 'License',
|
|
383
|
-
group: '
|
|
403
|
+
group: 'stack',
|
|
384
404
|
needs: [],
|
|
385
405
|
alt: 'License',
|
|
386
406
|
href: (c) => `https://github.com/${c.repoSlug}/blob/${c.defaultBranch}/LICENSE.md`,
|