← Back to list

understanding-development
by elbwalker
Open-source tag manager for developers
⭐ 313🍴 16📅 Jan 22, 2026
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
Score
Total Score
75/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
✓人気
GitHub Stars 100以上
+5
✓最近の活動
1ヶ月以内に更新
+10
✓フォーク
10回以上フォークされている
+5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon

