Thank you for contributing to dexie-reactive.
This project focuses on predictable, shared Dexie liveQuery state for Vue and Nuxt applications with a stable and minimal public API.
Clone the repository and install dependencies:
npm installRun the full project quality checks:
npm run checknpm run lint
npm run format:check
npm run typechecknpm run test
npm run test:browser
npm run test:coveragenpm run buildnpm run checkThe public API is intentionally small and should remain predictable.
Avoid:
- unnecessary abstractions
- implicit behavior
- breaking public API changes
- framework lock-in outside Vue/Nuxt compatibility goals
Prefer:
- readable code
- explicit ownership
- predictable reactive behavior
- small focused composables
Avoid:
- over-engineering
- unnecessary dependencies
- hidden side effects
All new functionality must include tests.
Bug fixes should include regression coverage where possible.
The repository contains:
- unit tests
- browser integration tests
- coverage validation
dexie-reactive depends on real browser IndexedDB behavior.
Changes affecting:
- lifecycle handling
- subscriptions
- cleanup
- concurrency
- shared state
- Dexie interaction
should be validated with browser integration tests when applicable.
Use:
<type>/<issue_number>-<description>Examples:
feat/12-add-query-reset-support
fix/18-handle-stale-results
docs/22-update-readme
ci/30-improve-release-workflowThis repository uses Conventional Commits.
Examples:
feat: add restart lifecycle support
fix: prevent stale live query updates
docs: update quick start examples
ci: optimize changelog workflowsPull requests should:
- reference the related issue
- explain the reason for the change
- include tests when applicable
- keep scope focused
- update documentation if behavior changes
PR descriptions should include:
## Summary
## Changes
## TestingUpdate documentation when changing:
- public API behavior
- composable contracts
- setup instructions
- workflow behavior
- testing expectations
This includes:
README.md- examples
- workflow documentation
- contributor documentation
The repository uses:
- semantic versioning
- automated changelog generation
- automated npm publishing
- GitHub Actions based release workflows
Breaking public API changes must be treated as major releases.
If behavior or architecture is unclear:
- open an issue
- ask questions before implementing large changes
- avoid assumptions around public API semantics
Especially for:
- shared state ownership
- lifecycle behavior
- SSR semantics
- query reset behavior
- Dexie integration patterns