Commit Graph

61 Commits

Author SHA1 Message Date
imfozilbek
f46048172f feat: add entity exposure detection (v0.3.0)
Implement entity exposure detection to prevent domain entities
from leaking to API responses. Detects when controllers/routes
return domain entities instead of DTOs.

Features:
- EntityExposure value object with detailed suggestions
- IEntityExposureDetector interface in domain layer
- EntityExposureDetector implementation in infrastructure
- Integration into AnalyzeProject use case
- CLI display with helpful suggestions
- 24 comprehensive unit tests (98% coverage)
- Examples for bad and good patterns

Detection scope:
- Infrastructure layer only (controllers, routes, handlers, resolvers, gateways)
- Identifies PascalCase entities without Dto/Request/Response suffixes
- Parses async methods with Promise<T> return types
- Provides step-by-step remediation suggestions

Test coverage:
- EntityExposureDetector: 98.07%
- Overall project: 90.6% statements, 83.97% branches
- 218 tests passing

BREAKING CHANGE: Version bump to 0.3.0
2025-11-24 13:51:12 +05:00
imfozilbek
a3cd71070e feat: add 25 architectural features to roadmap (v0.3-0.27)
Add comprehensive architectural validation features covering:

Architecture Patterns (v0.3-0.12):
- Dependency Direction Enforcement
- Repository Pattern Validation
- Aggregate Boundary Validation
- Anemic Domain Model Detection
- Domain Event Usage Validation
- Value Object Immutability Check
- Use Case Single Responsibility
- Interface Segregation Validation
- Port-Adapter Pattern Validation
- Configuration File Support

DDD Patterns (v0.13-0.21):
- Command Query Separation (CQS/CQRS)
- Factory Pattern Validation
- Specification Pattern Detection
- Layered Service Anti-pattern Detection
- Bounded Context Leak Detection
- Transaction Script vs Domain Model
- Persistence Ignorance Validation
- Null Object Pattern Detection
- Primitive Obsession in Methods

Advanced Patterns (v0.22-0.27):
- Service Locator Anti-pattern
- Double Dispatch Pattern Validation
- Entity Identity Validation
- Saga Pattern Detection
- Anti-Corruption Layer Detection
- Ubiquitous Language Validation

Each feature includes detailed examples, violation detection,
and planned implementation for Q1-Q4 2026.
2025-11-24 13:30:08 +05:00
imfozilbek
ae361a4d60 chore: bump version to 0.2.0 for framework leak detection release 2025-11-24 12:57:41 +05:00
imfozilbek
32f5d8dbc5 docs: finalize v0.1.0 documentation with framework leak detection
Updates across all documentation files:

CHANGELOG.md:
- Add Framework Leak Detection as implemented feature in v0.1.0
- Update test count: 159 → 194 tests across 7 files
- Update examples count: 36 → 38 files (29 good + 9 bad)
- Remove framework leak from future releases

README.md:
- Add Framework Leak Detection section in Features
- Document supported frameworks: HTTP, ORM/DB, External services
- Include examples of Express, Prisma, TypeORM, etc.
- Emphasize domain boundary protection

ROADMAP.md:
- Move Framework Leak Detection from v0.2.0 to v0.1.0
- Update v0.1.0 metrics: 194 tests, 38 examples
- Renumber future versions (Entity Exposure now v0.2.0)
- Maintain proper version sequence through v1.0.0

CLAUDE.md:
- Update project description with framework leak detection
- Add to Key features list (5 features total)
- Update Guardian capabilities overview

TODO.md:
- Update current tasks and priorities

All documentation now accurately reflects v0.1.0 release with 5 core features:
1. Hardcode Detection
2. Circular Dependency Detection
3. Naming Convention Enforcement
4. Architecture Violations
5. Framework Leak Detection
2025-11-24 12:54:48 +05:00
imfozilbek
0b7c8796ad fix: resolve linting issues
- Fix indentation in DependencyGraph.ts getMetrics return type
- Add ESLint disable comment for Guards class (utility class pattern)
- Clean up formatting across analyzer files
2025-11-24 12:54:24 +05:00
imfozilbek
3f2a9f2051 docs: add framework leak examples
- Add UserWithFrameworks.ts example showing framework leaks in domain
- Add examples/bad/ directory with anti-pattern demonstrations
- Demonstrate common mistakes: Prisma in domain, Express types, etc.
2025-11-24 12:54:12 +05:00
imfozilbek
ed66b6ba10 feat: add framework leak reporting to CLI
- Add framework leak violations output in CLI check command
- Display framework type, package name, and detailed suggestions
- Include framework leak count in summary statistics
- Format output with proper severity indicators
2025-11-24 12:54:00 +05:00
imfozilbek
19abff30f0 feat: integrate framework leak detection into analysis pipeline
- Add framework leak detector to AnalyzeProject use case
- Export FrameworkLeakDetector in public API
- Add FRAMEWORK_LEAK rule constant
- Include framework leak violations in analysis response
2025-11-24 12:53:50 +05:00
imfozilbek
0e23938e20 feat: add framework leak detection for domain layer
- Add IFrameworkLeakDetector interface in domain/services
- Add FrameworkLeak value object with framework type categorization
- Implement FrameworkLeakDetector with 250+ framework patterns across 12 categories
- Add comprehensive test suite (35 tests) for framework leak detection
- Support HTTP frameworks, ORMs, loggers, caches, message queues, etc.
- Detect framework imports in domain layer and suggest proper abstractions
2025-11-24 12:53:37 +05:00
imfozilbek
32bcf7d465 chore(guardian): rename package to @samiyev/guardian
Rename package from @puaros/guardian to @samiyev/guardian for npm publication.
Update all references in documentation.
2025-11-24 03:14:54 +05:00
imfozilbek
03705b5264 feat(guardian): add guardian package - code quality analyzer
Add @puaros/guardian package v0.1.0 - code quality guardian for vibe coders and enterprise teams.

Features:
- Hardcode detection (magic numbers, magic strings)
- Circular dependency detection
- Naming convention enforcement (Clean Architecture)
- Architecture violation detection
- CLI tool with comprehensive reporting
- 159 tests with 80%+ coverage
- Smart suggestions for fixes
- Built for AI-assisted development

Built with Clean Architecture and DDD principles.
Works with Claude, GPT, Copilot, Cursor, and any AI coding assistant.
2025-11-24 02:54:39 +05:00