Contributing
walkerOS is open source and will remain open source. We believe companies should own their data infrastructure. True data ownership only comes when you control your data collection. No vendor lock-in, no surprises. You own your code, your data, your future.
There are multiple ways to contribute, and we appreciate them all.
Getting started
Devcontainer (recommended)
The easiest way to start developing is using the devcontainer setup. It automatically installs all dependencies, extensions, and AI-assisted development tooling.
- Install the Dev Containers extension in VS Code
- Open the command palette and select
Dev Containers: Reopen in Container - Wait for the container to build. You're ready to code
The skills/ folder contains step-by-step guides that work with any AI
assistant.
Manual setup
If you prefer a local setup:
Ways to contribute
Code
- Fix bugs or implement new features
- Create new destinations or sources (see
skills/create-destinationandskills/create-sourcefor guidance) - Improve existing packages
Documentation
The documentation lives in website/docs/. To run the docs locally:
- Improve existing documentation
- Add examples and use cases
- Fix typos and clarify explanations
Community
- Report bugs (issue templates available)
- Suggest features
- Answer questions from other users
Development workflow
walkerOS uses a test-driven development approach with Jest. Please run tests before submitting pull requests.
Adding a changeset
When your PR includes changes that should be released, add a changeset:
- Select the packages your PR affects
- Choose the version bump type:
- patch: bug fixes, minor improvements
- minor: new features (backwards compatible)
- major: breaking changes
- Write a brief summary of the changes
- Commit the generated
.changeset/*.mdfile with your PR
Changesets help generate accurate changelogs and version packages correctly. Not every PR needs a changeset. Skip it for documentation, CI changes, or internal refactoring that doesn't affect published packages.
Package structure
The project is organized as a monorepo:
packages/
├── core/ # Types, utilities, schemas
├── collector/ # Event processing engine
├── config/ # Shared tooling config
├── web/ # Browser: sources/, destinations/
└── server/ # Node.js: sources/, destinations/
apps/
├── quickstart/ # Validated examples
├── walkerjs/ # Browser bundle
└── demos/ # Demo applications
Resources
For deeper guidance:
skills/: step-by-step guides for common tasks (creating destinations, sources, testing strategies)AGENT.md: quick reference for contributors and AI assistants
Get in touch: