- Node.js 18 or newer
- npm
npm install
npm run devThe development app is served from the Vite base path:
http://127.0.0.1:5173/OpenWebSheet/
npm run buildThe production build writes static assets to docs/ so GitHub Pages can serve the app.
npm testUse watch mode while working on UI behavior:
npm run test:watchnpm run typechecknpm run dev: start the local Vite server.npm run build: create the production build indocs/.npm run preview: preview the production build locally.npm run storybook: start Storybook on port 6006.npm run build-storybook: build static Storybook output.npm test: run Vitest once.npm run typecheck: run TypeScript without emitting files.
Storybook documents the React UI layer in isolation. Start it with:
npm run storybookInitial stories live beside the UI components they document:
src/shared/ui/*.stories.tsxsrc/features/ribbon/*.stories.tsx
Use Storybook for component states, visual review, and UI experiments that do not require the spreadsheet canvas.
- Create an issue.
- Create a branch.
- Implement changes.
- Run tests and type checking.
- Run the production build when changing UI, assets, or configuration.
- Open a pull request with a summary and verification notes.
The production build currently reports a direct eval warning from src/lib/core/formula/Evaluator.ts. The warning is known, and the build still succeeds. Changes to the formula engine should address that warning deliberately instead of hiding it in unrelated work.