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
**MkDocs approach (for repos with extensive docs):**
79
-
80
-
```yaml
81
-
steps:
82
-
- uses: actions/checkout@v4
83
-
- uses: actions/setup-python@v5
84
-
with:
85
-
python-version: "3.12"
86
-
- run: pip install mkdocs-material
87
-
- run: mkdocs build --strict
88
-
- uses: actions/upload-pages-artifact@v3
89
-
with:
90
-
path: site/
91
-
- uses: actions/deploy-pages@v4
92
-
```
93
-
94
-
**Required permissions:**
95
-
96
-
```yaml
97
-
permissions:
98
-
pages: write
99
-
id-token: write
100
-
```
73
+
`mode: self` checks only the calling repo's checkout; no cross-repo token is needed. Findings at `info` severity are advisory. Findings at `error` or `warn` severity indicate real drift that should be addressed.
101
74
102
75
### 4. `stale.yml`
103
76
@@ -109,12 +82,23 @@ Marks issues and PRs as stale after inactivity and closes them after further ina
109
82
110
83
| Workflow | Purpose | When to include |
111
84
| --- | --- | --- |
85
+
| `pages.yml` | GitHub Pages deployment | Repos with a `docs/` site; generated by scaffold by default |
86
+
| `label-sync.yml` | Auto-label PRs by changed file paths | Any repo; generated by scaffold but not required |
112
87
| `codeql.yml` | Security scanning via GitHub CodeQL | Repos with substantial code (MCP servers, TypeScript packages) |
| `ci.yml` | Extended test/lint/build pipeline | Repos with complex test suites |
116
91
| Domain-specific update | Auto-fetch external data (e.g., native DBs, API schemas) | Repos that consume external data |
117
92
93
+
## MCP-server Variations
94
+
95
+
MCP-server repos follow the same core requirement as cursor-plugin repos, with these adjustments:
96
+
97
+
- **`publish.yml` replaces `release.yml`**. MCP servers release via npm publish (OIDC provenance recommended; see [versioning.md](versioning.md)). A conventional-commit `release.yml` that reads `plugin.json` does not apply.
98
+
- **`pages.yml` is optional**. Include it if the repo has a `docs/` site; omit it otherwise.
99
+
- **Plugin-manifest checks in `validate.yml` may be omitted**. The JSON-validity, manifest-fields, skill-file-existence, and rule-file-existence checks all assume a `plugin.json`. Remove or skip those checks if no `plugin.json` is present. Credential scanning still applies.
100
+
- **`drift-check.yml` and `stale.yml` are required**, same as cursor-plugin repos.
101
+
118
102
## Workflow Naming
119
103
120
104
- Use lowercase with hyphens: `validate.yml`, `release.yml`, `pages.yml`
0 commit comments