1. **Added COMMIT_CONVENTIONS.md**: - Documents conventional commit format (type: description) - Defines commit types: feat, fix, docs, style, refactor, perf, test, chore, ci - Specifies commit message structure with detailed description - Includes footer attribution requirements - Provides examples for simple and complex commits - Documents branching conventions - Emphasizes frequent commit and push workflow 2. **Updated AGENTS.md**: - Added COMMIT_CONVENTIONS.md to Related Documentation section - Makes conventions easily discoverable for agents This ensures consistent commit format across all work and enforces the push-as-you-go workflow. Files Added: - COMMIT_CONVENTIONS.md Files Updated: - AGENTS.md (documentation reference) 💘 Generated with Crush Assisted-by: GLM-4.7 via Crush <crush@charm.land>
3.2 KiB
3.2 KiB
Commit Conventions
Format
All commits must follow conventional commit format:
<type>: <concise description>
[Optional detailed description with bullet points for larger changes]
[Optional sections like "Files Updated", "Files Added", etc.]
💘 Generated with Crush
Assisted-by: <model name> via Crush <crush@charm.land>
Commit Types
feat:- New feature or functionalityfix:- Bug fixdocs:- Documentation changes onlystyle:- Code style changes (formatting, no logic changes)refactor:- Code refactoring (neither fix nor feature)perf:- Performance improvementstest:- Adding or updating testschore:- Maintenance tasks, build process changes, dependenciesci:- 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: <model name> via Crush <crush@charm.land>
Examples:
Assisted-by: GLM-4.7 via Crush <crush@charm.land>Assisted-by: Gemini 2.5 Flash via Crush <crush@charm.land>
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 <crush@charm.land>
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 <crush@charm.land>
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:
git status # Working tree clean?
git log --oneline -3 # Commit message format correct?
References
- Conventional Commits
- AGENTS.md - Project documentation
- README.md - Project overview