From walkeros
Guides walkerOS contributors with build/test/lint workflows, XP principles like DRY/KISS/YAGNI/TDD, folder structure, and core package usage before coding.
npx claudepluginhub elbwalker/walkerosThis skill uses the workspace's default tool permissions.
walkerOS follows extreme programming principles with strict conventions. This
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
walkerOS follows extreme programming principles with strict conventions. This skill is your foundation before writing any code.
Core principle: DRY, KISS, YAGNI. Test first. Verify before claiming complete.
| Command | Purpose |
|---|---|
npm install | Install all dependencies |
npm run dev | Watch mode for all packages |
npm run build | Build all packages |
npm run test | Run all tests |
npm run typecheck | TypeScript type check |
npm run lint | ESLint |
npm run format | Prettier formatting |
Validation before commit:
npm run typecheck && npm run lint && npm run build && npm run test
| Principle | In Practice |
|---|---|
| DRY | Use @walkeros/core utilities, don't reimplement |
| KISS | Minimal code to solve the problem |
| YAGNI | Only implement what's requested |
| TDD | Test first, watch it fail, then implement |
No any | Never use any in production code (tests are exception) |
packages/
├── core/ # Platform-agnostic types, utilities, schemas
├── collector/ # Central event processing engine
├── config/ # Shared config (eslint, jest, tsconfig, tsup)
├── web/
│ ├── core/ # Web-specific utilities
│ ├── sources/ # browser, dataLayer
│ └── destinations/ # gtag, meta, api, piwikpro, plausible
└── server/
├── core/ # Server-specific utilities
├── sources/ # gcp
└── destinations/ # aws, gcp, meta
apps/
├── walkerjs/ # Ready-to-use browser bundle
├── quickstart/ # Code examples (source of truth for patterns)
└── demos/ # Demo applications
Always import from @walkeros/core:
// Types
import type { WalkerOS } from '@walkeros/core';
// Utilities
import {
getEvent,
createEvent, // Event creation
getMappingEvent,
getMappingValue, // Transformations
isString,
isObject,
isDefined, // Type checking
assign,
clone, // Object operations
tryCatch,
tryCatchAsync, // Error handling
} from '@walkeros/core';
Config package for shared tooling:
@walkeros/config/eslint@walkeros/config/jest@walkeros/config/tsconfig@walkeros/config/tsupCore component configs live in two places:
packages/core/src/types/{destination,source,transformer,store,collector}.tspackages/core/src/schemas/{destination,source,transformer,store,collector}.tsBoth are hand-written and mirror each other. TS stays authoritative because
Zod's inferencer collapses recursive types (Routes, MatchExpression,
Value) to unknown. Zod drives runtime validation, JSON Schema emission, and
website Configuration reference tables.
When adding, renaming, or removing a Config field, update BOTH files. A
compile-time drift guard at
packages/core/src/schemas/__tests__/config-drift.test-d.ts fails tsc if the
key sets diverge. The guard checks keys only; value types may differ (recursion,
generic slots). Run npm run typecheck in packages/core/ to verify.
REQUIRED SKILL: Use testing-strategy for detailed testing patterns.
Quick reference:
env pattern for mocking (not Jest mocks)dev.ts for examplesSource Files: