Contributing
March 22, 2026 ยท View on GitHub
๐ Signality v0.1 is here! We're just getting started, and there's a long road ahead to 1.0. Your contributions can help shape its future โ every help matters! All contributors will be featured on our website and in the README. Join us on this journey! ๐
We welcome contributions of all kinds - whether it's fixing bugs, adding features, improving documentation, or suggesting ideas.
If you're planning a larger change, we'd love to hear about it first! You can open an issue or start a discussion to share your ideas and get feedback before diving in.
Getting Started
In order to make your contribution please make a fork of the repository. After you've pulled the code, follow these steps to kick-start the development:
- Run
pnpm installto install dependencies - Run
pnpm docs:devto launch the documentation site locally - Run
pnpm demos:devto launch the demo app for local testing
Development Workflow
Running Tests
Run all tests across the monorepo:
pnpm test
Run tests for a specific project:
nx test core
nx test cdk-interop
Building
Build all packages:
pnpm build
Build a specific package:
nx build core
nx build cdk-interop
Documentation
The documentation site is built with VitePress and includes interactive demos:
pnpm docs:dev- Start development serverpnpm docs:build- Build documentation
Pull Request Process
- We follow Conventional Commits in our commit messages with the following scopes:
core: changes to the core packagecdk-interop: changes to the cdk-interop packagedemos: changes to the demo componentsdocs: changes to documentation
Example: feat(core): add new battery utility
-
Take a look at our Coding Standards - these are guidelines to help maintain consistency
-
When reporting bugs or requesting features, using the issue templates helps us understand your needs better
-
When you're ready, create a Pull Request from your fork to the original repository
-
We'll check that tests pass and documentation is updated (if applicable) during the review process
Issue Templates
When filing issues, please use the appropriate templates:
- Bug Report: for reporting bugs or unexpected behavior
- Feature Request: for proposing new features or enhancements
- Documentation: for documentation-related issues
Architecture
This project is organized as an Nx monorepo with the following packages:
- core: Main package with browser utilities, element utilities, and reactive helpers
- cdk-interop: CDK integration utilities
- demos: Demo components built as custom elements for documentation
- docs: VitePress documentation site
Package Structure
projects/
โโโ core/ # Main package
โ โโโ browser/ # Browser API utilities
โ โโโ elements/ # Element utilities
โ โโโ utils/ # General utilities
โ โโโ internal/ # Internal helpers (private API)
โโโ cdk-interop/ # CDK integration
โโโ demos/ # Demo components
โโโ docs/ # Documentation site