Deleted v0.1.0, v0.1.1, v0.1.3 tags and Gitea releases — project is
alpha and should never have crossed 0.1.0. All package.json files
synced to 0.0.20. Added version-bump.sh script that hard-rejects any
version >= 0.1.0. Added versioning hard gate to AGENTS.md so agents
cannot repeat the mistake.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Drop the global ajv override that forced ESLint onto an incompatible major, then move @mosaic/config lint tooling deps to devDependencies so production audit stays clean without impacting runtime deps.
Adds directory-specific agent context templates for AI-assisted
development across all apps and packages.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Upgraded three TypeScript rules from "warn" to "error":
- explicit-function-return-type: Functions must declare return types
- prefer-nullish-coalescing: Enforce ?? over || for null checks
- prefer-optional-chain: Enforce ?. over && chains
This tightens pre-commit enforcement to catch more issues mechanically
before code review, reducing agent iteration cycles.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Convert ApiResponse to discriminated union for type-safe error handling
- Add HealthStatus type with HealthState literal union
- Make BaseEntity fields readonly for immutability
- Add GlobalExceptionFilter with structured logging
- Add port validation with clear error messages in main.ts
- Improve parseDate to log warnings for invalid dates
- Add comprehensive Button tests (variants, onClick, disabled)
- Add slugify edge case tests (empty, special chars, numbers)
- Create ESLint configs for all packages
- Remove compiled JS files from src directories
- Convert .prettierrc.js to .prettierrc.json
Refs #1
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>