AmandaloveYang LanFile .cursorrules file for TypeScript

# LanFile_PC

## Project Overview

LanFile_PC is a cross-platform desktop application built with React and Electron, designed for efficient file transfers within a local network. The application supports file upload, download, and automatic device discovery, offering a simple and intuitive user experience for file sharing.

---

## Coding Standards

### Language

- Use TypeScript for all new code.

### Component Design

- Prefer functional components and React Hooks over class components.
- Define appropriate TypeScript types for all variables and functions.

---

## Style Guidelines

- Follow the [Airbnb React/JSX Style Guide](https://github.com/airbnb/javascript/tree/master/react).
- Use 2 spaces for indentation.
- Limit maximum line length to 100 characters.

---

## Best Practices

1. **Responsive Design**:

   - Use Tailwind CSS for implementing responsive UI designs.

2. **Performance Optimization**:

   - Use `React.memo()` when applicable to improve component performance.

3. **Asynchronous Operations**:
   - Prefer `async/await` over `.then()` for handling promises.

---

## Testing Requirements

- Write unit tests for all new components and utility functions.
- Aim for a minimum of 80% code coverage in tests.

---

## Documentation Standards

- Use JSDoc comments for all functions and components.
- Keep the `README.md` file updated with project setup instructions and contribution guidelines.

---

## Key Considerations

- Always consider **accessibility** (a11y) and **performance** when implementing new features.
- All code must pass review to ensure adherence to coding standards and style guidelines.

---

---

## Development Tools

- **Frameworks**: React, Electron
- **Styling**: Tailwind CSS
- **Testing Framework**: Jest
- **Build Tool**: Webpack
- **Packaging Tool**: Electron-builder

---
css
html
java
javascript
jest
react
tailwindcss
typescript
+1 more

First Time Repository

TypeScript

Languages:

CSS: 0.4KB
HTML: 0.4KB
JavaScript: 4.0KB
TypeScript: 33.5KB
Created: 1/14/2025
Updated: 1/17/2025

All Repositories (1)