Additional info
Contributing
How to contribute adapters, plugins, and improvements to UsefulKey.
Overview
Thank you for contributing to UsefulKey. This guide explains how to propose changes, add adapters, and ensure quality through tests and docs.
Getting started
- Fork and clone the repository.
- Install dependencies with
pnpm install
. - Build and test with
turbo build
andpnpm test
.
Code style
- Follow the existing project formatting and naming conventions.
- Prefer explicit, descriptive names for functions and classes.
- Keep functions small and focused; handle edge cases up front.
Adapters and plugins
- Keep methods deterministic and fast; avoid internal retries.
- Preserve return shapes exactly; the core relies on them.
- Use milliseconds for all time values.
- Ensure atomicity where required (transactions/Lua as needed).
- Include a minimal example in documentation illustrating usage.
Tests
- Add unit tests that cover success, failure, and edge cases.
- Organize tests by feature area (adapters, core, plugins, utils).
Documentation
- Update or add docs in
web/docs/content/docs/
. - For new adapters/plugins, include interface coverage and a basic example.
Submitting changes
- Open a pull request with a clear description of the change and rationale.
- Link related issues if applicable.
- Ensure CI is green.
Questions
If you have questions or need guidance, open a discussion or issue.