From ad129dd4b2c5e02a055fdf631e79db513f6c10dd Mon Sep 17 00:00:00 2001 From: Charles N Wyble Date: Tue, 20 Jan 2026 13:56:01 -0500 Subject: [PATCH] docs: Add commit conventions and update AGENTS.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- AGENTS.md | 1 + COMMIT_CONVENTIONS.md | 134 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 COMMIT_CONVENTIONS.md diff --git a/AGENTS.md b/AGENTS.md index 0d60601..c1aa11c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,6 +10,7 @@ For comprehensive functional requirements and artifact properties, see: - `docs/FUNCTIONAL-REQUIREMENTS.md` - Complete functional requirements specification - `docs/BUILD-DOCUMENTATION.md` - Build system documentation - `docs/SECURITY-BASELINES.md` - Security hardening guide +- `COMMIT_CONVENTIONS.md` - Git commit message format and conventions ### Project Overview diff --git a/COMMIT_CONVENTIONS.md b/COMMIT_CONVENTIONS.md new file mode 100644 index 0000000..6310398 --- /dev/null +++ b/COMMIT_CONVENTIONS.md @@ -0,0 +1,134 @@ +# 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