walkerOS is a privacy-first event data collection and tag management solution. Architecture: Source → Collector → Destination(s)
npm install # Install dependencies
npm run dev # Watch mode
npm run build # Build all packages
npm run test # Run tests
npm run lint # Check code qualityLearn the concepts before coding:
| Skill | What You'll Learn |
|---|---|
| understanding-development | Build workflow, XP principles, folder structure |
| understanding-flow | Architecture, composability, data flow |
| understanding-events | Event model, entity-action naming, properties |
| understanding-mapping | Event transformation, data/map/loop |
| understanding-destinations | Destination interface, env pattern |
| understanding-sources | Source interface, capture patterns |
| understanding-transformers | Transformer interface, chaining, pipeline |
| understanding-stores | Store interface, $store: wiring, lifecycle |
| using-logger | Logger access, DRY principles, when to log |
| using-step-examples | Step examples lifecycle, Three Type Zones, testing |
| Task | Skill |
|---|---|
| Write tests | testing-strategy |
| Create destination | create-destination |
| Create source | create-source |
| Create transformer | create-transformer |
| Configure mappings | mapping-configuration |
| Debug event flow | debugging |
| Write documentation | writing-documentation |
packages/
├── core/ # Types, utilities, schemas (@walkeros/core)
├── collector/ # Event processing engine
├── config/ # Shared tooling config
├── mcps/ # Parent for MCP server packages
│ ├── mcp/ # Flow dev MCP server (@walkeros/mcp)
│ └── source-browser/ # Tagging MCP server (@walkeros/mcp-source-browser)
├── web/ # Browser: sources/, destinations/
└── server/ # Node.js: sources/, destinations/
apps/
├── explorer/ # Component & style library (@walkeros/explorer)
├── quickstart/ # Validated examples (source of truth)
├── walkerjs/ # Browser bundle
└── demos/ # Demo applications
| What | Where |
|---|---|
| Event types | packages/core/src/types/event.ts |
| Mapping functions | packages/core/src/mapping.ts |
| Flow type | packages/collector/src/types/flow.ts |
| Destination interface | packages/core/src/types/destination.ts |
| Source interface | packages/core/src/types/source.ts |
| Validated examples | apps/quickstart/ |
- Event naming:
"entity action"format with space ("page view", not"page_view") - No
any: Never in production code - XP principles: DRY, KISS, YAGNI, TDD
- Test first: Watch it fail before implementing
- Verify: Run tests before claiming complete
Skills are packaged as a Claude Code plugin via .claude-plugin/:
| Location | Purpose |
|---|---|
skills/[name]/SKILL.md |
Primary content (source of truth) |
.claude-plugin/plugin.json |
Plugin manifest listing all skills |
.claude/skills/ |
Symlink to ../skills/ for local dev |
To create a new skill:
- Create skill:
skills/[name]/SKILL.mdwith frontmatter:--- name: [name] description: [When to use - shown in Claude Code skill list] ---
- Add to
.claude-plugin/plugin.jsonskills array - Add to AGENT.md tables above (Understanding or Creating section)
- Add to skills/README.md index
External users install via: /plugin marketplace add elbwalker/walkerOS