Skip to content

Commit df308cd

Browse files
committed
ci: concurrency, cache, pinned actions, dependabot gha, .node-version (v0.1.8)
- Workflow: workflow_dispatch, cancel-in-progress, timeout, npm cache - Pin actions/checkout + setup-node to SHAs; node-version-file - Dependabot: github-actions weekly; commit-message prefixes - .node-version + engines.node; validate .node-version; README layout - Remove redundant README grep step (validate covers it) Made-with: Cursor
1 parent 3244d54 commit df308cd

8 files changed

Lines changed: 44 additions & 10 deletions

File tree

.cursor-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "leadmagic",
33
"displayName": "LeadMagic",
4-
"version": "0.1.7",
4+
"version": "0.1.8",
55
"description": "Official LeadMagic plugin for Cursor with hosted MCP (OAuth by default), skills, rules, agent, and commands: emails, mobile, LinkedIn-to-email, job changes, company research, competitors, technographics, and credits.",
66
"author": {
77
"name": "LeadMagic",

.github/dependabot.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,16 @@ updates:
77
open-pull-requests-limit: 5
88
labels:
99
- dependencies
10+
commit-message:
11+
prefix: "chore(deps)"
12+
13+
- package-ecosystem: github-actions
14+
directory: "/"
15+
schedule:
16+
interval: weekly
17+
open-pull-requests-limit: 5
18+
labels:
19+
- dependencies
20+
- github-actions
21+
commit-message:
22+
prefix: "ci"

.github/workflows/validate-plugin.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ on:
99
- ".cursor-plugin/**"
1010
- ".github/**"
1111
- ".gitignore"
12+
- ".node-version"
1213
- "assets/**"
1314
- "mcp.json"
1415
- "package.json"
@@ -24,25 +25,36 @@ on:
2425
- "skills/**"
2526
- "SECURITY.md"
2627
- "LICENSE"
28+
workflow_dispatch:
29+
30+
concurrency:
31+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
32+
cancel-in-progress: true
33+
34+
defaults:
35+
run:
36+
shell: bash
2737

2838
permissions:
2939
contents: read
3040

3141
jobs:
3242
validate:
33-
name: Validate package structure
43+
name: Validate package
3444
runs-on: ubuntu-latest
45+
timeout-minutes: 15
3546
env:
3647
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
3748

3849
steps:
3950
- name: Checkout repository
40-
uses: actions/checkout@v5
51+
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
4152

4253
- name: Setup Node.js
43-
uses: actions/setup-node@v5
54+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5
4455
with:
45-
node-version: "22"
56+
node-version-file: ".node-version"
57+
cache: npm
4658

4759
- name: Install dependencies
4860
run: npm ci
@@ -52,7 +64,3 @@ jobs:
5264

5365
- name: Validate plugin and hosted health
5466
run: npm run check
55-
56-
- name: Check README references
57-
run: |
58-
node -e "const fs=require('node:fs');const text=fs.readFileSync('README.md','utf8');for(const value of ['https://mcp.leadmagic.io/mcp','https://github.com/LeadMagic/leadmagic-openapi','https://cursor.com/docs/plugins','[SECURITY.md](SECURITY.md)','leadmagic://docs','LeadMagic MCP Tools','OAuth','[LICENSE](LICENSE)']){if(!text.includes(value)){throw new Error('README.md is missing required reference: '+value)}}"

.node-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
22

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
All notable changes to the LeadMagic Cursor plugin package are documented here.
44

5+
## 0.1.8
6+
7+
- **CI/CD:** Concurrency to cancel superseded runs; job `timeout-minutes`; `workflow_dispatch`; npm cache via `actions/setup-node`; pin `actions/checkout` and `actions/setup-node` to full SHAs (`v5` tags); drop duplicate README string check (already enforced by `npm run validate`). Dependabot weekly updates for **GitHub Actions** plus npm commit-message prefixes.
8+
- **Tooling:** `.node-version` and `package.json` `engines` for Node 22+.
9+
510
## 0.1.7
611

712
- **Security:** Add [SECURITY.md](SECURITY.md); expand `.gitignore` for `.env*`; CI `permissions: contents: read`, `npm audit --audit-level=high`, and [Dependabot](.github/dependabot.yml) for npm.

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ For API-key mode (no OAuth), set `LEADMAGIC_API_KEY` where Cursor can read it an
7171

7272
## Developing this repository
7373

74+
CI and local tooling target **Node.js 22** (see `.node-version` and `package.json` `engines`).
75+
7476
```bash
7577
npm ci
7678
npm run check
@@ -110,6 +112,7 @@ scripts/verify-mcp-health.mjs
110112
schemas/plugin.schema.json
111113
.github/workflows/validate-plugin.yml
112114
.github/dependabot.yml
115+
.node-version
113116
SECURITY.md
114117
LICENSE
115118
README.md

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
{
22
"name": "leadmagic-cursor-plugin",
33
"private": true,
4-
"version": "0.1.7",
4+
"version": "0.1.8",
5+
"engines": {
6+
"node": ">=22"
7+
},
58
"description": "Submission package for the LeadMagic Cursor plugin",
69
"license": "MIT",
710
"scripts": {

scripts/validate-plugin.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ try {
113113
"Missing SECURITY.md (vulnerability disclosure and hardening)",
114114
);
115115
assert(exists("LICENSE"), "Missing LICENSE");
116+
assert(exists(".node-version"), "Missing .node-version (CI / local Node alignment)");
116117

117118
assert(exists("mcp.json"), "Missing mcp.json");
118119
const mcp = readJson("mcp.json");

0 commit comments

Comments
 (0)