# UTM Web Site

A modern React 19 web application built with Vite.

## Tech Stack

- React 19
- TypeScript
- Vite
- ESLint
- Prettier
- Less
- Stylelint
- Husky
- Commitlint

## Getting Started

### Prerequisites

- Node.js 18+
- npm 9+

### Installation

```bash
# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview
```

### Development Scripts

- `npm run dev` - Start development server
- `npm run build` - Build for production
- `npm run lint` - Lint TypeScript/TSX files
- `npm run lint:style` - Lint style files (CSS/Less)
- `npm run lint:fix` - Fix linting issues
- `npm run format` - Format code with Prettier

## Deployment

This project is configured to deploy to GitHub Pages using GitHub Actions. When you push to the main branch, the site will automatically be built and deployed.

### Remote Deployment URL

The site is deployed and available at: https://clareai.github.io/utm-web-site/

### Setting up GitHub Pages

1. Go to your GitHub repository
2. Navigate to Settings > Pages
3. Under "Build and deployment", select "GitHub Actions" as the source
4. The site will be available at: https://[your-username].github.io/utm-web-site/

### Manual Deployment

You can also manually trigger the deployment workflow:

1. Go to your GitHub repository
2. Navigate to Actions > Deploy to GitHub Pages
3. Click "Run workflow"

## Git Commit Guidelines

This project uses conventional commits. Your commits must follow this format:

```
<type>(<scope>): <subject>
```

Available types:

- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- style: Changes that do not affect the meaning of the code
- refactor: A code change that neither fixes a bug nor adds a feature
- perf: A code change that improves performance
- test: Adding missing tests or correcting existing tests
- build: Changes that affect the build system or external dependencies
- ci: Changes to our CI configuration files and scripts
- chore: Other changes that don't modify src or test files
- revert: Reverts a previous commit
