Contributing to witqq spreadsheet
March 12, 2026 · View on GitHub
Thank you for your interest in contributing! For full documentation, interactive demos, and API reference, visit the project website.
Getting Started
- 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
Development
$\text{bash} \text{npm} \text{run} \text{dev} # \text{Docker} \text{build} + \text{run} (\text{port} 3150) \text{npm} \text{run} \text{build} # \text{Build} \text{all} \text{packages} \text{npm} \text{run} \text{typecheck} # \text{TypeScript} \text{check} \text{npm} \text{run} \text{lint} # \text{ESLint} \text{npm} \text{run} \text{test} # \text{Unit} \text{tests} (\text{vitest}) \text{npm} \text{run} \text{test}:\text{e2e} # \text{E2E} \text{tests} (\text{playwright}) \text{npm} \text{run} \text{benchmark} # \text{Performance} \text{benchmarks} (6 \text{metrics} \times 3 \text{datasets}) \text{npm} \text{run} \text{docs}:\text{npm} # \text{Generate} \text{npm} \text{package} \text{docs} \text{from} \text{site} \text{MDX} $
Project Structure
packages/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)
Making Changes
- Create a feature branch from
master - Make your changes with tests
- Run
npm run build && npm run testto verify - Submit a pull request
Code Style
- TypeScript strict mode
- ESLint flat config (run
npm run lint) - Prettier (single quotes, trailing commas; run
npm run format)
Plugin Development
witqq spreadsheet has a plugin system. See packages/core/src/plugins/ for the interface definition and packages/plugins/ for official plugin examples.
Commit Messages
Follow conventional commits: type(scope): description
Types: feat, fix, docs, refactor, test, perf, chore
Reporting Issues
Use GitHub Issues with the provided templates. Include:
- witqq spreadsheet version
- Browser and OS
- Steps to reproduce
- Expected vs actual behavior
License
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).