mirror of
https://github.com/mfakbar127/Claude-Samurai
synced 2026-06-21 13:57:42 +00:00
3.0 KiB
3.0 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is a Tauri v2 application for managing Claude Code configuration files. It provides a UI to view, edit, and backup various Claude Code configuration files across different locations (user, enterprise).
Tech Stack
- Frontend: React 19 with TypeScript
- Backend: Rust with Tauri v2
- Build Tool: Vite with React plugin
- Styling: Tailwind CSS v4 via @tailwindcss/vite
- UI Components: shadcn/ui components
- Data Fetching: @tanstack/react-query
- Forms: react-hook-form with @hookform/resolvers and zod
- Routing: react-router-dom
- Package Manager: pnpm (required)
Development Commands
# Install dependencies
pnpm install
# Start development server
pnpm tauri dev
# Build for production
pnpm build
# Preview built app
pnpm preview
# Check TypeScript lint error
pnpm tsc --noEmit
Architecture
Frontend Structure
src/main.tsx- App entry point with React Query client setupsrc/lib/query.ts- React Query hooks and API functionssrc/lib/utils.ts- Utility functionssrc/components/ui/- shadcn/ui components
Backend Structure (Rust)
src-tauri/src/main.rs- Tauri application entry pointsrc-tauri/src/lib.rs- Main application setup and plugin configurationsrc-tauri/src/commands.rs- Tauri commands for file operations
Key Configuration Types
The app handles these configuration file types:
user-~/.claude/settings.jsonenterprise_macos/linux/windows- System-wide managed settingsmcp_macos/linux/windows- System-wide MCP configurations
Data Flow
- React Query hooks in
src/lib/query.tscall Tauri commands - Tauri commands in
src-tauri/src/commands.rshandle file I/O - Frontend displays config content in a textarea with JSON validation
- Changes are saved back via mutations that invalidate relevant queries
Code Principles
- Use functional components and hooks
- Do not use export default to export components
- Place React Query/mutation logic in
src/lib/query.tsby default - Write Tauri commands in
src-tauri/src/commands.rswith well-designed names - Do not separate components into smaller files unless explicitly requested
- Use
pnpm tsc --noEmitinstead ofpnpm tauri devto check TypeScript lint errors after modifying frontend code
Important Notes
- The app automatically backs up existing Claude configs on first run to
~/.ccconfig/claude_backup/ - Enterprise config files are read-only
- All file operations use async/await patterns
- JSON validation is performed client-side before saving
- DO NOT use --yes for shadcn/ui components installation
Use exa by Default
Always use exa when I need code generation, library installation, setup or configuration steps, or library/API documentation. This means you should automatically use the exa MCP tools get library docs without me having to explicitly ask.