diff --git a/README.md b/README.md
index c0ce41a..e194b03 100644
--- a/README.md
+++ b/README.md
@@ -1,86 +1,164 @@
-# ๐งฎ LeetCode Solutions
+# Unit-Tested LeetCode Solutions
### ๐ฌ Code Health & Testing
-[](https://github.com/mathusanm6/LeetCode/actions/workflows/code-health-cpp.yml)
-[](https://github.com/mathusanm6/LeetCode/actions/workflows/code-health-python.yml)
+[](https://github.com/mathusanm6/LeetCode/actions/workflows/code-health-cpp.yml)
+[](https://github.com/mathusanm6/LeetCode/actions/workflows/code-health-python.yml)
### ๐ Code Quality & Linting
-[](https://github.com/mathusanm6/LeetCode/actions/workflows/linter-cpp.yml)
-[](https://github.com/mathusanm6/LeetCode/actions/workflows/linter-python.yml)
+[](https://github.com/mathusanm6/LeetCode/actions/workflows/linter-cpp.yml)
+[](https://github.com/mathusanm6/LeetCode/actions/workflows/linter-python.yml)
### ๐ Repository Stats
-[](https://github.com/mathusanm6/LeetCode/commits/main)
+[](https://github.com/mathusanm6/LeetCode/commits/main)
[](https://github.com/mathusanm6/LeetCode/tree/main/problems)
-[](https://github.com/mathusanm6/LeetCode/tree/main/problems)
+[](https://github.com/mathusanm6/LeetCode/tree/main/problems)
## Description
-This repository contains my solutions to LeetCode problems. I will be updating this repository with my solutions as I solve more problems. I have included a test suite for each solution.
+This repository contains comprehensive, unit-tested solutions to LeetCode problems implemented in both **C++20** and **Python 3**. Each solution includes:
+
+- ๐งช **Comprehensive test suites** with multiple test cases
+- ๐ **Detailed documentation** with complexity analysis
+- ๐ง **Automated code quality** checks and formatting
+- ๐ **CI/CD pipeline** with automated testing and linting
+
+## ๐ Project Structure
+
+```
+โโโ problems/ # Problem solutions organized by name
+โ โโโ two_sum/ # Individual problem directories
+โ โ โโโ config.yml # Problem metadata and configuration
+โ โ โโโ two_sum.py # Python solution
+โ โ โโโ two_sum.cc # C++ solution
+โ โ โโโ two_sum.h # C++ header
+โ โ โโโ two_sum_test.py # Python unit tests
+โ โ โโโ two_sum_test.cc # C++ unit tests
+โ โโโ ...
+โโโ config/ # Global configuration files
+โ โโโ difficulties.yml # Difficulty level definitions
+โ โโโ tags.yml # Problem tag categories
+โโโ scripts/ # Automation and utility scripts
+โ โโโ generate_readme.py # Auto-generate README content
+โ โโโ update_badges.py # Update repository badges
+โ โโโ update_badges.sh # Badge update automation
+โโโ .github/workflows/ # CI/CD automation
+โ โโโ code-health-*.yml # Comprehensive testing workflows
+โ โโโ linter-*.yml # Code quality workflows
+โ โโโ presubmit-*.yml # Pre-merge validation
+โ โโโ update-badges.yml # Automated badge updates
+โโโ Makefile # Build and test automation
+โโโ requirements.txt # Python dependencies
+โโโ .clang-format # C++ code formatting rules
+โโโ .clang-tidy # C++ linting configuration
+```
+
+## ๐ ๏ธ Technologies & Tools
+
+### Languages & Standards
+
+- **C++**: C++20 with modern features and best practices
+- **Python**: Python 3.x with type hints and modern syntax
+
+### Testing Frameworks
+
+- **C++**: Google Test (gtest) for comprehensive unit testing
+- **Python**: pytest with coverage reporting
+
+### Code Quality Tools
+
+- **C++ Formatting**: clang-format for consistent code style
+- **C++ Linting**: clang-tidy for static analysis and best practices
+- **Python Formatting**: ruff for fast, comprehensive code formatting
+- **Python Linting**: ruff for linting, import sorting, and code quality
+
+### Build & Automation
+
+- **Make**: Cross-platform build system with intelligent target detection
+- **GitHub Actions**: Automated CI/CD with parallel testing and validation
## Running Tests
-### Python Tests
+The project includes comprehensive test suites for all solutions with cross-platform support.
-To run the Python test suite, use the following commands in **the repository directory**:
+### ๐ Python Tests
```bash
-# Run all Python tests
+# Run all Python tests with coverage
make test-py:all
# Run tests for a specific problem (e.g., two-sum)
make test-py:two-sum
```
-### C++ Tests
-
-To run the C++ test suite, use the following commands in the repository directory:
+### โก C++ Tests
```bash
-# Run all C++ tests
+# Run all C++ tests (auto-detects macOS/Linux)
make test-cpp:all
# Run tests for a specific problem (e.g., two-sum)
make test-cpp:two-sum
-# Run both C++ and Python tests for all problems
+# Run all tests (both languages)
make test:all
```
+**Requirements:**
+
+- **macOS**: `brew install googletest`
+- **Linux**: `sudo apt-get install libgtest-dev` or build from source
+
## Code Quality
-This project includes comprehensive code quality tools and automated linting:
+This project maintains high code quality standards through automated tooling and CI/CD integration.
-### Linting and Formatting
+### ๐จ Formatting & Linting
```bash
-# Format all code (C++ and Python)
+# Format all code (C++ with clang-format, Python with ruff)
make format
-# Lint all code (C++ and Python)
+# Lint all code with comprehensive checks
make lint
-# Format/lint specific languages
+# Language-specific operations
make format-cpp # Format C++ files with clang-format
make format-python # Format Python files with ruff
make lint-cpp # Lint C++ files with clang-tidy
make lint-python # Lint Python files with ruff
```
-### Continuous Integration
+### ๐ Continuous Integration
+
+The project includes a comprehensive CI/CD pipeline:
-- **Linters**: Automated code formatting and linting checks on every push/PR
-- **Presubmit**: Comprehensive testing of changed files before merge
-- **Postsubmit**: Full test suite execution after merge to main branch
-- All workflows leverage the project's Makefile for consistency
+- **๐ Presubmit Checks**: Validate code changes before merge
+ - Format validation (clang-format, ruff)
+ - Linting checks (clang-tidy, ruff)
+ - Unit test execution for changed files
+- **๐งช Code Health**: Full validation after merge to main
-## Algorithms
+ - Complete test suite execution
+ - Cross-platform compatibility testing
+ - Coverage reporting
+
+- **๐ Automated Maintenance**:
+ - Badge updates reflecting current status
+ - PR size labeling for review optimization
+ - Workflow status monitoring
+
+All workflows leverage the project's Makefile for consistency across local development and CI environments.
+
+## ๐งฎ Algorithms & Data Structures
+
+This repository covers a comprehensive range of algorithmic patterns and data structures commonly found in technical interviews:
- [Arrays & Hashing](#arrays--hashing)
- [Two Pointers](#two-pointers)
@@ -111,7 +189,3 @@ make lint-python # Lint Python files with ruff
| # | Title | Solution | Time | Space | Difficulty | Tag | Note |
|---|-------|----------|------|-------|------------|-----|------|
| 125 | [Valid Palindrome](https://leetcode.com/problems/valid-palindrome/) | [Python](./problems/valid_palindrome/valid_palindrome.py), [C++](./problems/valid_palindrome/valid_palindrome.cc) | _O(n)_ | _O(1)_ | Easy | | |
-
-## License
-
-This project is licensed under the MIT License - see the LICENSE file for details.
diff --git a/scripts/generate_readme.py b/scripts/generate_readme.py
index 5d3fd01..33c8404 100644
--- a/scripts/generate_readme.py
+++ b/scripts/generate_readme.py
@@ -218,11 +218,16 @@ def update_readme(self, readme_path: str = "README.md"):
problems_table = self.generate_problems_table()
# Find the algorithms section
- start_marker = "## Algorithms"
+ start_marker = "## ๐งฎ Algorithms & Data Structures"
start_idx = content.find(start_marker)
+
if start_idx == -1:
- print(Colors.red("โ Could not find 'Algorithms' section in README"))
+ print(
+ Colors.red(
+ "โ Could not find '๐งฎ Algorithms & Data Structures' section in README"
+ )
+ )
return
# Look for the end of the algorithms content
@@ -266,7 +271,7 @@ def update_readme(self, readme_path: str = "README.md"):
content_after = content[end_idx:] if end_idx < len(content) else ""
# Replace only the algorithms section
- new_algorithms_section = f"## Algorithms\n\n{toc}\n\n{problems_table}"
+ new_algorithms_section = f"## ๐งฎ Algorithms & Data Structures\n\nThis repository covers a comprehensive range of algorithmic patterns and data structures commonly found in technical interviews:\n\n{toc}\n\n{problems_table}"
new_content = content[:start_idx] + new_algorithms_section + content_after