- 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>
1.3 KiB
1.3 KiB
name, description, applies-to
| name | description | applies-to |
|---|---|---|
| naming | Naming conventions for Python, PowerShell, Bash, database tables and columns | all |
Naming Conventions
Python
- Functions:
snake_case - Classes:
PascalCase - Constants:
UPPER_SNAKE_CASE - Follow PEP 8 for everything else
PowerShell
- Variables:
$PascalCase— e.g.,$TaskName,$ServiceStatus - Functions/cmdlets: use approved verbs —
Get-,Set-,New-,Remove-,Invoke- - Do not invent new verb forms; stick to the PowerShell approved verb list
Bash
- Functions:
lowercase_underscore— e.g.,get_token,check_status - All variables: quote them —
"$var", not$var - Script names:
lowercase-with-hyphens.sh
Database
Tables:
- Lowercase plural nouns:
users,user_sessions,agent_updates - Junction/relation tables:
{table_a}_{table_b}— e.g.,policy_assignments - Foreign keys:
{referenced_table_singular}_id— e.g.,agent_id,client_id,site_id
Columns:
- Timestamps:
created_at,updated_at(notcreated,modified,timestamp) - Booleans:
is_prefix for state —is_active,is_hidden;has_prefix for possession —has_alert - Status enums: use a
TEXTcolumn with a CHECK constraint listing valid values, not an integer code