# Commit Conventions ## Format All commits must follow conventional commit format: ``` : [Optional detailed description with bullet points for larger changes] [Optional sections like "Files Updated", "Files Added", etc.] 💘 Generated with Crush Assisted-by: via Crush ``` ## Commit Types - `feat:` - New feature or functionality - `fix:` - Bug fix - `docs:` - Documentation changes only - `style:` - Code style changes (formatting, no logic changes) - `refactor:` - Code refactoring (neither fix nor feature) - `perf:` - Performance improvements - `test:` - Adding or updating tests - `chore:` - Maintenance tasks, build process changes, dependencies - `ci:` - CI/CD configuration changes ## Description Rules - Keep subject line under 72 characters - Use imperative mood ("Add" not "Adds", "Update" not "Updates") - Use sentence case, not title case - Do not end with period - Reference relevant issues in description if applicable ## Detailed Description For larger commits, include: - Bullet points explaining what was changed - Sections for "Files Updated" and/or "Files Added" - Reference to functional requirements or specifications - Rationale for changes when not obvious ## Attribution All commits must include these footer lines: ``` 💘 Generated with Crush Assisted-by: via Crush ``` Examples: - `Assisted-by: GLM-4.7 via Crush ` - `Assisted-by: Gemini 2.5 Flash via Crush ` ## Examples ### Simple Commit ``` fix: Correct ISO mount permissions Fixed mount permissions issue when building custom ISO. 💘 Generated with Crush Assisted-by: GLM-4.7 via Crush ``` ### Feature Commit ``` feat: Add LightDM display manager for secure login Implements minimal, secure login without username display: 1. **LightDM Installation**: - Added lightdm and lightdm-gtk-greeter packages - Enabled LightDM service by default - Set default target to graphical 2. **Minimal and Secure Greeter**: - Configured /etc/lightdm/lightdm.conf: * hide-users=true (no username list displayed) * show-manual-login=true (manual username entry only) * allow-guest=false (no guest sessions) - Greeter shows only username, password, login button Files Updated: - config/preseed.cfg (LightDM packages, enabled service) - config/security-config.sh (LightDM configuration) 💘 Generated with Crush Assisted-by: Gemini 2.5 Flash via Crush ``` ## Branching - `main` - Production-ready code - Feature branches: `feat/feature-name` - Bugfix branches: `fix/bug-description` - Refactor branches: `refactor/component-name` ## Push Frequency **CRITICAL**: Commit and push frequently as work progresses. - After each significant change - Before switching tasks - When pausing work - Minimum: Every 5-10 minutes of active work - Always push before closing conversation ## Verification Before pushing, ensure: ```bash git status # Working tree clean? git log --oneline -3 # Commit message format correct? ``` ## References - [Conventional Commits](https://www.conventionalcommits.org/) - [AGENTS.md](./AGENTS.md) - Project documentation - [README.md](./README.md) - Project overview