This document provides a comprehensive overview of the Kunkun project, its architecture, and development conventions, intended to be used as instructional context for future interactions.
Kunkun is a cross-platform desktop application built with Tauri. It features a Svelte-based frontend and a Rust backend. The project is structured as a monorepo, managed with pnpm for the frontend and Cargo for the backend.
The application appears to be an extensible tool, with a system for "extensions" that can be installed. It also includes a CLI and various other packages.
- Frontend: Svelte, TypeScript
- Backend: Rust, Tauri
- Monorepo Management: pnpm, Cargo, Turbo
- Database: The project includes a
dbpackage, but the specific database is not immediately clear from the file names. - API: The project includes a
grpcpackage, suggesting the use of gRPC for inter-process communication.
The project uses turbo to manage the monorepo. The main commands are defined in the root package.json:
-
Development: To run the application in development mode, use the following command:
pnpm dev
This will start the Svelte development server and the Tauri application.
-
Building: To build the application for production, use the following command:
pnpm build
This will build the frontend and the Tauri application.
-
Testing: To run the test suite, use the following command:
pnpm test -
Linting: To lint the codebase, use the following command:
pnpm lint
-
Formatting: To format the codebase, use the following command:
pnpm format
- Coding Style: The project uses Prettier for code formatting. The configuration is defined in
.prettierrc. - Testing: The project has a
testscript, but the specific testing framework is not immediately clear. There are__tests__directories in some packages, suggesting the use of a framework like Jest or Vitest. - Contribution: The
CONTRIBUTING.mdfile should be consulted for contribution guidelines.