MCPcopy Index your code
hub / github.com/elbwalker/walkerOS

github.com/elbwalker/walkerOS @v4.2.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.2.1 ↗ · + Follow
6,832 symbols 20,055 edges 2,381 files 530 documented · 8%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

walkerOS

Event collection you own, version, and trust

License walkerOS Documentation React demo Storybook demo npm version

From browser to BigQuery and ad platforms - warehouse-native, and ready for AI agents via MCP.

The problem

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.

Why walkerOS?

  • Config-as-code - version control your tracking, review it in PRs, deploy with confidence
  • Declarative tagging - tag your UI in HTML, not scattered JavaScript
  • Consent-native - events queue until consent is given, then flush correctly to every destination
  • Schema validation - catch bad events at collection time, not weeks later in a dashboard
  • One layer, many destinations - send to your warehouse and ad platforms from a single event definition
  • Warehouse-native - events land clean and structured in your data warehouse, ready to query
  • MIT licensed - self-host anywhere, no vendor lock-in

How it works

walkerOS Architecture

  • Sources: Where events come from (browser, dataLayer, Express, AWS Lambda, GCP Functions, and more)
  • Collector: The processing engine (consent, validation, mapping, routing, enrichment)
  • Destinations: Where events go (GA4, Google Ads, Meta CAPI, BigQuery, and more)

Two ways to install walkerOS

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';
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):

{
  "flows": {
    "default": {
      "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

AI-ready via MCP

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.

Contributing

⭐️ Help us grow and star us. See our Contributing Guidelines to get involved.

Support

Need help? Start a discussion, or reach out via email.

For more insights, visit the talks repository.

License

Licensed under the MIT License.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 4,859
Interface 1,321
Method 455
Class 196
Enum 1

Languages

TypeScript100%

Modules by API surface

packages/cli/examples/web-serve.js947 symbols
packages/cli/examples/server-collect.mjs538 symbols
packages/cli/web-serve.js53 symbols
packages/server/sources/aws/src/sqs/__mocks__/@aws-sdk/client-sqs.ts50 symbols
packages/server/sources/gcp/src/pubsub/__mocks__/@google-cloud/pubsub.ts48 symbols
packages/web/destinations/snowplow/src/types/index.ts39 symbols
packages/cli/src/commands/bundle/bundler.ts38 symbols
packages/mcps/mcp/src/http-tool-client.ts37 symbols
packages/mcps/mcp/src/tool-client.ts36 symbols
packages/server/destinations/aws/src/sns/__mocks__/@aws-sdk/client-sns.ts34 symbols
packages/cli/src/commands/bundle/package-manager.ts32 symbols
apps/explorer/src/components/molecules/flow-map/FlowMap.tsx30 symbols

Datastores touched

dbDatabase · 1 repos
mydbDatabase · 1 repos

For agents

$ claude mcp add walkerOS \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page