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:
@@ -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
134
COMMIT_CONVENTIONS.md
Normal 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
|
||||
Reference in New Issue
Block a user