# AGENTS.md ## Project Overview CustomWorks.pl — official website for CustomWorks, a professional car detailing, wrapping, and tuning shop. Built with Astro (static output), Tailwind CSS, and TypeScript. Hosted on statichost.eu. ## Commands - `npm run dev` — Start dev server - `npm run build` — Build for production (static output) - `npm run preview` — Preview production build locally - `npm run check` — Run all checks (astro, eslint, prettier) - `npm run check:astro` — TypeScript/Astro diagnostics - `npm run check:eslint` — Lint with ESLint - `npm run check:prettier` — Check formatting with Prettier - `npm run fix` — Auto-fix eslint + prettier issues - `npm run fix:eslint` — Auto-fix ESLint issues - `npm run fix:prettier` — Auto-fix Prettier formatting ## Architecture - **Framework:** Astro 5 with static output - **Styling:** Tailwind CSS 3 with `@tailwindcss/typography` - **Content:** MDX for blog/content pages, YAML config at `src/config.yaml` - **Icons:** `astro-icon` with Tabler + Flat Color Icons sets - **Images:** Sharp for optimization, `unpic` for responsive images - **Integrations:** sitemap, partytown (conditional), astro-compress, astro-embed - **Custom vendor integration:** `vendor/integration` (astrowind-based) ### Directory Structure ``` src/ ├── assets/ # Static assets (images, fonts) ├── components/ # Astro/UI components ├── content/ # Content collections (blog posts, etc.) ├── layouts/ # Page layouts (MarkdownLayout, etc.) ├── pages/ # File-based routing ├── utils/ # Utility functions (frontmatter plugins, etc.) ├── config.yaml # Site configuration ├── navigation.ts # Navigation structure └── types.d.ts # TypeScript type definitions ``` ### Path Alias `~` resolves to `./src` (configured in Vite). ## Conventions - TypeScript throughout - Prettier + ESLint for code quality - Astro components use `.astro` extension - Content pages use `.md` / `.mdx` - Polish language site — content is in Polish ## Commit Rules **IMPORTANT:** Before completing any task, you MUST run `/commit` to commit your changes. - Only commit files YOU modified in this session — never commit unrelated changes - Use atomic commits with descriptive messages - If there are no changes to commit, skip this step - Do not push unless explicitly asked