4.8 KiB
4.8 KiB
id: {prefix}-{concept}-{specificity}
title: {Full Descriptive Title}
category: {solid-principles|core-principles|design-patterns|code-organization|naming-readability|functions-methods|comments-documentation}
priority: {critical|high|medium|low}
tags: [{tag1}, {tag2}, {tag3}, {tag4}]
related: [{rule-id-1}, {rule-id-2}, {rule-id-3}]
{Rule Title}
{One or two sentence summary explaining the principle and why it matters. Should be clear and actionable.}
Bad Example
// Anti-pattern: {Brief description of what's wrong}
{Code example demonstrating the violation}
// Problems:
// 1. {Specific issue 1}
// 2. {Specific issue 2}
// 3. {Specific issue 3}
Why This Is Wrong:
- {Consequence 1}
- {Consequence 2}
- {Consequence 3}
Good Example
// Correct approach: {Brief description of the solution}
{Code example demonstrating proper implementation}
// Benefits:
// 1. {Benefit 1}
// 2. {Benefit 2}
// 3. {Benefit 3}
Alternative Approach (Optional):
// Another valid solution: {When this might be preferred}
{Alternative code example if applicable}
Why
Explanation of the principle and its benefits:
-
{Benefit Category 1}: {Detailed explanation}
-
{Benefit Category 2}: {Detailed explanation}
-
{Benefit Category 3}: {Detailed explanation}
-
{Benefit Category 4}: {Detailed explanation}
-
{Benefit Category 5}: {Detailed explanation}
-
{Benefit Category 6}: {Detailed explanation}
-
{Benefit Category 7}: {Detailed explanation}
When to Apply
- {Situation 1}
- {Situation 2}
- {Situation 3}
- {Situation 4}
When NOT to Apply (Optional)
// Acceptable exception: {Scenario where the rule can be relaxed}
{Code example of acceptable violation with clear reasoning}
// This is acceptable because:
// - {Reason 1}
// - {Reason 2}
Common Mistakes (Optional)
Mistake 1: {Common misunderstanding}
// ❌ Wrong
{Code showing mistake}
// ✅ Correct
{Code showing correction}
Mistake 2: {Another common issue}
// ❌ Wrong
{Code showing mistake}
// ✅ Correct
{Code showing correction}
Testing Implications (Optional)
How this principle affects testing:
// Test example showing improved testability
{Test code demonstrating benefits}
Real-World Example (Optional)
{Brief description of how this applies in production scenarios}
// Production scenario: {Description}
{Realistic code example}
Related Principles
- {Related Rule 1}: {Brief explanation of relationship}
- {Related Rule 2}: {Brief explanation of relationship}
- {Related Rule 3}: {Brief explanation of relationship}
Further Reading (Optional)
- {Resource title} - {URL or reference}
- {Resource title} - {URL or reference}
Language-Specific Notes (Optional)
TypeScript/JavaScript
{Language-specific considerations}
Python
{Language-specific considerations}
Java
{Language-specific considerations}
Go
{Language-specific considerations}
Template Guidelines
Frontmatter
- id: Use format
{prefix}-{concept}-{specificity}. Must be unique and match filename. - title: Full descriptive title, human-readable
- category: One of the 7 defined categories
- priority: critical (SOLID, Core) | high (Patterns, Org) | medium (Naming, Functions) | low (Comments)
- tags: 3-5 relevant tags for searchability
- related: 2-4 related rule IDs that commonly apply together
Content Structure
- Title & Summary: Clear, one-sentence explanation
- Bad Example: Show the anti-pattern with clear problems listed
- Good Example: Show proper implementation with benefits
- Why: 5-7 benefits explaining the value
- When to Apply: Practical scenarios
- Optional Sections: Add as needed for complex rules
Code Examples
- Use TypeScript for primary examples (language-agnostic)
- Keep examples focused and minimal
- Show realistic scenarios, not toy examples
- Include comments explaining key points
- Use ❌ for bad examples, ✅ for good examples
Writing Style
- Be direct and actionable
- Focus on "why" not just "what"
- Use active voice
- Keep explanations concise
- Provide context for decisions
- Assume intermediate developer knowledge
Length Guidelines
- Minimum: 200 lines (simple rules)
- Target: 300-400 lines (most rules)
- Maximum: 600 lines (complex patterns)
Quality Checklist
- Frontmatter complete and accurate
- Clear bad example with explained problems
- Clear good example with explained benefits
- At least 5 benefits in "Why" section
- Practical "When to Apply" scenarios
- Related rules referenced
- Code examples are realistic
- Comments explain key concepts
- Language-agnostic where possible
- Proofread for clarity and typos