Skip to content

YU000jp/tauri-solid-tanstack-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

core-starter

A local-first desktop application starter — Tauri v2, SolidJS, Vite v8, Park UI, TanStack, Command Registry, and Turbo monorepo for AI-assisted development.

Important

This repository is built for local-first desktop applications only — not web applications. For detailed local-first architecture, see docs/ARCHITECTURE.md.

image

Local-First Architecture

Built for local-first desktop applications only — not web applications. The app runs natively on the user's device with direct file system access via Tauri, stores data on local disk, and works fully offline.

For detailed local-first architecture and persistence patterns, see docs/ARCHITECTURE.md.

Design Philosophy

This repository is optimized for developer productivity and code quality through monorepo structure, centralized dependency management, local-first quality gates, type-safe boundaries, and AI-assisted development.

For detailed design philosophy, see docs/ARCHITECTURE.md.

Quick Start

System Requirements

Requirement Version Notes
Node.js >= 20 Download
pnpm >= 11.0.0 Install
Rust >= 1.85.0 rustup
OS-specific Windows: MSVC Build Tools (VS Installer → "Desktop development with C++")
macOS: Xcode Command Line Tools
Linux: build-essential + pkg-config + libssl-dev

5-Minute Setup

# 1. Clone the repository
git clone <repo-url> core-starter
cd core-starter

# 2. Update project identifiers (required before building)
# Edit the following files to replace placeholder values:
# - apps/desktop/src-tauri/tauri.conf.json:
#   - Replace productName: "core-starter" with your app name
#   - Replace identifier: "com.corestarter.desktop" with your app identifier
# - apps/desktop/src-tauri/Cargo.toml:
#   - Replace name = "core-starter-desktop" with your app name
#   - Replace authors = ["y0sky"] with your name
#   - Replace repository URL with your repository URL

# 3. Install dependencies
pnpm install

# 4. Run the desktop app (compiles Rust backend + starts Vite dev server)
pnpm tauri:dev

For detailed Tauri CLI usage guidelines, see:
- `.devin/rules/51-tauri-cli.md` — Complete command reference and best practices

The app window opens automatically. You will see a header with the app title, a theme toggle, and a tab bar with three top-level tabs (Dashboard, Config, Dev).

The Dev tab contains 12 feature sections demonstrating the starter's capabilities: Counter, Intent, Platform, Storybook, UI Mock, State, I18n, Errors, IPC Timing, Windows, MCP, and Registry Browser.

Note: If you're using this repository as a template for your own project, click "Use this template" on GitHub to create your own repository before following the setup steps above.

Environment Configuration

Copy the example environment file and configure as needed:

cp .env.example .env

Optional: AI-Assisted Development

This repository includes AI agent configuration in .devin/ for Devin/Cascade users. If you don't use AI-assisted development, you can safely ignore or remove the .devin/ directory.

What's included in .devin/:

  • AI agent rules and guidelines for consistent code generation
  • MCP (Model Context Protocol) server configuration
  • Workflow definitions for common development tasks
  • Custom CLI scripts for quality checks and development workflows

For AI-assisted development setup, see docs/SETUP.md.

Optional Tools

For detailed setup instructions (sccache, cargo-binstall, cargo-nextest), see docs/SETUP.md.

Tech Stack

  • Desktop: Tauri v2
  • Frontend: SolidJS + Vite v8
  • Styling: Park UI + Panda CSS
  • State: TanStack Store/Intent/Config
  • Validation: valibot
  • Monorepo: Turbo + pnpm workspaces
  • Test: Vitest + cargo test
  • AI: MCP Bridge (dev-only)

What's Included

Includes a fully running cross-platform desktop app with:

  • Local-first architecture — Tauri native file system, offline-capable
  • AI-assisted development — Code scaffolding, quality checks, documentation
  • Local development toolchain — Lint, typecheck, test, duplication, unused-code checks
  • Command Registry — Centralized commands with keyboard shortcuts and Ctrl+K palette
  • Multi-window support — Sub-window creation and management
  • Park UI components — 56 pre-styled recipes
  • Type-safe Rust ↔ TS bridge — tauri-specta auto-generated bindings
  • Performance optimizations — API call deduplication, debounced inputs, efficient keyboard event handling

