specshield 1.0.0 → 1.0.2

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.
Files changed (2) hide show
  1. package/README.md +60 -10
  2. package/package.json +38 -6
package/README.md CHANGED
@@ -1,16 +1,66 @@
1
- # SpecShield CLI
1
+ # 🚀 SpecShield — OpenAPI Diff & Breaking Change Detection CLI
2
2
 
3
- > Compare OpenAPI specs and detect breaking changes — designed for CI/CD and local developer workflows.
3
+ ![npm](https://img.shields.io/npm/v/specshield)
4
+ ![downloads](https://img.shields.io/npm/dw/specshield)
5
+ ![license](https://img.shields.io/badge/license-MIT-blue)
6
+ ![node](https://img.shields.io/badge/node-%3E%3D18-green)
4
7
 
5
- ## Features
8
+ Compare OpenAPI and Swagger specs, detect breaking changes, and fail CI before incompatible API changes reach production.
6
9
 
7
- - Detect breaking changes, additions, and modifications between two OpenAPI specs
8
- - Support YAML and JSON specs
9
- - CI/CD-ready with exit code control (`--fail-on-breaking`)
10
- - Config file support (`.specshield.yml`)
11
- - JSON output for machine parsing
12
- - Ignore list to suppress known changes
13
- - Placeholder remote mode for future SaaS backend integration
10
+
11
+ ## 📌 What is SpecShield?
12
+
13
+ SpecShield is a CLI tool that compares two OpenAPI/Swagger specifications and detects:
14
+
15
+ - Breaking changes
16
+ - Additions
17
+ - 🔄 Modifications
18
+
19
+ It is designed for:
20
+ - CI/CD pipelines
21
+ - Backend developers
22
+ - API governance teams
23
+ - Local development workflows
24
+
25
+ ---
26
+
27
+ ## ❗ Why SpecShield?
28
+
29
+ API changes can silently break:
30
+ - Mobile apps
31
+ - Frontend clients
32
+ - Partner integrations
33
+ - Internal microservices
34
+
35
+ Manual API review is:
36
+ - ❌ Error-prone
37
+ - ❌ Time-consuming
38
+ - ❌ Not scalable
39
+
40
+ 👉 SpecShield solves this by automating API contract validation.
41
+
42
+ ---
43
+
44
+ ## 🎯 Key Benefits
45
+
46
+ - 🚫 Prevent breaking API releases
47
+ - ⚙️ Enforce API contract checks in CI/CD
48
+ - 🔍 Compare OpenAPI specs automatically
49
+ - 📊 Generate machine-readable reports
50
+ - 🧩 Integrate easily with existing workflows
51
+ - 🛑 Fail builds when breaking changes are detected
52
+
53
+ ---
54
+
55
+ ## ✨ Features
56
+
57
+ - Detect breaking changes, additions, and modifications
58
+ - Support YAML and JSON OpenAPI specs
59
+ - CI/CD-ready with exit codes
60
+ - JSON output for automation
61
+ - `.specshield.yml` config support
62
+ - Ignore list for known changes
63
+ - Future SaaS-ready remote mode
14
64
 
15
65
  ## Installation
16
66
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "specshield",
3
- "version": "1.0.0",
4
- "description": "CLI tool to compare OpenAPI specs and detect breaking changes",
3
+ "version": "1.0.2",
4
+ "description": "CLI to compare OpenAPI/Swagger specs and detect breaking changes for CI/CD pipelines and local developer workflows.",
5
5
  "main": "src/cli.js",
6
6
  "bin": {
7
7
  "specshield": "./bin/specshield.js"
@@ -12,9 +12,37 @@
12
12
  "test:watch": "jest --watch",
13
13
  "lint": "eslint src tests --ext .js"
14
14
  },
15
- "keywords": ["openapi", "api", "breaking-changes", "cli", "specshield"],
15
+ "keywords": [
16
+ "openapi",
17
+ "swagger",
18
+ "openapi-diff",
19
+ "swagger-diff",
20
+ "api-diff",
21
+ "api-breaking-changes",
22
+ "breaking-change-detection",
23
+ "contract-testing",
24
+ "api-contract",
25
+ "api-versioning",
26
+ "api-governance",
27
+ "ci-cd",
28
+ "devops",
29
+ "github-actions",
30
+ "automation",
31
+ "cli",
32
+ "developer-tools",
33
+ "yaml",
34
+ "json",
35
+ "schema-diff",
36
+ "rest-api",
37
+ "openapi-cli"
38
+ ],
16
39
  "license": "MIT",
17
- "files": ["bin", "src", "README.md", "LICENSE"],
40
+ "files": [
41
+ "bin",
42
+ "src",
43
+ "README.md",
44
+ "LICENSE"
45
+ ],
18
46
  "dependencies": {
19
47
  "axios": "^1.6.7",
20
48
  "chalk": "^4.1.2",
@@ -28,8 +56,12 @@
28
56
  },
29
57
  "jest": {
30
58
  "testEnvironment": "node",
31
- "testMatch": ["**/tests/**/*.test.js"],
32
- "collectCoverageFrom": ["src/**/*.js"]
59
+ "testMatch": [
60
+ "**/tests/**/*.test.js"
61
+ ],
62
+ "collectCoverageFrom": [
63
+ "src/**/*.js"
64
+ ]
33
65
  },
34
66
  "engines": {
35
67
  "node": ">=20.0.0"