Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Essential developer utilities - available on web and desktop

License

Notifications You must be signed in to change notification settings

gammabowl/try-devutils

Repository files navigation

TryDevUtils

A handy collection of developer utilities built with React, TypeScript and assisted by πŸ€–. Available as a web app and a native desktop app (macOS, Windows, Linux) powered by Tauri.

πŸš€ Quick Start

Prerequisites

  • Node.js (v22)
  • npm
  • Rust (only for desktop development)

Installation & Development

# Development
npm run dev # Start web development server (port 8080)
npm run preview # Preview production build locally
# Building
npm run build # Production web build
npm run build:dev # Development build
# Tests
npm run test # Run Playwright browser tests (console errors on util pages)
# CI build + tests
npm run build:ci # Build + Playwright tests (used by GitHub Actions)
# Code Quality
npm run lint # Run ESLint
npm run check # Type check and build validation

The web app will be available at http://localhost:8080.

πŸ–₯️ Desktop App (Tauri)

Prerequisites

  1. Rust – install via rustup:
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. macOS: Xcode Command Line Tools (xcode-select --install)
  3. Windows: Microsoft C++ Build Tools + WebView2
  4. Linux: build-essential, libwebkit2gtk-4.1-dev, libssl-dev, libayatana-appindicator3-dev, librsvg2-dev

Desktop Development

npm run tauri:dev # Launch desktop app with hot-reload
npm run tauri:build # Build production desktop installer
npx tauri info # Show environment diagnostics
npx tauri icon ./public/logo.png # Regenerate app icons

Note: The first tauri:dev run takes 2–5 minutes while Cargo downloads and compiles Rust dependencies. Subsequent runs are fast (~5s).

Desktop Build Output

npm run tauri:build produces platform-specific installers in src-tauri/target/release/bundle/:

Platform Formats
macOS .dmg, .app
Windows .msi, .exe (NSIS)
Linux .deb, .AppImage

Architecture

The desktop app reuses 100% of the web app's business logic and utility components. Platform detection (isTauri()) switches between:

  • Web β†’ BrowserRouter + header/footer layout
  • Desktop β†’ HashRouter + native sidebar layout with draggable titlebar

πŸ› οΈ Development Setup

IDE Configuration

For the best development experience, we recommend using Visual Studio Code with the following extensions:

Essential Extensions

  • TypeScript and JavaScript Language Features (built-in)
  • ESLint - JavaScript/TypeScript linting
  • Prettier - Code formatting
  • Tailwind CSS IntelliSense - CSS class autocomplete
  • Auto Rename Tag - HTML/JSX tag synchronization

Project Structure

src/
β”œβ”€β”€ components/
β”‚ β”œβ”€β”€ utils/ # Individual utility components
β”‚ β”œβ”€β”€ ui/ # Reusable UI components (shadcn/ui)
β”‚ β”œβ”€β”€ Layout.tsx # Web layout (header + footer)
β”‚ └── DesktopLayout.tsx # Desktop layout (sidebar + titlebar)
β”œβ”€β”€ hooks/
β”‚ β”œβ”€β”€ use-tauri.ts # Tauri native API hooks (clipboard, dialogs, filesystem)
β”‚ └── ...
β”œβ”€β”€ lib/
β”‚ β”œβ”€β”€ platform.ts # Platform detection (isTauri, getPlatform, getModifierKey)
β”‚ └── ...
β”œβ”€β”€ pages/ # Page components (shared between web & desktop)
└── utils/ # Helper functions
src-tauri/
β”œβ”€β”€ Cargo.toml # Rust dependencies
β”œβ”€β”€ tauri.conf.json # Tauri window & bundle configuration
β”œβ”€β”€ capabilities/ # Security permissions for Tauri plugins
β”œβ”€β”€ icons/ # Auto-generated app icons (all platforms)
└── src/
 β”œβ”€β”€ main.rs # Desktop entry point
 └── lib.rs # Tauri plugins, commands, and window setup

πŸš€ Deployment & Hosting

This app is deployed and hosted on Vercel via Git integration.

CI Build + Tests

  • GitHub Actions runs a build + Playwright tests on every push and pull request.
  • The workflow must pass before merging to main.

Deployments

  • Vercel creates Preview Deployments for non-main branches and pull requests.
  • Vercel creates Production Deployments from main.

πŸ“„ License

This project is open source and available under the MIT License.

πŸ™ Acknowledgments

  • Inspired by various developer utils collections
  • Thanks to the open source community

Happy coding/vibe-coding! πŸŽ‰

About

Essential developer utilities - available on web and desktop

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 3

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /