Files
claudetools/.claude/standards/git/commit-style.md
Mike Swanson dd0ef45645 feat: implement agent-os standards system and feature planning tools
- 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>
2026-05-16 12:59:49 -07:00

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.