## Project overview Air-light is a minimalist WordPress starter theme by Digitoimisto Dude Oy. It follows traditional WordPress template hierarchy and coding standards. ## Assets structure ``` assets/ ├── src/ # Source files │ ├── js/ # JavaScript source │ ├── sass/ # SCSS source │ └── fonts/ # Font files ├── dist/ # Compiled output (Parcel) │ ├── js/ # Compiled JavaScript │ └── css/ # Compiled CSS + fonts └── svg/ # Static SVG files ``` ## Build system - Uses Parcel for bundling and compilation - `npm run dev` - Development with watch and BrowserSync - `npm run build` - Production build - Husky pre-commit hooks via `@digitoimistodude/code-quality-checks` ## Commits and code style - 2 space indents - Always commit build and asset files - One logical change per commit - Keep commit messages concise (one line), use sentence case - Reference Linear issues at end: `Fix navigation bug, Ref: DEV-123` - Update CHANGELOG.md after each change - Use present tense in commits and CHANGELOG.md - Use sentence case for headings (not Title Case) - Never use bold text as headings, use proper heading levels instead - Always add an empty line after headings - No formatting in CHANGELOG.md except `inline code` and when absolute necessary - Use `*` as bullets in CHANGELOG.md - Never use Claude watermark in commits (FORBIDDEN: "Co-Authored-By") - No emojis in commits or code - Keep CHANGELOG.md date up to date when adding entries ## Claude Code workflow - Always add tasks to the Claude Code to-do list and keep it up to date. - Review your to-do list and prioritize before starting. - If new tasks come in, don’t jump to them right away—add them to the list in order of urgency and finish your current work first. ## PHP conventions - Namespaced PHP: `namespace Air_Light;` - Use `__NAMESPACE__ . '\function_name'` for hooks - WordPress coding standards (PHPCS) - Theme version in `functions.php` constant `AIR_LIGHT_VERSION` ## CSS/SCSS conventions - Stylelint with `@digitoimistodude/stylelint-config` - CSS custom properties for colors, typography, spacing - Mobile-first responsive approach - Naming: SMACSS + DCS (Dude Coding Standards) + WordPress conventions - Use `.is-something`, `.has-something`, `.subject-something` - Never use BEM double dashes `--` or underscores `__` ## JavaScript conventions - ESLint for linting - Modules in `assets/src/js/modules/` - Main entry points: `front-end.js`, `gutenberg-editor.js` # Linear references Use `, Ref: DEV-XXX` at end of commit messages to link to Linear issues.