mirror of
https://github.com/samiyev/puaros.git
synced 2025-12-27 23:06:54 +05:00
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.
35 lines
907 B
TypeScript
35 lines
907 B
TypeScript
import { UserService } from "./UserService"
|
|
|
|
/**
|
|
* BAD EXAMPLE: Circular Dependency (part 2)
|
|
*
|
|
* OrderService -> UserService (creates cycle)
|
|
*/
|
|
export class OrderService {
|
|
constructor(private readonly userService: UserService) {}
|
|
|
|
public getOrdersByUser(userId: string): void {
|
|
console.warn(`Getting orders for user ${userId}`)
|
|
}
|
|
|
|
public calculateUserDiscount(userId: string): number {
|
|
const totalSpent = this.userService.getUserTotalSpent(userId)
|
|
return totalSpent > 1000 ? 0.1 : 0
|
|
}
|
|
}
|
|
|
|
/**
|
|
* ✅ GOOD VERSION:
|
|
*
|
|
* // interfaces/IOrderService.ts
|
|
* export interface IOrderService {
|
|
* getOrdersByUser(userId: string): Promise<Order[]>
|
|
* }
|
|
*
|
|
* // UserService.ts
|
|
* constructor(private readonly orderService: IOrderService) {}
|
|
*
|
|
* // OrderService.ts - no dependency on UserService
|
|
* // Use domain events or separate service for discount logic
|
|
*/
|