3.7 KiB
3.7 KiB
Operation: Check Naming Conventions
Validate plugin names against OpenPlugins lowercase-hyphen naming convention.
Parameters from $ARGUMENTS
- name: Plugin name to validate (required)
- fix: Auto-suggest corrected name (optional, default: true)
OpenPlugins Naming Convention
Pattern: ^[a-z0-9]+(-[a-z0-9]+)*$
Valid Examples:
code-formattertest-runnerdeploy-automationapi-clientdatabase-migration
Invalid Examples:
Code-Formatter(uppercase)test_runner(underscore)Deploy Automation(space)APIClient(camelCase)-helper(leading hyphen)tool-(trailing hyphen)
Workflow
-
Extract Name from Arguments
Parse $ARGUMENTS to extract name parameter If name not provided, return error -
Execute Naming Validator
Execute .scripts/naming-validator.sh "$name" Exit codes: - 0: Valid naming convention - 1: Invalid naming convention - 2: Missing required parameters -
Process Results
IF valid: Return success with confirmation ELSE: Return failure with specific violations Suggest corrected name if fix:true Provide examples -
Return Compliance Report
Format results: - Status: PASS/FAIL - Name: <provided-name> - Valid: yes/no - Issues: <list of violations> - Suggestion: <corrected-name> - Score impact: +5 points (if valid)
Examples
# Valid name
/best-practices naming name:my-awesome-plugin
# Result: PASS - Valid lowercase-hyphen format
# Invalid name with uppercase
/best-practices naming name:MyPlugin
# Result: FAIL - Contains uppercase (M, P)
# Suggestion: my-plugin
# Invalid name with underscore
/best-practices naming name:test_runner
# Result: FAIL - Contains underscore (_)
# Suggestion: test-runner
# Invalid name with space
/best-practices naming name:"Test Runner"
# Result: FAIL - Contains space
# Suggestion: test-runner
Error Handling
Missing name parameter:
ERROR: Missing required parameter 'name'
Usage: /best-practices naming name:<plugin-name>
Example: /best-practices naming name:my-plugin
Empty name:
ERROR: Name cannot be empty
Provide a valid plugin name following lowercase-hyphen convention.
Output Format
Success (Valid Name):
✅ Naming Convention: PASS
Name: code-formatter
Format: lowercase-hyphen
Pattern: ^[a-z0-9]+(-[a-z0-9]+)*$
Valid: Yes
Quality Score Impact: +5 points
The name follows OpenPlugins naming conventions perfectly.
Failure (Invalid Name):
❌ Naming Convention: FAIL
Name: Code_Formatter
Format: Invalid
Valid: No
Issues Found:
1. Contains uppercase characters: C, F
2. Contains underscores instead of hyphens
Suggested Correction: code-formatter
Quality Score Impact: 0 points (fix to gain +5)
Fix these issues to comply with OpenPlugins standards.
Compliance Criteria
PASS Requirements:
- All lowercase letters (a-z)
- Numbers allowed (0-9)
- Hyphens for word separation
- No leading or trailing hyphens
- No consecutive hyphens
- No other special characters
- Descriptive (not generic like "plugin" or "tool")
FAIL Indicators:
- Uppercase letters
- Underscores, spaces, or special characters
- Leading/trailing hyphens
- Empty or single character names
- Generic non-descriptive names
Best Practices Guidance
Good Names:
- Describe functionality:
code-formatter,test-runner - Include technology:
python-linter,docker-manager - Indicate purpose:
api-client,database-migrator
Avoid:
- Generic:
plugin,tool,helper,utility - Abbreviations only:
fmt,tst,db - Version numbers:
plugin-v2,tool-2024
Request: $ARGUMENTS