---
description: General Guidelines
globs: *
alwaysApply: false
---

# General Guidelines

- Use TypeScript for all development.
- Prioritize readability and maintainability in all code.
- Ensure function and variable names are clear and descriptive.
- Use concise, meaningful comments for complex logic.

## Example:
```ts
// ✅ Good
function calculateTotalPrice(items: CartItem[], discountRate: number): number {
  // Apply discount only to eligible items
  const eligibleItems = items.filter(item => item.isDiscountable);
  const eligibleTotal = eligibleItems.reduce((sum, item) => sum + item.price, 0);
  const discountAmount = eligibleTotal * discountRate;
  
  // Calculate final total
  const totalBeforeDiscount = items.reduce((sum, item) => sum + item.price, 0);
  return totalBeforeDiscount - discountAmount;
}

// ❌ Avoid
function calc(i: any[], d: number): number {
  let t = 0;
  let dt = 0;
  for (let x of i) {
    t += x.price;
    if (x.isDiscountable) {
      dt += x.price;
    }
  }
  return t - (dt * d);
}
``` 