Commit Graph

129 Commits

Author SHA1 Message Date
imfozilbek
ae361a4d60 chore: bump version to 0.2.0 for framework leak detection release v0.2.0 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
v0.1.0
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
a4a4b36a8a docs: update project documentation for guardian
Update README, CLAUDE.md, and CHANGELOG for guardian package.
Add guardian package documentation and remove core references.
Update repository URLs to samiyev/puaros and add official website link (puaros.ailabs.uz).
2025-11-24 02:55:20 +05:00
imfozilbek
1d22a7d070 chore: update ESLint and Prettier configuration
Update code formatting and linting rules for guardian package.
Ensure consistent code style across monorepo.
2025-11-24 02:55:10 +05:00
imfozilbek
959d84918f chore: update TypeScript configuration
Update TypeScript configuration for guardian package.
Adjust paths and settings for monorepo structure.
2025-11-24 02:55:00 +05:00
imfozilbek
4b1af2089a chore: update workspace configuration
Update pnpm workspace to include guardian package and remove core package.
Update dependencies and lockfile.
2025-11-24 02:54:52 +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
imfozilbek
9f97509b06 chore: remove core package
Remove the @puaros/core package as it has been superseded by guardian package.
2025-11-24 02:54:13 +05:00
imfozilbek
d401fb9d3a chore(core): install dependencies
Install required dependencies:
- simple-git for git operations
- tree-sitter and parsers for code parsing
- uuid for ID generation
- vitest for testing
- Remove deprecated @types/ioredis
2025-11-23 21:44:00 +05:00
imfozilbek
6f4d77449a feat(core): configure package exports and npm ignore
- Add public API exports from all layers
- Add .npmignore for clean package publishing
2025-11-23 21:43:58 +05:00
imfozilbek
8b81e6030d test(core): add unit tests and test infrastructure
Add test structure:
- Unit tests for BaseEntity
- Unit tests for Guards utility
- Test fixtures with code samples
- Integration and unit test directories
2025-11-23 21:43:55 +05:00
imfozilbek
3dc531886e feat(core): add shared utilities and types
Add shared layer:
- Result<T,E> type for error handling
- BaseError and error subclasses
- Guards for runtime type checking
- Application constants
2025-11-23 21:43:43 +05:00
imfozilbek
6e24fe6ba8 feat(core): add infrastructure layer services
Add infrastructure implementations:
- BaseRepository with in-memory storage
- GitService for git operations using simple-git
- CodeParser for JS/TS parsing using tree-sitter
2025-11-23 21:43:40 +05:00
imfozilbek
2d54538d81 feat(core): add application layer components
Add application layer:
- UseCase base class for use cases
- ResponseDto for standardized responses
- Mapper for domain-DTO conversion
2025-11-23 21:43:38 +05:00
imfozilbek
2bdfc5382f feat(core): add domain layer with clean architecture
Add domain layer components:
- BaseEntity with ID, timestamps and equality checks
- ValueObject for immutable value objects
- IRepository interface for persistence
- DomainEvent system for domain events
2025-11-23 21:43:34 +05:00
imfozilbek
6fe90a708b chore: add comment style rules to eslint config
Add ESLint rules to enforce comment style:
- Require space after // in single-line comments
- Prefer JSDoc style for multi-line comments
- Warn on TODO/FIXME/HACK comments
- Update documentation with comment style guide
2025-11-23 21:42:51 +05:00
imfozilbek
f7a02db7df chore: install dependencies
Add pnpm-lock.yaml with project dependencies
2025-11-23 21:20:04 +05:00
imfozilbek
dbfe038d34 docs: add project documentation
Add CLAUDE.md with development guidelines and CHANGELOG.md for tracking changes
2025-11-23 21:19:55 +05:00
imfozilbek
ba6ffb197c feat: add core package
Add @puaros/core package with TypeScript configuration, Vitest test setup, and package structure
2025-11-23 21:19:44 +05:00
imfozilbek
5e9477cd21 chore: configure code quality tools
Add EditorConfig for consistent editor settings, Prettier for formatting (4-space indentation), ESLint with TypeScript rules, and linting documentation
2025-11-23 21:19:34 +05:00
imfozilbek
530cbdf14d chore: configure monorepo workspace
Add pnpm workspace configuration, Node version specification, root package.json with build/test/lint scripts, and shared TypeScript configuration
2025-11-23 21:19:24 +05:00
imfozilbek
f7bad59b94 chore: add git configuration
Add .gitignore for common patterns and .gitmessage for commit template
2025-11-23 21:19:12 +05:00
imfozilbek
b6b8ac69d7 chore: initialize repository
Add README and LICENSE files
2025-11-23 21:18:58 +05:00