Skip to main content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Language-Specific Indentation Standards: Each language now follows its community's standard
    • C++: 2 spaces (Google C++ Style Guide)
    • Python: 4 spaces (PEP 8 mandatory)
    • JavaScript/TypeScript: 2 spaces (Microsoft TypeScript Guidelines adapted)
    • Java: 4 spaces (Oracle Java Conventions)
    • Kotlin: 4 spaces (Kotlin Coding Conventions)
  • lang-python.md: Python best practices stub (PEP 8, type hints)
  • lang-javascript.md: JavaScript/TypeScript guidelines following Microsoft TypeScript Coding Guidelines with 2-space indentation
    • Double quotes for strings
    • Prefer undefined over null
    • No I prefix for interfaces
    • One declaration per variable statement
    • Arrow functions over anonymous expressions
  • lang-java.md: Java guidelines stub (Oracle, Effective Java, Spring)
  • lang-kotlin.md: Kotlin conventions stub (JetBrains, Coroutines, Android)
  • Two-Tier Rule System: Documentation for shared vs project-specific rules
  • PROJECT-*.md pattern: Git-ignored pattern for project-specific rules in submodule

Changed

  • Updated company references to "Cortexa LLC" (full company name)
  • Enhanced README with language-specific indentation table
  • lang-javascript.md: Switched from Airbnb/Google style guides to Microsoft TypeScript Coding Guidelines (with 2-space indentation adaptation)

1.0.0 - 2025-01-04

Added

Core Design Principles

  • 01-design-principles.md: Beck's Four Rules, Tell Don't Ask, Dependency Injection, Seams
  • 02-solid-principles.md: Complete SOLID principles with examples and code smells
  • 03-refactoring.md: Code smells catalog and refactoring techniques
  • 04-testing.md: Test Pyramid, test doubles, testing best practices
  • 05-architecture.md: Bounded Contexts and architectural patterns
  • 06-code-review-checklist.md: Comprehensive review guidelines

Development Practices

  • 07-development-practices.md: YAGNI, Frequency Reduces Difficulty, CI, Technical Debt
  • 08-deployment-patterns.md: Feature Toggles, Blue-Green, Canary, Parallel Change
  • 09-system-evolution.md: Strangler Fig, Sacrificial Architecture, MonolithFirst
  • 10-api-design.md: Command Query Separation, naming conventions

Language-Specific Guidelines

  • lang-cpp.md: Complete C++ guidelines with:
    • All 55 items from Scott Meyers' Effective C++
    • C++ Core Guidelines (P, F, I, C, R, ES, E, CP, Enum, Con, T, Per, SF, SL sections)
    • Modern C++17/20 best practices
    • Extensive code examples and checklists

Repository Infrastructure

  • README.md with comprehensive usage instructions
  • LICENSE (MIT)
  • CHANGELOG.md
  • .gitignore
  • Documentation on Git submodule usage
  • Integration guides for AI assistants

Attribution

Standards synthesized from:

  • Martin Fowler (martinfowler.com)
  • Kent Beck (Four Rules of Simple Design)
  • Robert C. Martin (SOLID Principles)
  • Scott Meyers (Effective C++)
  • ISO C++ Standards Committee (C++ Core Guidelines)

Versioning Guide

  • Major version (X.0.0): Breaking changes to structure, significant rewrites
  • Minor version (0.X.0): New guidelines or sections added
  • Patch version (0.0.X): Clarifications, typo fixes, improvements

Future Planned Additions

Language Guidelines (Planned)

  • lang-python.md: Python best practices (PEP 8, PEP 20, typing)
  • lang-javascript.md: JavaScript/TypeScript standards
  • lang-rust.md: Rust guidelines and idioms
  • lang-go.md: Go conventions and best practices

Additional Patterns (Planned)

  • 11-concurrency-patterns.md: Thread safety, async patterns
  • 12-database-patterns.md: Repository pattern, ORM best practices
  • 13-security-patterns.md: Common security vulnerabilities and mitigations