Skip to content
Open
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
65f4608
version
alexanderkirtzel Dec 3, 2025
4a926ec
static version
alexanderkirtzel Dec 3, 2025
b817ea7
logger
alexanderkirtzel Dec 3, 2025
22cd09c
code destination
alexanderkirtzel Dec 4, 2025
49c8ab5
more power
alexanderkirtzel Dec 4, 2025
5e876d9
browser-to-bigquery
alexanderkirtzel Dec 4, 2025
8404a58
skills
alexanderkirtzel Dec 4, 2025
bd681e1
examples first
alexanderkirtzel Dec 4, 2025
bd75f14
using-logger
alexanderkirtzel Dec 4, 2025
d548406
logger.debug init and push
alexanderkirtzel Dec 4, 2025
7bdb244
use logger
alexanderkirtzel Dec 4, 2025
42e6bb0
keep claude data
alexanderkirtzel Dec 4, 2025
cab2ea2
reduced memory constraints
alexanderkirtzel Dec 4, 2025
3d254bb
Merge pull request #567 from elbwalker/demo-flows
alexanderkirtzel Dec 4, 2025
17d36c0
server source aws
alexanderkirtzel Dec 5, 2025
fa272e3
feat(fetch-source): add proper input/request examples per create-sour…
alexanderkirtzel Dec 5, 2025
ced6106
fix(fetch-source): apply using-logger skill patterns - minimal error-…
alexanderkirtzel Dec 5, 2025
e252731
feat(fetch-source): add comprehensive Zod event validation
alexanderkirtzel Dec 5, 2025
ed05ead
docs(fetch-source): update README per skills guidelines
alexanderkirtzel Dec 5, 2025
ca7625e
docs: add skill feedback from fetch source implementation
alexanderkirtzel Dec 5, 2025
a93b756
fix(fetch-source): use ZodTypeAny instead of explicit any type
alexanderkirtzel Dec 5, 2025
1575f81
hello fetch
alexanderkirtzel Dec 5, 2025
54028d7
no templates
alexanderkirtzel Dec 5, 2025
dc953c0
auto-generates
alexanderkirtzel Dec 5, 2025
50c4c6f
forgotten
alexanderkirtzel Dec 5, 2025
5584a32
restored session
alexanderkirtzel Dec 5, 2025
eeb68f2
updated session
alexanderkirtzel Dec 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .claude/skills/create-destination/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: create-destination
description:
Use when creating a new walkerOS destination (web or server). Step-by-step
workflow from research to documentation. (project)
---

# Create a New Destination

The actual content is maintained in:

Read @skills/create-destination/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
15 changes: 15 additions & 0 deletions .claude/skills/create-source/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: create-source
description:
Use when creating a new walkerOS source (web or server). Step-by-step workflow
for capturing events from new platforms. (project)
---

# Create a New Source

The actual content is maintained in:

Read @skills/create-source/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
16 changes: 16 additions & 0 deletions .claude/skills/debugging/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: debugging
description:
Use when events aren't reaching destinations, debugging event flow, or
troubleshooting mapping issues. Covers common problems and debugging
strategies. (project)
---

# Debugging walkerOS Events

The actual content is maintained in:

Read @skills/debugging/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
15 changes: 15 additions & 0 deletions .claude/skills/mapping-configuration/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: mapping-configuration
description:
Use when configuring event mappings for specific use cases. Provides recipes
for GA4, Meta, custom APIs, and common transformation patterns. (project)
---

# Mapping Configuration Recipes

The actual content is maintained in:

Read @skills/mapping-configuration/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
16 changes: 16 additions & 0 deletions .claude/skills/testing-strategy/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: testing-strategy
description:
Use when writing tests, reviewing test code, or discussing testing approach
for walkerOS packages. Covers env pattern, dev examples, and package-specific
strategies. (project)
---

# walkerOS Testing Strategy

The actual testing strategy is maintained in:

Read @skills/testing-strategy/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
16 changes: 16 additions & 0 deletions .claude/skills/understanding-destinations/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: understanding-destinations
description:
Use when working with destinations, understanding the destination interface,
or learning about env pattern and configuration. Covers interface, lifecycle,
env mocking, and paths. (project)
---

# Understanding walkerOS Destinations

The actual content is maintained in:

Read @skills/understanding-destinations/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
16 changes: 16 additions & 0 deletions .claude/skills/understanding-development/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
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. (project)
---

# Understanding walkerOS Development

The actual content is maintained in:

Read @skills/understanding-development/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
16 changes: 16 additions & 0 deletions .claude/skills/understanding-events/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: understanding-events
description:
Use when creating events, understanding event structure, or working with event
properties. Covers entity-action naming, event properties, statelessness, and
vendor-agnostic design. (project)
---

# Understanding walkerOS Events

