中文 | 日本語 | Русский язык
A React template integrating Mantine UI and Tailwind CSS for modern web development, with Rsbuild, TypeScript, ESLint (Antfu config), and Iconify support.
- Modern UI Framework: Built using React (v19) for a component-driven, declarative interface.
- Rich Component Library: Integrates with Mantine UI (
@mantine/coreand@mantine/hooks) providing pre-built UI elements and utility hooks. - Utility-First Styling: Employs Tailwind CSS along with
@tailwindcss/postcss, enabling flexible and rapid styling while maintaining consistency. - PostCSS Integration: Leverages PostCSS plugins like
postcss-import,autoprefixer, andpostcss-simple-varsfor advanced CSS processing. - Type Safety: Utilizes TypeScript (v5.9.x) to enhance code reliability and provide robust type checking during development.
- Fast Development Workflow: Uses Rsbuild (
@rsbuild/coreand@rsbuild/plugin-react) for optimized builds and efficient development server performance. - Icon Support: Includes
@iconify/jsonand@iconify/tailwindfor scalable and customizable iconography. - Consistent Design Language: Combines
postcss-preset-mantineandtailwind-preset-mantinefor seamless integration between Mantine and Tailwind styles. - Focus on Code Quality: Includes ESLint with
@antfu/eslint-configfor linting and enforcing best practices in the codebase. - Git Hooks: Integrated with Husky and
lint-stagedfor automated code quality checks on commit. - Automated Releases: Utilizes GitHub Actions for automated releases and changelog generation.
- Framework/Library: React (v19)
- UI Toolkit/Styling: Mantine UI (
@mantine/core), Tailwind CSS (tailwindcss) - Build Tool: Rsbuild (
@rsbuild/core) - Language: TypeScript (v5.9.x)
- CSS Processing: PostCSS with plugins like
autoprefixerandpostcss-simple-vars - Linting: ESLint with
@antfu/eslint-config - State Management: Zustand
- Routing: Tanstack Router
- Data Fetching: Tanstack Query (React Query)
- Table Component: Tanstack Table
See the package.json for a full list of dependencies.
- Node.js (>= 18.x recommended)
- Package manager (npm, yarn, or pnpm)
-
Create a new project using the template:
pnpm create trapar-waves
-
Navigate to your project directory and install dependencies:
pnpm install
-
Start the development server:
pnpm dev
├── public/ # Static assets
├── src/ # Source code
│ ├── app.tsx # Main application component
│ ├── globals.css # Global styles and Tailwind imports
│ ├── index.tsx # Entry point
│ ├── iconify.ts # Iconify configuration
│ └── env.d.ts # Environment type declarations
├── rsbuild.config.ts # Rsbuild configuration
├── tsconfig.json # TypeScript configuration
├── eslint.config.js # ESLint configuration
└── package.json # Project dependencies and scripts
Contributions are welcome and greatly appreciated! Please follow these steps to contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License © 2025 Trapar Waves
- Rikka: admin@rikka.cc
- GitHub Profile: Muromi-Rikka