From browser to BigQuery and ad platforms - warehouse-native, and ready for AI agents via MCP.
> /plugin marketplace add elbwalker/walkerOS> /plugin install walkeros@elbwalker
From browser to BigQuery and ad platforms - warehouse-native, and ready for AI agents via MCP.
GA4, custom tags, ad pixels - each one a separate setup, none of them agreeing on the same numbers. When something breaks, you can't see where.
walkerOS is one collection layer for all of them.

Choose one based on your workflow and integration possibilities:
| Mode | Description | Best For |
|---|---|---|
| Integrated | Import directly into your TypeScript application | React/Next.js apps, TypeScript projects |
| Bundled | Build a standalone script from JSON config with npx walkeros | Static sites, Docker deployments, CI/CD |
Integrated (import into your app):
import { startFlow } from '@walkeros/collector';
const { elb } = await startFlow({
destinations: {
console: {
code: {
type: 'console',
config: {},
push: (event) => console.log('Event:', event.name),
},
},
},
});
await elb({ name: 'page view', data: { title: 'Home' } });
// -> logs: Event: page view
Wire a real source and destination once you are ready:
import { startFlow } from '@walkeros/collector';
import { sourceBrowser } from '@walkeros/web-source-browser';
import { destinationGtag } from '@walkeros/web-destination-gtag';
await startFlow({
sources: {
browser: {
code: sourceBrowser,
config: { settings: { pageview: true } },
},
},
destinations: {
ga4: {
code: destinationGtag,
config: {
settings: { ga4: { measurementId: 'G-XXX' } },
},
},
},
});
Bundled (build from JSON config):
{
"version": 4,
"flows": {
"default": {
"config": {
"platform": "web",
"bundle": {
"packages": {
"@walkeros/collector": {},
"@walkeros/web-source-browser": {},
"@walkeros/web-destination-gtag": {}
}
}
},
"sources": {
"browser": {
"package": "@walkeros/web-source-browser",
"config": { "settings": { "pageview": true } }
}
},
"destinations": {
"ga4": {
"package": "@walkeros/web-destination-gtag",
"config": {
"settings": { "ga4": { "measurementId": "G-XXX" } }
}
}
}
}
}
}
Then: npx walkeros bundle flow.json
walkerOS exposes a Model Context Protocol (MCP) interface. AI agents can read your event schema, suggest tracking definitions, and generate integration code - making your event layer programmable, not just configurable.
In Claude Code, one plugin installs both MCP servers and the walkerOS skills:
/plugin marketplace add elbwalker/walkerOS
/plugin install walkeros@elbwalker
For any other MCP client, add the servers to its configuration:
{
"mcpServers": {
"walkeros-flow": {
"command": "npx",
"args": ["@walkeros/mcp"]
},
"walkeros-source-browser": {
"command": "npx",
"args": ["@walkeros/mcp-source-browser"]
}
}
}
Loading a flow, validating it, and simulating an event all run locally, no account needed. See the MCP docs.
Coming from Google Tag Manager? See walkerOS vs. GTM.
⭐️ Help us grow and star us. See our Contributing Guidelines to get involved.
Need help? Start a discussion, or reach out via email.
For more insights, visit the talks repository.
Licensed under the MIT License.
walkeros is a Claude Code plugin with 22 hand-picked skills, indexed on Flowy in the Data category. Install it with the command on its page. It includes walkeros-create-cmp-source, walkeros-create-destination, walkeros-create-source. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it