docs: Add commit conventions and update AGENTS.md

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>
This commit is contained in:
2026-01-20 13:56:01 -05:00
parent d67a8d38b0
commit ad129dd4b2
2 changed files with 135 additions and 0 deletions

View File

@@ -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

134
COMMIT_CONVENTIONS.md Normal file
View File

@@ -0,0 +1,134 @@
# 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 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: <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:
```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