Files
santifer--career-ops/.github/PULL_REQUEST_TEMPLATE/plugin-registry.md
T
wehub-resource-sync d083df1fdb
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 2s
Web CI / web typecheck + build (push) Failing after 1s
Release Please / release-please (push) Failing after 1s
CodeQL Analysis / Analyze (go) (push) Failing after 16s
chore: import upstream snapshot with attribution
2026-07-13 12:02:43 +08:00

45 lines
1.9 KiB
Markdown

<!--
Use this template for a PR that adds or updates ONE plugins-registry/<id>.json file.
Select it by appending ?template=plugin-registry.md to the PR-compare URL, or
the plugin template's release workflow opens it for you on a release tag.
ONE plugin per PR. Change ONLY that plugin's entry.
-->
## Plugin registry change
Home issue: #____
Paste the registry entry (one object), pinned to the exact reviewed commit:
```json
{
"name": "career-ops-plugin-<name>",
"id": "<name>",
"repo": "https://github.com/<you>/career-ops-plugin-<name>",
"author": "<you>",
"hooks": ["provider"],
"description": "Mission-framed one-liner.",
"requiredEnv": [],
"allowedHosts": ["api.example.com"],
"skill": true,
"license": "MIT",
"version": "1.0.0",
"sha": "<40-hex-commit>"
}
```
### Maintainer review checklist
- [ ] Naming `career-ops-plugin-<name>`; `id` == name minus the prefix
- [ ] Minimum files present (manifest.json, index.mjs, README.md, LICENSE)
- [ ] Manifest valid: apiVersion 1, `humanInTheLoop: true`, hooks ⊆ {provider, ingest, search, notify, export} — **no apply/submit**
- [ ] MIT-compatible LICENSE; no personal data in the repo
- [ ] Egress: `allowedHosts` are real public hosts; no IP literals / metadata / `*.internal`; no localhost without `allowsLocalhost` + a reason
- [ ] Static audit clean: no `child_process`/`playwright`/raw sockets/global `fetch`/`eval`/bare-dependency imports (egress only via `ctx.fetch`)
- [ ] No core-owned secrets in `requiredEnv`
- [ ] Reads PUBLIC data or the user's OWN account only — no centralized infrastructure, no auto-submit, no blind-apply
- [ ] No commercial / hosted-service / monetization wording (the project is free and local-first)
- [ ] If it ships a skill: domain-scoped — does not instruct the agent to edit core files, change scoring, reveal secrets, or act outside its hooks
- [ ] `sha` is pinned to the exact reviewed commit
- [ ] CI (`plugin-registry-validate`) is green