The actual content is maintained in:

Read @skills/understanding-events/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
16 changes: 16 additions & 0 deletions .claude/skills/understanding-flow/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: understanding-flow
description:
Use when learning walkerOS architecture, understanding data flow, or designing
composable event pipelines. Covers Source→Collector→Destination pattern and
separation of concerns. (project)
---

# Understanding walkerOS Flow

The actual content is maintained in:

Read @skills/understanding-flow/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
16 changes: 16 additions & 0 deletions .claude/skills/understanding-mapping/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: understanding-mapping
description:
Use when transforming events at any point in the flow (source→collector or
collector→destination), configuring data/map/loop/condition, or understanding
value extraction. Covers all mapping strategies. (project)
---

# Understanding walkerOS Mapping

The actual content is maintained in:

Read @skills/understanding-mapping/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
16 changes: 16 additions & 0 deletions .claude/skills/understanding-sources/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: understanding-sources
description:
Use when working with sources, understanding event capture, or learning about
the push interface. Covers browser, dataLayer, and server source patterns.
(project)
---

# Understanding walkerOS Sources

The actual content is maintained in:

Read @skills/understanding-sources/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
16 changes: 16 additions & 0 deletions .claude/skills/using-logger/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: using-logger
description:
Use when working with sources/destinations to understand standard logging
patterns, replace console.log, or add logging to external API calls. Covers
DRY principles, when to log, and migration patterns.
---

# Using the walkerOS Logger

The actual content is maintained in:

Read @skills/using-logger/SKILL.md

This reference ensures Claude Code can discover this skill while maintaining the
primary content in the tool-agnostic location.
7 changes: 6 additions & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
},

// Persist Claude Code data across container rebuilds (uses existing .claude folder in repo)
"containerEnv": {
"CLAUDE_CONFIG_DIR": "/workspaces/walkerOS/.claude/data"
},
Comment on lines +9 to +13
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

fd -t d "\.claude" --max-depth 3

Repository: elbwalker/walkerOS

Length of output: 44


🏁 Script executed:

# Check the entire devcontainer.json file to see postCreateCommand and other build steps
cat -n .devcontainer/devcontainer.json

Repository: elbwalker/walkerOS

Length of output: 2149


🏁 Script executed:

# Search for any references to .claude or claude initialization in build/setup scripts
rg -r "\.claude" --type json --type sh --type bash

Repository: elbwalker/walkerOS

Length of output: 458


🏁 Script executed:

cat -n .gitignore | grep -A 2 -B 2 "claude" || echo "No 'claude' references in .gitignore"

Repository: elbwalker/walkerOS

Length of output: 164


🏁 Script executed:

# Search for any documentation or setup scripts that might initialize .claude
find . -type f \( -name "*.md" -o -name "setup*" -o -name "init*" \) | head -20 | xargs grep -l "claude" 2>/dev/null || echo "No setup/init files reference claude"

Repository: elbwalker/walkerOS

Length of output: 73


🏁 Script executed:

# Check if .claude is in .gitignore at all
cat .gitignore 2>/dev/null | head -50

Repository: elbwalker/walkerOS

Length of output: 879


🏁 Script executed:

# Check CLAUDE.md for any setup guidance
head -50 CLAUDE.md

Repository: elbwalker/walkerOS

Length of output: 485


Create .claude/data directory during container initialization.

The CLAUDE_CONFIG_DIR environment variable is set to /workspaces/walkerOS/.claude/data, but the postCreateCommand does not create this directory. While the devcontainer comment references "existing .claude folder in repo," .claude/data/ is in .gitignore and does not exist. Add directory creation to postCreateCommand to ensure Claude Code can initialize its configuration:

"postCreateCommand": "mkdir -p .claude/data && npm install && npm install -g @anthropic-ai/claude-code && npm run build"
🤖 Prompt for AI Agents
In .devcontainer/devcontainer.json around lines 9 to 13, the CLAUDE_CONFIG_DIR
points to /workspaces/walkerOS/.claude/data but the postCreateCommand does not
create that directory, so add directory creation to ensure the path exists
before installing and building; update postCreateCommand to run a mkdir -p
.claude/data (or equivalent cross-platform creation) first, then run the
existing npm install, globally install @anthropic-ai/claude-code, and npm run
build in the same command sequence.

"customizations": {
"vscode": {
"extensions": [
Expand Down Expand Up @@ -36,7 +41,7 @@
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "npm install && npm install -g @anthropic-ai/claude-code @openai/codex && npm run build"
"postCreateCommand": "npm install && npm install -g @anthropic-ai/claude-code && npm run build"

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ typings/
# Turbobuild
.turbo

# Claude Code data (conversations, cache)
.claude/data/

.DS_Store
.npm-cache
.tmp
Loading