DevWorkbench is a developer utilities application built with Tauri and React, similar to DevToys/DevUtils.
DevWorkbench/
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── lib/ # Utilities
│ └── assets/ # Static assets
├── src-tauri/ # Rust backend
│ ├── src/ # Rust source code
│ └── icons/ # App icons
└── public/ # Public assets
- Frontend: React 18 + TypeScript + Vite
- Backend: Rust with Tauri 2.6
- UI Framework: Tailwind CSS + Radix UI
- Package Manager: npm
# Install dependencies
npm install
# Start development server
npm run tauri dev
# Build for production
npm run tauri build
# Frontend only development
npm run dev
# Type checking
npx tsc --noEmit- Number Base Converter - Convert between binary, octal, decimal, hex, and custom bases
- Base64 String Encode/Decode - Encode/decode text using Base64 with smart detection
- Base58 String Encode/Decode - Bitcoin/IPFS-friendly encoding without confusing characters
- Multi-line to JSON Array - Convert multi-line text to JSON array with auto-trim and smart type detection
- Hash Generator - Generate MD5/SHA1/SHA2/SHA3/Keccak hashes using Rust for high performance
- JSON Formatter & Validator - Format, validate, and beautify JSON with collapsible viewer, auto-repair for escaped strings, trailing commas, comments, and other common issues
- UUID Generator - Generate and validate UUIDs v1/v3/v4/v5/v7 with bulk generation support
- JWT Token Tool - Decode, encode, and verify JSON Web Tokens with multiple algorithms (HS256/384/512, RS256/384/512)
- URL Tools - Encode/decode URLs, parse URL structure, query string to JSON, and build URLs from components
- Text Utilities - HTML entities encode/decode, Unicode conversion, case conversion (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE), and text statistics
- Unix Time Converter - Convert Unix timestamps to human-readable dates with detailed time information including relative time, day/week of year, leap year status, and multiple format options
- Cron Job Parser - Parse cron expressions, generate human-readable descriptions, predict execution times, and browse comprehensive example collections with category filtering
- OpenAPI Spec Filter - Load OpenAPI spec JSON files, select endpoints with filtering and search, and export filtered spec with only selected endpoints and their referenced components
- Regex Tester & Builder - Test and build regular expressions with real-time matching, syntax highlighting, match navigation, and output formatting with capture groups
- 盤古之白 (Pangu Spacing) - Automatically add spaces between CJK characters and half-width characters for improved readability
- Color picker and converter
- Image tools
- Developer tools collection
- Uses Tauri's command system for Rust-React communication
- Tailwind CSS for styling with Radix UI components
- TypeScript for type safety
- Vite for fast development and building
- CRITICAL: Always sync version numbers before creating releases
- Update both
package.jsonandsrc-tauri/tauri.conf.jsonto match git tag - MANDATORY: Update
CHANGELOG.mdwith new version and release notes before creating releases- Move changes from
[Unreleased]section to new version section - Add release date in format
## [X.X.X] - YYYY-MM-DD - Update version comparison links at bottom of file
- Move changes from
- Tauri uses these version numbers for build artifact filenames
- Example: v0.2.2 tag requires "version": "0.2.2" in both files
- Run
npx tsc --noEmitbefore commits to catch type errors - Remove unused imports to prevent TS6133 errors in CI
- Strict mode enabled - all imports must be used
- Multi-platform builds: macOS (Intel + ARM64), Windows, Linux
- Artifacts are uploaded with version-specific filenames
- Build failures often due to TypeScript errors or version mismatches
- Use
shell: bashfor cross-platform compatibility in workflows
- Update features in CLAUDE.md
- MANDATORY: Update CHANGELOG.md with new version entry
- Move unreleased changes to new version section
- Add proper version header with date:
## [X.X.X] - YYYY-MM-DD - Update version comparison links at bottom
- Sync version numbers in package.json and tauri.conf.json
- Run pre-release check:
npm run pre-release-check - Create git tag matching the version numbers
- GitHub Actions automatically builds and creates release
- Verify artifact filenames include correct version numbers
- CHANGELOG.md updated with new version and release notes
- package.json version matches intended release version
- src-tauri/tauri.conf.json version matches intended release version
- All version numbers match git tag to be created
- TypeScript compilation passes (
npx tsc --noEmit) - All features documented in CLAUDE.md
- Each tool is a separate component in
src/components/ - Follow existing patterns from NumberBaseConverter for consistency
- Include smart detection, mode switching, and error handling
- Maintain unified UI design with consistent button layouts
- Support clipboard operations and sample data generation
- Icons stored in
src-tauri/icons/directory - Generate all required formats: PNG (multiple sizes), ICO, ICNS
- Use Tauri's standard icon naming conventions
- Remove unnecessary platform-specific icons to reduce bloat