
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.
CliCy is a Cypress-based REPL (Read-Eval-Print Loop) plugin that enables fast, interactive command authoring via both CLI and in-browser UI modes. Use intuitive DSL commands, preview results live, and export full test specs—directly from the browser or terminal.
# Local install (recommended for CI and project use)
npm install --save-dev clicy
# Or install globally to use as CLI
npm install -g clicy
Install CliCy:
npm install --save-dev clicy
Add clicyCommand: true to your Cypress configuration:
// cypress.config.js
module.exports = {
e2e: {
setupNodeEvents(on, config) {
return require('clicy/plugin').setupNodeEvents(on, config);
},
// Enable CliCy
clicyCommand: true,
},
}
Import CliCy in your Cypress support file:
// cypress/support/e2e.js or cypress/support/e2e.ts
import 'clicy/support';
Run Cypress:
npx cypress open
That's it! The CliCy REPL will automatically activate and the live spec will be available in the Cypress Test Runner.
If you prefer using the CLI directly:
# Start the REPL in CLI mode
npx clicy
# Or if installed globally
clicy
If you need more control over the setup:
Start the server manually:
npm run clicy:server
Launch Cypress Test Runner:
npm run clicy:test
Open live.cy.ts test – the CliCy UI panel will appear at the bottom.
Simply set clicyCommand: true in your Cypress configuration, and CliCy will automatically set up everything for you:
// cypress.config.js
module.exports = {
e2e: {
setupNodeEvents(on, config) {
return require('clicy/plugin').setupNodeEvents(on, config);
},
clicyCommand: true,
},
}
For TypeScript projects:
// cypress.config.ts
import { defineConfig } from 'cypress';
export default defineConfig({
e2e: {
setupNodeEvents(on, config) {
return require('clicy/plugin').setupNodeEvents(on, config);
},
clicyCommand: true, // TypeScript type definitions included
},
});
Alternatively, for TypeScript projects with imports:
// cypress.config.ts
import { defineConfig } from 'cypress';
import clicyPlugin from 'clicy/plugin';
export default defineConfig({
e2e: {
setupNodeEvents(on, config) {
return clicyPlugin.setupNodeEvents(on, config);
},
clicyCommand: true,
},
});
goto(), click(), write() etc..cy.ts
goto(url)visit(url)origin(url)click(label, selectorType?)write(value, label)type(text)clear(label)check(label)uncheck(label)select(option, label)shouldContain(text)shouldBeVisible(label)shouldHaveValue(label, value)intercept(method, url)waitForAlias(alias)session(name, setupFn)wait(ms)reload()screenshot(name?)# Dev mode
npm run dev
# Open Cypress GUI
npm run cypress:open
.code – Export to Cypress spec.reset – Clear REPL state.exit – Quit REPLclicyCommand: true is set in your Cypress configurationnpm install --save-dev clicy4000: npm run clicy:serverIf the automatic setup doesn't work for your project:
Check that your Cypress configuration file (cypress.config.js or cypress.config.ts) was properly updated during installation
Try running npx cypress open with the --config-file option to specify your configuration file
If you're having issues with the server not starting when running Cypress, try starting the server manually using one of these methods:
Method 1: Build and run with Node.js (recommended)
# First build the project
npm run build
# Then run the server using Node.js
npm run clicy:server:node
# Or run it directly with Node.js
node node_modules/clicy/dist/cli/server.js
Method 2: Run directly with ts-node (if TypeScript is installed)
# Run with ts-node and the --transpile-only flag to avoid TypeScript errors
npx ts-node --transpile-only node_modules/clicy/cli/server.ts
Then in a separate terminal, run Cypress:
npx cypress open
Troubleshooting server startup issues:
If all else fails, you can manually set up CliCy by following the "Manual Setup" instructions in the Getting Started section
cypress/e2e/live.cy.ts (TypeScript) or cypress/e2e/live.cy.js (JavaScript)src/dsl.tssrc/selectors.tsCliCy automatically detects whether your project is using TypeScript or JavaScript:
live.cy.ts filelive.cy.js fileThe detection is based on:
tsconfig.jsonpackage.json.ts files in the Cypress directoryComponent and E2E testingMIT – by Lasitha Wijenayake
Star, fork 🍴, or contribute a PR 🛠️ at
https://github.com/lasithdilshan20/clicy
FAQs
Cypress-based CLI automation tool with REPL
We found that clicy 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.