specshield 3.4.2 → 3.4.4
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 +8 -8
- package/package.json +9 -1
- package/src/core/configWriter.js +4 -4
package/README.md
CHANGED
|
@@ -68,10 +68,10 @@ This CLI is one surface of the **SpecShield™ platform**. The same contract-com
|
|
|
68
68
|
| Surface | Best for |
|
|
69
69
|
|---|---|
|
|
70
70
|
| **GitHub App** — [github.com/apps/specshield](https://github.com/apps/specshield) | Zero-config PR checks. Install once; every PR gets a check run and a diff comment. |
|
|
71
|
-
| **GitHub Action** — [`
|
|
71
|
+
| **GitHub Action** — [`specshield-io/bdct-action@v1`](https://github.com/marketplace/actions/specshield-bdct) | Pinned, reproducible BDCT + governance gate in any GitHub workflow. |
|
|
72
72
|
| **CLI** *(this package)* | Any CI — GitLab, Jenkins, CircleCI, Bitbucket, Drone — or your laptop. |
|
|
73
73
|
| **IntelliJ plugin** — [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/33137-specshield) | Inline spec findings, one-click auto-fixes, compare & explain — inside IntelliJ IDEA, WebStorm, PyCharm and more. |
|
|
74
|
-
| **MCP server** — [`specshield-mcp-server`](https://github.com/
|
|
74
|
+
| **MCP server** — [`specshield-mcp-server`](https://github.com/specshield-io/specshield-mcp-server) | Give Claude, Cursor, and other AI agents the same deploy gate. |
|
|
75
75
|
|
|
76
76
|
Plus a hosted **dashboard** at [specshield.io](https://specshield.io) — compatibility matrix, consumer registry, append-only audit log, and **API governance** scorecards (OWASP + design-rule linting, standard rule packs, waivers, SARIF/JUnit/HTML reports).
|
|
77
77
|
|
|
@@ -214,7 +214,7 @@ specshield bdct can-i-deploy --version $GITHUB_SHA
|
|
|
214
214
|
- **CI/CD gating** — exit code `1` stops the pipeline automatically.
|
|
215
215
|
- **Microservices contract safety** — consumers publish what they expect, providers verify they deliver it, no cross-team surprises.
|
|
216
216
|
- **API drift tracking** — track how your specs change over time across the platform; know what changed, when, and by whom.
|
|
217
|
-
- **API governance & linting** — score every spec against OWASP + design rules, bring your own Spectral ruleset, and gate PRs on violations with [`specshield govern`](#governance--lint-a-spec-and-gate-the-pr). The same engine also powers the [IntelliJ plugin](https://plugins.jetbrains.com/plugin/33137-specshield), the [GitHub Action](https://github.com/marketplace/actions/specshield-bdct), the [MCP server](https://github.com/
|
|
217
|
+
- **API governance & linting** — score every spec against OWASP + design rules, bring your own Spectral ruleset, and gate PRs on violations with [`specshield govern`](#governance--lint-a-spec-and-gate-the-pr). The same engine also powers the [IntelliJ plugin](https://plugins.jetbrains.com/plugin/33137-specshield), the [GitHub Action](https://github.com/marketplace/actions/specshield-bdct), the [MCP server](https://github.com/specshield-io/specshield-mcp-server), and the [dashboard](https://specshield.io).
|
|
218
218
|
- **Provider conformance** — make sure your *running* service actually matches its published OpenAPI spec, not just on paper.
|
|
219
219
|
- **Pact-free consumer contracts** — record real traffic with `capture from-har` and get an OpenAPI consumer contract without writing a single line of Pact DSL.
|
|
220
220
|
|
|
@@ -419,7 +419,7 @@ Run it in CI right after your build:
|
|
|
419
419
|
run: specshield govern api/openapi.yaml --min-score 80
|
|
420
420
|
```
|
|
421
421
|
|
|
422
|
-
> The same governance engine powers the [IntelliJ plugin](https://plugins.jetbrains.com/plugin/33137-specshield), the [GitHub Action](https://github.com/marketplace/actions/specshield-bdct), the [MCP server](https://github.com/
|
|
422
|
+
> The same governance engine powers the [IntelliJ plugin](https://plugins.jetbrains.com/plugin/33137-specshield), the [GitHub Action](https://github.com/marketplace/actions/specshield-bdct), the [MCP server](https://github.com/specshield-io/specshield-mcp-server), and the [dashboard](https://specshield.io) — with catalog scorecards, waivers, and SARIF/JUnit/HTML reports.
|
|
423
423
|
|
|
424
424
|
---
|
|
425
425
|
|
|
@@ -1204,7 +1204,7 @@ Run once at the root of your project. The wizard:
|
|
|
1204
1204
|
4. Asks whether this project is a provider, a consumer, or both.
|
|
1205
1205
|
5. Asks for your org key (autocompletes from your account if signed in).
|
|
1206
1206
|
6. Validates / stores your API key.
|
|
1207
|
-
7. Writes **`.specshield.yml`** and (optionally) a starter **`.github/workflows/specshield-bdct.yml`** using [`
|
|
1207
|
+
7. Writes **`.specshield.yml`** and (optionally) a starter **`.github/workflows/specshield-bdct.yml`** using [`specshield-io/bdct-action@v1`](https://github.com/marketplace/actions/specshield-bdct).
|
|
1208
1208
|
|
|
1209
1209
|
```bash
|
|
1210
1210
|
specshield init
|
|
@@ -1492,16 +1492,16 @@ MIT © SpecShield Software Private Limited
|
|
|
1492
1492
|
## Support
|
|
1493
1493
|
|
|
1494
1494
|
- 📧 [admin@specshield.io](mailto:admin@specshield.io)
|
|
1495
|
-
- 🐛 [Open an issue on GitHub](https://github.com/
|
|
1495
|
+
- 🐛 [Open an issue on GitHub](https://github.com/specshield-io/specshield-cli/issues)
|
|
1496
1496
|
- 🌐 [specshield.io](https://specshield.io)
|
|
1497
1497
|
|
|
1498
1498
|
---
|
|
1499
1499
|
|
|
1500
1500
|
<div align="center">
|
|
1501
1501
|
|
|
1502
|
-
**The SpecShield™ platform:** [Dashboard](https://specshield.io) · [GitHub App](https://github.com/apps/specshield) · [GitHub Action](https://github.com/marketplace/actions/specshield-bdct) · [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/33137-specshield) · [MCP Server](https://github.com/
|
|
1502
|
+
**The SpecShield™ platform:** [Dashboard](https://specshield.io) · [GitHub App](https://github.com/apps/specshield) · [GitHub Action](https://github.com/marketplace/actions/specshield-bdct) · [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/33137-specshield) · [MCP Server](https://github.com/specshield-io/specshield-mcp-server)
|
|
1503
1503
|
|
|
1504
|
-
**[⭐ Star on GitHub](https://github.com/
|
|
1504
|
+
**[⭐ Star on GitHub](https://github.com/specshield-io/specshield-cli) · [📦 View on npm](https://www.npmjs.com/package/specshield) · [🚀 Create free account](https://specshield.io) · [⚖️ Compare](https://specshield.io/alternatives)**
|
|
1505
1505
|
|
|
1506
1506
|
*Stop finding out about API breakage from your users.*
|
|
1507
1507
|
|
package/package.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specshield",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.4",
|
|
4
4
|
"description": "Contract compatibility testing for APIs — catch breaking OpenAPI changes before they reach your consumers, with can-i-deploy deploy gating and GitHub PR checks. (a.k.a. bidirectional contract testing.)",
|
|
5
5
|
"main": "src/cli.js",
|
|
6
|
+
"homepage": "https://specshield.io",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/specshield-io/specshield-cli.git"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/specshield-io/specshield-cli/issues"
|
|
13
|
+
},
|
|
6
14
|
"bin": {
|
|
7
15
|
"specshield": "./bin/specshield.js"
|
|
8
16
|
},
|
package/src/core/configWriter.js
CHANGED
|
@@ -136,7 +136,7 @@ function writeProjectConfig(config, cwd = process.cwd()) {
|
|
|
136
136
|
|
|
137
137
|
/**
|
|
138
138
|
* Render a starter GitHub Actions workflow that uses
|
|
139
|
-
* `
|
|
139
|
+
* `specshield-io/bdct-action@v1`. Optional output of the wizard.
|
|
140
140
|
*
|
|
141
141
|
* Every input forwarded to the action MUST be present in the rendered YAML
|
|
142
142
|
* — including org. A missing org renders `--org ""` on the CLI invocation
|
|
@@ -182,7 +182,7 @@ function renderWorkflow({
|
|
|
182
182
|
' runs-on: ubuntu-latest',
|
|
183
183
|
' steps:',
|
|
184
184
|
' - uses: actions/checkout@v4',
|
|
185
|
-
' - uses:
|
|
185
|
+
' - uses: specshield-io/bdct-action@v1',
|
|
186
186
|
' with:',
|
|
187
187
|
' command: publish-provider',
|
|
188
188
|
orgLine,
|
|
@@ -196,7 +196,7 @@ function renderWorkflow({
|
|
|
196
196
|
' needs: publish-provider',
|
|
197
197
|
' runs-on: ubuntu-latest',
|
|
198
198
|
' steps:',
|
|
199
|
-
' - uses:
|
|
199
|
+
' - uses: specshield-io/bdct-action@v1',
|
|
200
200
|
' with:',
|
|
201
201
|
' command: can-i-deploy',
|
|
202
202
|
orgLine,
|
|
@@ -214,7 +214,7 @@ function renderWorkflow({
|
|
|
214
214
|
' runs-on: ubuntu-latest',
|
|
215
215
|
' steps:',
|
|
216
216
|
' - uses: actions/checkout@v4',
|
|
217
|
-
' - uses:
|
|
217
|
+
' - uses: specshield-io/bdct-action@v1',
|
|
218
218
|
' with:',
|
|
219
219
|
' command: publish-consumer',
|
|
220
220
|
orgLine,
|