Files
claudetools/.claude/standards/conventions/naming.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

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 (not created, modified, timestamp)
  • Booleans: is_ prefix for state — is_active, is_hidden; has_ prefix for possession — has_alert
  • Status enums: use a TEXT column with a CHECK constraint listing valid values, not an integer code