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
docs: clarify core vs optional workflows and add MCP-server variations to ci-cd.md (#61)
* docs: clarify core vs optional workflows and add MCP-server variations to ci-cd.md
Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
* docs: clarify validate.yml not required for mcp-server in ci-cd.md
The MCP-server Variations section opened with "follow the same core
requirement as cursor-plugin repos," implying validate.yml was required.
It is not. All validate.yml checks assume plugin.json; mcp-server repos
have no plugin.json.
Rewrites the section to state the three required workflows explicitly
(drift-check.yml, stale.yml, publish.yml) and explains why validate.yml
is absent. Also updates the doc intro to distinguish cursor-plugin (four
required) from mcp-server (three required).
This brings the prose into exact agreement with the machine-readable
config in standards/drift-checker.config.json.
Signed-off-by: fOuttaMyPaint <tmhospitalitystrategies@gmail.com>
Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
---------
Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com>
Signed-off-by: fOuttaMyPaint <tmhospitalitystrategies@gmail.com>
Copy file name to clipboardExpand all lines: standards/ci-cd.md
+21-37Lines changed: 21 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# CI/CD Standards
2
2
3
-
Every developer tool repository must have these four core GitHub Actions workflows. Optional workflows are documented at the end.
3
+
Cursor-plugin repositories must have the four core GitHub Actions workflows listed below. MCP-server repositories require a different set of three; see MCP-server Variations. Optional workflows are documented at the end.
4
4
5
5
## Core Workflows
6
6
@@ -55,49 +55,22 @@ Automatic version bump, tagging, and GitHub Release creation.
55
55
-`permissions: contents: write`
56
56
-`fetch-depth: 0` on checkout for full git history
57
57
58
-
### 3. `pages.yml`
58
+
### 3. `drift-check.yml`
59
59
60
-
**Triggers:**`push` to `main` (paths: `docs/**`, `assets/**`), `workflow_dispatch`
60
+
**Triggers:**`push` to `main`, `pull_request` to `main`, `workflow_dispatch`
61
61
62
-
Deploys the `docs/` directory to GitHub Pages.
62
+
Runs the ecosystem drift checker against the repo's own agent files to detect version-signal drift and missing or broken required references.
**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 require three workflows: `drift-check.yml`, `stale.yml`, and `publish.yml`. This is a different set from cursor-plugin repos, not a superset or subset.
96
+
97
+
- **`validate.yml` is not required**. Every check in `validate.yml` (`plugin.json` validity, manifest fields, skill and rule file existence) assumes a `plugin.json`. MCP-server repos have no `plugin.json`, so `validate.yml` does not apply. CI validation is still expected; use `ci.yml` or an equivalent workflow suited to the server's runtime.
98
+
- **`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.
99
+
- **`pages.yml` is optional**. Include it if the repo has a `docs/` site; omit it otherwise.
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