Workspace Packages

  • @core-starter/desktop — Tauri v2 desktop app
  • @core-starter/ui — Park UI components
  • @core-starter/native — Type-safe Tauri IPC wrappers
  • @core-starter/store — TanStack Store utilities
  • @core-starter/config — App config with valibot validation
  • @core-starter/i18n — Internationalization (ja/en)
  • @core-starter/intent — Intent system with skill manifests
  • @core-starter/registry — Command, Store, and Hook registries
  • @core-starter/result — Result<T, E> error handling types
  • @core-starter/tab-system — Tab management system
  • @core-starter/fonts — Font aggregation package
  • @core-starter/helpers — Development-time utility registry
  • @core-starter/policy — Declarative policy manifest
  • @core-starter/scripts — Build / check / export automation scripts
  • tauri-plugin-window-system-api — TypeScript API for window system

For detailed package descriptions, see docs/ARCHITECTURE.md.

Tauri Plugins

  • tauri-plugin-store — Persistent key-value storage
  • tauri-plugin-fs — File system access
  • tauri-plugin-window-state — Window position/size restoration
  • tauri-plugin-shell — Shell command execution
  • tauri-plugin-process — Process management
  • tauri-plugin-os — OS information
  • tauri-plugin-single-instance — Single instance enforcement
  • tauri-plugin-dialog — Native dialogs
  • tauri-plugin-global-shortcut — Global keyboard shortcuts
  • tauri-plugin-window-system — Multi-window creation and management
  • tauri-plugin-mcp-bridge — MCP bridge for AI agents (dev-only)

For detailed plugin descriptions, see docs/ARCHITECTURE.md.

Plop Generators

Scaffold code quickly with Plop generators: pnpm gen:package, pnpm gen:component, pnpm gen:command, pnpm gen:section, pnpm gen:store, pnpm gen:persistent-store, pnpm gen:feature, pnpm gen:capability, pnpm gen:plugin, pnpm gen:hook, pnpm gen:context, pnpm gen:util, and pnpm gen:skill.

For detailed generator descriptions, see docs/CODE_GENERATION.md.

Development Commands

# Core workflow
pnpm install
pnpm tauri:dev
pnpm tauri:build

# Quality checks
pnpm check  # All checks
pnpm lint
pnpm typecheck
pnpm test

# Custom tools
pnpm check:pre  # Pre-change gate
pnpm ai:review  # AI self-review
pnpm intent:load  # Load intent skill

# For detailed commands, see docs/OPERATIONS.md

Project Policies

  • No CI — All quality checks, builds, and tests run locally
  • Catalog compliance — All shared deps use "catalog:" or "workspace:*". Direct version strings are forbidden
  • Tauri v2 only — Use only official Tauri v2 plugins. No v1 deprecated APIs or old plugin names

For detailed project policies and development guidelines, see .devin/rules/00-core-starter.md.

Troubleshooting

For troubleshooting guidance, see docs/OPERATIONS.md.

Detailed Documentation

For detailed information on specific topics, see:

  • Architecture & Package Rolesdocs/ARCHITECTURE.md
  • Operations & Development Commandsdocs/OPERATIONS.md
  • Code Generationdocs/CODE_GENERATION.md
  • Project Policies.devin/rules/00-core-starter.md
  • AI Agent SkillsAGENTS.md
  • AI Agent Configuration Index.devin/README.md
  • AI Agent Rules.devin/rules/00-core-starter.md, .devin/rules/05-devin-cascade-best-practices.md, .devin/rules/10-code-style.md, .devin/rules/11-code-generation.md, .devin/rules/12-workflow-procedures.md, .devin/rules/13-proposal-guidelines.md, .devin/rules/15-ui-styling.md, .devin/rules/15a-ux-best-practices.md, .devin/rules/16-dom-css-best-practices.md, .devin/rules/17-tauri-rust-best-practices.md, .devin/rules/18-api-helper-best-practices.md, .devin/rules/18-ark-ui-integration.md, .devin/rules/18-window-system.md, .devin/rules/19-reusability-composability-utilities.md, .devin/rules/20-architecture.md, .devin/rules/21-wasm-integration.md, .devin/rules/30-operations.md, .devin/rules/40-testing.md, .devin/rules/50-tooling.md, .devin/rules/51-tauri-cli.md, .devin/rules/60-communication.md, .devin/rules/70-planning-guard.md

License

MIT

About

A local-first desktop application starter — Tauri v2, SolidJS, Vite v8, Park UI, TanStack, Command Registry, and Turbo monorepo for AI-assisted development.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

  •  

Contributors