Skip to main content

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

The easiest way to start developing is using the devcontainer setup. It automatically installs all dependencies, extensions, and AI-assisted development tooling.

  1. Install the Dev Containers extension in VS Code
  2. Open the command palette and select Dev Containers: Reopen in Container
  3. 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:

Loading...

Ways to contribute

Code

  • Fix bugs or implement new features
  • Create new destinations or sources (see skills/create-destination and skills/create-source for guidance)
  • Improve existing packages

Documentation

The documentation lives in website/docs/. To run the docs locally:

Loading...
  • 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:

Loading...
  1. Select the packages your PR affects
  2. Choose the version bump type:
    • patch: bug fixes, minor improvements
    • minor: new features (backwards compatible)
    • major: breaking changes
  3. Write a brief summary of the changes
  4. Commit the generated .changeset/*.md file 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:

💡 Need Professional Support?
Need professional support with your walkerOS implementation? Check out our services.