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/FUNCTIONAL-REQUIREMENTS.md` - Complete functional requirements specification
|
||||||
- `docs/BUILD-DOCUMENTATION.md` - Build system documentation
|
- `docs/BUILD-DOCUMENTATION.md` - Build system documentation
|
||||||
- `docs/SECURITY-BASELINES.md` - Security hardening guide
|
- `docs/SECURITY-BASELINES.md` - Security hardening guide
|
||||||
|
- `COMMIT_CONVENTIONS.md` - Git commit message format and conventions
|
||||||
|
|
||||||
### Project Overview
|
### 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