Help us make FabricJS Design Tool better! Complete development setup and contribution workflow.
# Fork the repository on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/fabricjs-design-tool.git
cd fabricjs-design-tool
# Install all dependencies
npm install
# Install global dependencies if needed
npm install -g typescript rollup
# Start development server
npm run dev
# Build and watch for changes
npm run build:watch
fabricjs-design-tool/ ├── src/ # Source code │ ├── components/ # React components │ ├── hooks/ # Custom React hooks │ ├── utils/ # Utility functions │ └── types/ # TypeScript type definitions ├── lib/ # Built library files ├── docs/ # Documentation ├── examples/ # Example implementations ├── tests/ # Test files └── scripts/ # Build and deployment scripts
npm run dev
- Start dev servernpm run build:watch
- Watch and buildnpm run build
- Build for productionnpm run build:lib
- Build library onlynpm test
- Run testsnpm run test:watch
- Watch testsnpm run lint
- Lint codenpm run type-check
- Check typesCreate a feature branch from main
git checkout -b feature/your-feature-name
Implement your feature or fix
Run tests and ensure everything works
npm test && npm run lint && npm run type-check
Commit with a clear message and push to your fork
git commit -m "feat: add new shape creation feature"
git push origin feature/your-feature-name
Open a PR with a clear description of your changes
## Description
Brief description of what this PR does
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
- [ ] Tests pass
- [ ] Added new tests
- [ ] Manual testing completed
## Checklist
- [ ] Code follows style guidelines
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] No console errors
👥 New Contributor? Don't hesitate to ask questions! We're here to help and appreciate all contributions, no matter how small.