git clone https://github.com/YOUR_USERNAME/hadoku-task.git
cd hadoku-task
pnpm install
pnpm run dev- Create a feature branch:
git checkout -b feature/your-feature - Make changes following guidelines below
- Test - user types, themes, drag & drop, localStorage, cross-tab sync
- Build:
pnpm run build:all - Commit - pre-commit hooks auto-lint and bump versions (see
.husky/README.md) - Open a Pull Request with clear description
- Use TypeScript for all new code
- Provide proper type definitions, avoid
any
- Keep files under 250 lines
- Components in
src/components/ - Utilities in
src/utils/orsrc/domain/utils/
- Use CSS custom properties for colors/spacing
- Add styles to appropriate CSS file (
base.css,main.css,buttons.css, etc.)
- Add definition in
themes/src/style.css(~40 CSS variables: 34 color + 6 shadow) - Update
THEMESarray inthemes/src/index.ts - Add theme family entry in
src/app/themeConfig.tsx
- Add handler in
src/domain/handlers/handlers.ts - Update types in
src/domain/types.ts - Export in
src/server/index.ts - Document in
docs/API.md
- 2 space indentation
- Semicolons, single quotes, trailing commas
Some manually-maintained files must be committed despite .gitignore patterns:
src/app/entry.d.ts- Public API type definitionsthemes/src/style.css- Theme CSS source- CSS files in
task-ui-components/src/(theme-picker.css, toaster.css, context-menu.css)
If CI fails with "file missing" errors, check these files exist and are committed.
MIT License