Thank you for your interest in contributing! For full documentation, interactive demos, and API reference, visit the project website.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/wit-table.git - Install dependencies:
npm install - Start the development server:
npm run dev
npm run dev # Docker build + run (port 3150)
npm run build # Build all packages
npm run typecheck # TypeScript check
npm run lint # ESLint
npm run test # Unit tests (vitest)
npm run test:e2e # E2E tests (playwright)
npm run benchmark # Performance benchmarks (6 metrics × 3 datasets)
npm run docs:npm # Generate npm package docs from site MDXpackages/core/— Canvas engine (pure TypeScript, zero dependencies)packages/react/— React wrapperpackages/vue/— Vue 3 wrapperpackages/angular/— Angular wrapperpackages/widget/— Embeddable IIFE/UMD bundlepackages/plugins/— Official plugins (formula, collaboration, conditional-format, excel, context-menu, progressive-loader)packages/demo/— Demo applicationpackages/site/— Public website (Astro + Starlight)
- Create a feature branch from
master - Make your changes with tests
- Run
npm run build && npm run testto verify - Submit a pull request
- TypeScript strict mode
- ESLint flat config (run
npm run lint) - Prettier (single quotes, trailing commas; run
npm run format)
witqq spreadsheet has a plugin system. See packages/core/src/plugins/ for the interface definition and packages/plugins/ for official plugin examples.
Follow conventional commits: type(scope): description
Types: feat, fix, docs, refactor, test, perf, chore
Use GitHub Issues with the provided templates. Include:
- witqq spreadsheet version
- Browser and OS
- Steps to reproduce
- Expected vs actual behavior
By contributing, you agree that your contributions will be licensed under the BSL 1.1 license (see LICENSE file). Contributions will transition to Apache 2.0 on the Change Date (2030-03-01).