
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Official CLI validator and tooling for Regenerative Intent Prompting Protocol (RIPP)
Official command-line tool for working with Regenerative Intent Prompting Protocol (RIPP) packets.
npm install -g ripp-cli
git clone https://github.com/Dylan-Natter/ripp-protocol.git
cd ripp-protocol/tools/ripp-cli
npm install
npm link
Initialize RIPP in your repository with proper scaffolding.
# Initialize RIPP
ripp init
# Force overwrite existing files
ripp init --force
What it creates:
ripp/ - Main directory for RIPP artifactsripp/README.md - Documentation about RIPP in your reporipp/features/ - Directory for feature RIPP packetsripp/intent-packages/ - Directory for packaged artifactsripp/intent-packages/README.md - Intent package documentation.github/workflows/ripp-validate.yml - GitHub Action for automated validationOptions:
--force - Overwrite existing files (default: skip existing files)Features:
Validate RIPP packets against the JSON Schema.
# Validate a single file
ripp validate my-feature.ripp.yaml
# Validate a directory
ripp validate features/
# Enforce minimum RIPP level
ripp validate api/ --min-level 2
# Suppress warnings
ripp validate . --quiet
Options:
--min-level <1|2|3> - Enforce minimum conformance level--quiet - Suppress warningsCheck RIPP packets for best practices beyond schema validation.
# Lint files in a directory
ripp lint examples/
# Treat warnings as errors
ripp lint examples/ --strict
# Custom output directory
ripp lint specs/ --output ./build/reports/
Options:
--strict - Treat warnings as errors (fail on warnings)--output <dir> - Output directory for reports (default: reports/)Output:
reports/lint.json - Machine-readable reportreports/lint.md - Human-readable Markdown reportLint Rules:
Package a RIPP packet into a normalized handoff artifact.
# Package to Markdown (handoff doc)
ripp package --in feature.ripp.yaml --out handoff.md
# Package to JSON
ripp package --in feature.ripp.yaml --out packaged.json
# Package to YAML
ripp package --in feature.ripp.yaml --out normalized.yaml
# Explicit format specification
ripp package --in feature.ripp.yaml --out artifact --format json
Options:
--in <file> - Input RIPP packet file (required)--out <file> - Output file path (required)--format <json|yaml|md> - Output format (auto-detected from extension)Features:
Generate a DRAFT RIPP packet from existing code or schemas.
# Analyze OpenAPI specification
ripp analyze openapi.json --output draft-api.ripp.yaml
# Analyze JSON Schema
ripp analyze schema.json --output draft.ripp.yaml --packet-id my-feature
Options:
<input> - Input file (OpenAPI spec or JSON Schema)--output <file> - Output DRAFT RIPP packet file (required)--packet-id <id> - Packet ID for generated RIPP (default: analyzed)⚠️ Important:
Supported Inputs:
0 - All checks passed1 - Validation or lint failures found✓ Schema Conformance: Validates against JSON Schema
✓ Required Sections: Ensures all required sections for declared level are present
✓ File Naming: Checks .ripp.yaml or .ripp.json extension
✓ Data Integrity: Validates packet_id format, date formats, status values
✓ Level Conformance: Ensures Level 2/3 sections are present when declared
Validation Success:
✓ item-creation.ripp.yaml is valid (Level 3)
✓ webhook-feature.ripp.yaml is valid (Level 2)
✓ All 2 RIPP packets are valid.
Validation Failure:
✗ user-registration.ripp.yaml
• /purpose: must have required property 'problem'
• /status: must be equal to one of the allowed values
• Packet is Level 2, but missing section: permissions
✗ 1 of 1 RIPP packets failed validation.
Linting:
Linting RIPP packets...
✗ draft-api.ripp.yaml - 2 error(s), 5 warning(s)
✓ feature.ripp.yaml - No issues
📄 JSON report: reports/lint.json
📄 Markdown report: reports/lint.md
✗ Found 2 error(s) and 5 warning(s)
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install RIPP CLI
run: npm install -g ripp-cli
- name: Validate RIPP Packets
run: ripp validate .
- name: Lint RIPP Packets (strict)
run: ripp lint specs/ --strict
validate-ripp:
image: node:18
script:
- npm install -g ripp-cli
- ripp validate .
- ripp lint specs/ --strict
npm install
./index.js validate ../../examples/
./index.js lint ../../examples/
./index.js package --in ../../examples/item-creation.ripp.yaml --out /tmp/test.md
npm link
ripp validate ../../examples/
To publish ripp-cli to npm, you need:
The publishing workflow requires an npm Granular Access Token with specific permissions:
NPM_TOKENImportant: The token MUST have "Bypass 2FA requirement" enabled. Standard automation tokens may fail with E403 errors if 2FA is enabled on your npm account.
The package is published via the GitHub Actions workflow:
true (test) or false (publish)latest, next, or betatools/ripp-cli)Workflow Features:
Version Management:
package.json before publishingMIT
FAQs
Official CLI validator and tooling for Regenerative Intent Prompting Protocol (RIPP)
We found that ripp-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.