understanding-development
Use when contributing to walkerOS, before writing code, or when unsure about project conventions. Covers build/test/lint workflow, XP principles, folder structure, and package usage.
$ Installieren
git clone https://github.com/elbwalker/walkerOS /tmp/walkerOS && cp -r /tmp/walkerOS/skills/understanding-development ~/.claude/skills/walkerOS// tip: Run this command in your terminal to install the skill
SKILL.md
name: understanding-development description: Use when contributing to walkerOS, before writing code, or when unsure about project conventions. Covers build/test/lint workflow, XP principles, folder structure, and package usage.
Understanding walkerOS Development
Overview
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.
Commands
| 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 lint | ESLint + TypeScript check |
npm run format | Prettier formatting |
Validation before commit: npm run build && npm run test && npm run lint
XP Principles (Non-Negotiable)
| 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) |
Folder Structure
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
Core Package Usage
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:
- ESLint config:
@walkeros/config/eslint - Jest config:
@walkeros/config/jest - TSConfig:
@walkeros/config/tsconfig - Tsup config:
@walkeros/config/tsup
Testing
REQUIRED SKILL: Use testing-strategy for detailed testing patterns.
Quick reference:
- Use
envpattern for mocking (not Jest mocks) - Import from
dev.tsfor examples - Test first, watch it fail
- Verify before claiming complete
Related
- testing-strategy skill
- packages/core/ - Core utilities
- packages/config/ - Shared configuration
- apps/quickstart/ - Validated examples
Repository

elbwalker
Author
elbwalker/walkerOS/skills/understanding-development
309
Stars
16
Forks
Updated6d ago
Added1w ago