
Security News
Insecure Agents Podcast: How to Keep AI Agents From Bypassing Security Controls
Socket CTO Ahmad Nassri discusses how to keep AI agents from bypassing package blocks, limit credential access, and monitor their actions.
@walkeros/cli
Advanced tools
Command-line tools for building, testing, and running walkerOS event collection flows.
The walkerOS CLI is a developer tool that:
Think of it as your development toolchain for walkerOS - from config to running production bundles.
# Global (recommended for CLI usage)
npm install -g @walkeros/cli
# Local (for programmatic usage)
npm install @walkeros/cli
Generate optimized JavaScript bundles from flow configurations.
walkeros bundle <config-file> [options]
Config files can be local paths or HTTP(S) URLs:
walkeros bundle ./config.json # Local file
walkeros bundle https://example.com/config.json # Remote URL
Options:
-e, --env <name> - Build specific environment (multi-env configs)--all - Build all environments-s, --stats - Show bundle statistics--json - Output stats as JSON--no-cache - Disable package caching--local - Run locally without Docker-v, --verbose - Verbose outputExample:
# Bundle with stats
walkeros bundle examples/server-collect.json --stats
The output path is specified in the config's build.output field.
Test event processing with simulated events.
walkeros simulate <config-file> --event '{"name":"page view"}' [options]
Options:
-e, --event <json> - Event JSON string (required)--json - Output results as JSON--local - Run locally without Docker-v, --verbose - Verbose outputExample:
# Simulate page view
walkeros simulate \
examples/web-serve.json \
--event '{"name":"page view","data":{"title":"Home"}}' \
--json
Run flows locally using @walkeros/docker as a library (no Docker daemon required).
walkeros run <mode> <config-file> [options]
Modes:
collect - HTTP event collection serverserve - Static file serverOptions:
-p, --port <number> - Server port-h, --host <host> - Server host--static-dir <dir> - Static directory (serve mode)--local - Run locally without Docker--json - JSON output-v, --verbose - Verbose outputExamples:
# Run collection server (auto-bundles JSON)
walkeros run collect examples/server-collect.json --port 3000
# Run with pre-built bundle
walkeros run collect examples/server-collect.mjs --port 3000
# Serve static files
walkeros run serve flow.json --port 8080 --static-dir ./dist
How it works:
.mjs automatically.mjs bundles are used directlyMinimal example:
{
"flow": {
"platform": "server",
"sources": {
"http": {
"code": "sourceExpress",
"config": {
"settings": {
"path": "/collect",
"port": 8080
}
}
}
},
"destinations": {
"demo": {
"code": "destinationDemo",
"config": {
"settings": {
"name": "Demo"
}
}
}
},
"collector": {
"run": true
}
},
"build": {
"packages": {
"@walkeros/collector": {
"version": "latest",
"imports": ["startFlow"]
},
"@walkeros/server-source-express": {
"version": "latest",
"imports": ["sourceExpress"]
},
"@walkeros/destination-demo": {
"version": "latest",
"imports": ["destinationDemo"]
}
},
"code": "// Custom code here\n",
"output": "bundle.mjs",
"template": "./templates/base.hbs"
}
}
See examples/ for complete working configurations.
Use commands programmatically:
import { bundle, simulate, runCommand } from '@walkeros/cli';
// Bundle
await bundle({
config: './flow.json',
stats: true,
});
// Simulate
const result = await simulate(
'./flow.json',
{ name: 'page view', data: { title: 'Test' } },
{ json: true },
);
// Run
await runCommand('collect', {
config: './flow.json',
port: 3000,
verbose: true,
});
Working example configs in examples/:
Try them:
# Bundle example
walkeros bundle examples/server-collect.json --stats
# Simulate
walkeros simulate \
examples/web-serve.json \
--event '{"name":"product view","data":{"id":"P123"}}'
# Run server
walkeros run collect examples/server-collect.json --port 3000
Typical development cycle:
# 1. Create/edit config
vim my-flow.json
# 2. Bundle and check stats
walkeros bundle my-flow.json --stats
# 3. Test with simulation
walkeros simulate \
my-flow.json \
--event '{"name":"test event"}' \
--verbose
# 4. Run locally
walkeros run collect my-flow.json --port 3000
# 5. In another terminal, test it
curl -X POST http://localhost:3000/collect \
-H "Content-Type: application/json" \
-d '{"name":"page view","data":{"title":"Home"}}'
CLI (downloads packages + bundles with esbuild)
├─ Bundle → optimized .mjs file
├─ Simulate → test bundle with events
└─ Run → import @walkeros/docker + execute bundle
Key principle: CLI handles build-time, Docker handles runtime.
By default, CLI uses explicit version tags (not :latest):
walkeros/cli:0.3.5 - Build tools (bundle, simulate)walkeros/docker:0.1.4 - Production runtimeOverride with environment variables:
export WALKEROS_CLI_DOCKER_IMAGE=walkeros/cli:0.3.4
export WALKEROS_RUNTIME_DOCKER_IMAGE=walkeros/docker:latest
walkeros bundle config.json
Detailed guides in docs/:
MIT © elbwalker
FAQs
walkerOS CLI - Bundle and deploy walkerOS components
The npm package @walkeros/cli receives a total of 882 weekly downloads. As such, @walkeros/cli popularity was classified as not popular.
We found that @walkeros/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.

Security News
Socket CTO Ahmad Nassri discusses how to keep AI agents from bypassing package blocks, limit credential access, and monitor their actions.

Security News
GPT-6 Astra tried to plant malicious code in simulated open source projects using fake GitHub accounts and deceptive PRs during an assigned CTF challenge.

Security News
upm uses Node.js to deliver fast npm installs in about 250 KB, with a JavaScript API and security defaults.