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.
This commit is contained in:
imfozilbek
2025-11-24 02:54:39 +05:00
parent 9f97509b06
commit 03705b5264
96 changed files with 9520 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
import { ValueObject } from "../../../../src/domain/value-objects/ValueObject"
import { v4 as uuidv4, validate as uuidValidate } from "uuid"
interface UserIdProps {
readonly value: string
}
/**
* UserId Value Object
*
* DDD Pattern: Identity Value Object
* - Strongly typed ID (not just string)
* - Self-validating
* - Type safety: can't mix with OrderId
*
* Benefits:
* - No accidental ID mixing: `findUser(orderId)` won't compile
* - Clear intent in code
* - Encapsulated validation
*/
export class UserId extends ValueObject<UserIdProps> {
private constructor(props: UserIdProps) {
super(props)
}
public static create(id?: string): UserId {
const value = id ?? uuidv4()
if (!uuidValidate(value)) {
throw new Error(`Invalid UserId format: ${value}`)
}
return new UserId({ value })
}
public get value(): string {
return this.props.value
}
public toString(): string {
return this.props.value
}
}