Files
csgowtf/tailwind.config.cjs
vikingowl 288438a953 feat: complete Phase 1 - Technical Foundations for CS2.WTF rewrite
Initialize SvelteKit project with complete modern web development stack:

## Core Framework
- SvelteKit 2.0 with Svelte 5 and TypeScript strict mode
- Vite 5 for blazing fast dev server and builds
- Node.js 20 standardized via .nvmrc

## Styling & Theming
- Tailwind CSS 3.4 with utility-first approach
- DaisyUI 4.0 with custom CS2 themes (cs2dark/cs2light)
- CS2-branded color palette (T-side orange, CT-side blue)
- PostCSS for CSS processing

## Code Quality & Tooling
- ESLint 8 with TypeScript + Svelte plugins
- Prettier 3 with Svelte + Tailwind plugins
- Stylelint 16 for CSS linting
- Husky 9 + lint-staged for pre-commit hooks
- TypeScript 5.3 with all strict flags enabled

## Testing Infrastructure
- Vitest 1.0 for unit/component tests with jsdom
- Playwright 1.40 for E2E tests (3 browsers)
- Testing Library for component testing
- MSW 2.0 for API mocking
- Coverage thresholds set to 80%

## Project Structure
- Organized src/ with lib/, routes/, mocks/, tests/
- Component directories: layout, ui, charts, match, player
- Path aliases configured: $lib, $components, $stores, $types, $api
- Separate test directories: unit, integration, e2e

## CI/CD & Deployment
- Updated Woodpecker CI pipeline with quality gates
- Pipeline steps: install → lint → type-check → test → build
- Deploy targets: master (prod), dev (staging), cs2-port (preview)

## Documentation
- Comprehensive README.md with setup guide
- API.md with complete backend documentation (12 endpoints)
- TODO.md updated with Phase 0 & 1 completion
- Environment variables template (.env.example)

## Development Experience
- Hot module reloading configured
- Dev server running on port 5173
- All npm scripts defined for dev, test, build workflows
- Pre-commit hooks prevent broken code commits

Project is now ready for feature development (Phase 2+).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 19:54:35 +01:00

101 lines
2.0 KiB
JavaScript

/** @type {import('tailwindcss').Config} */
module.exports = {
content: ['./src/**/*.{html,js,svelte,ts}'],
theme: {
extend: {
colors: {
// CS2 Team colors
terrorist: {
DEFAULT: '#d4a74a',
light: '#e5c674',
dark: '#b38a3a'
},
ct: {
DEFAULT: '#5e98d9',
light: '#7eaee5',
dark: '#4a7ab3'
}
},
fontFamily: {
sans: [
'Inter',
'system-ui',
'-apple-system',
'BlinkMacSystemFont',
'"Segoe UI"',
'Roboto',
'sans-serif'
],
mono: [
'"JetBrains Mono"',
'"Fira Code"',
'Consolas',
'Monaco',
'"Courier New"',
'monospace'
]
}
}
},
plugins: [require('daisyui')],
daisyui: {
themes: [
{
cs2light: {
primary: '#5e98d9',
'primary-focus': '#4a7ab3',
'primary-content': '#ffffff',
secondary: '#d4a74a',
'secondary-focus': '#b38a3a',
'secondary-content': '#ffffff',
accent: '#37cdbe',
'accent-focus': '#2aa79b',
'accent-content': '#ffffff',
neutral: '#2a2e37',
'neutral-focus': '#16181d',
'neutral-content': '#ffffff',
'base-100': '#ffffff',
'base-200': '#f9fafb',
'base-300': '#efefef',
'base-content': '#1f2937',
info: '#3abff8',
success: '#36d399',
warning: '#fbbd23',
error: '#f87272'
},
cs2dark: {
primary: '#5e98d9',
'primary-focus': '#7eaee5',
'primary-content': '#ffffff',
secondary: '#d4a74a',
'secondary-focus': '#e5c674',
'secondary-content': '#ffffff',
accent: '#37cdbe',
'accent-focus': '#2aa79b',
'accent-content': '#ffffff',
neutral: '#1f2937',
'neutral-focus': '#111827',
'neutral-content': '#d1d5db',
'base-100': '#0f172a',
'base-200': '#1e293b',
'base-300': '#334155',
'base-content': '#e2e8f0',
info: '#3abff8',
success: '#36d399',
warning: '#fbbd23',
error: '#f87272'
}
},
'light',
'dark'
],
darkTheme: 'cs2dark',
base: true,
styled: true,
utils: true,
prefix: '',
logs: true,
themeRoot: ':root'
}
};