- Split CODING_GUIDELINES.md into 19 indexed standards files under .claude/standards/ - 9 from CODING_GUIDELINES (conventions, powershell, security, api, git, gururmm) - 10 from session log tribal knowledge (syncro, ssh, gitea, python, client, gururmm) - Add .claude/standards/index.yml for cheap relevance-based lookup - Add /inject-standards command: load targeted standards per task instead of full guidelines - Add /shape-spec command: pre-implementation spec for GuruRMM features (plan.md, shape.md, references.md, standards.md) with mandatory out-of-scope gate - Add docs/tech-stack.md and docs/mission.md for ClaudeTools API - Add projects/msp-tools/guru-rmm/docs/tech-stack.md and mission.md for GuruRMM - Update CLAUDE.md commands table with /inject-standards and /shape-spec Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
71 lines
2.1 KiB
Markdown
71 lines
2.1 KiB
Markdown
---
|
|
name: commit-style
|
|
description: Conventional commit types, Co-Authored-By for Claude commits, files never to commit
|
|
applies-to: all
|
|
---
|
|
|
|
# Git Commit Style
|
|
|
|
## Commit types
|
|
|
|
Use conventional commit prefixes:
|
|
|
|
| Prefix | When to use |
|
|
|--------|-------------|
|
|
| `feat` | New feature or capability |
|
|
| `fix` | Bug fix |
|
|
| `refactor` | Code change with no behavior change |
|
|
| `docs` | Documentation only |
|
|
| `test` | Tests only |
|
|
| `config` | Config/settings change |
|
|
| `build` | Build pipeline, Dockerfile, Cargo.toml |
|
|
| `chore` | Maintenance (submodule pointer updates, sync commits) |
|
|
| `sync` | Auto-sync commit from a machine |
|
|
|
|
## Co-Authored-By
|
|
|
|
All commits made by or with Claude include the co-author trailer:
|
|
|
|
```
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
```
|
|
|
|
Place it at the end of the commit body, after a blank line:
|
|
|
|
```
|
|
feat(agent): add temperature collection via /sys/class/thermal
|
|
|
|
Reads millidegrees from thermal_zone*/temp, classifies by type label.
|
|
Correct approach for Linux where sysinfo Components returns empty.
|
|
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
```
|
|
|
|
## Files never to commit
|
|
|
|
- `.env` — environment files
|
|
- `credentials.json`, `*.pem`, `*.p12`, `*.pfx` — key material
|
|
- `venv/`, `.venv/` — Python virtual environments
|
|
- `__pycache__/`, `*.pyc` — Python bytecode
|
|
- `*.log` — log files
|
|
- `node_modules/` — npm dependencies
|
|
- `target/` — Rust build output
|
|
- Any SOPS plaintext file before encryption (`.sops.yaml` without encryption headers)
|
|
|
|
## Commit authorship
|
|
|
|
- `git config user.name` and `git config user.email` are set per-machine based on `.claude/identity.json`
|
|
- Mike: `Mike Swanson <mike@azcomputerguru.com>`
|
|
- Howard: `Howard Enos <howard@azcomputerguru.com>`
|
|
- Commits pushed via the shared Gitea push account `azcomputerguru`, but authorship in `git log` tracks the actual person
|
|
|
|
## Submodule commits
|
|
|
|
When the gururmm submodule pointer is advanced:
|
|
|
|
```
|
|
chore: update guru-rmm submodule pointer (v0.6.22 watchdog fix)
|
|
```
|
|
|
|
Always include a brief reason — "session log" or the version + feature that advanced it.
|