Changelog

Track our latest updates and improvements

2025-10-15

2025-10-01 2025-10-15

2025-10-15

Major automation infrastructure improvements: Enhanced LLM-optimized ESLint rules, added bi-weekly Claude.md documentation updater, refactored changelog system to static generation, and unified Discord notifications across all workflows.

15

Commits

23

Files Changed

1,847

Additions

312

Deletions

🎉New Features

  • Bi-weekly Claude.md Documentation Updater Workflow

    Automated workflow that scans different codebase areas (API routes, Temporal workflows, services, Supabase modules, web components, ESLint config) on a round-robin schedule every 2 weeks. Updates Claude.md files with current patterns extracted from actual code, creates PRs with documentation changes, and sends Discord notifications.

    @jamesaphoenix
  • Static Generation for Changelog Page

    Refactored changelog page from runtime API routes to Next.js static generation at build time. Changelogs now read from public/changelogs/ during build, pre-rendered as static HTML, and cached forever. Results in 20-50x faster page loads with zero runtime cost.

    @jamesaphoenix
  • Round-Robin Scanning State Management

    Added state tracking for both ESLint scanner and Claude.md updater to ensure even coverage across all codebase areas. State persists in scan-history.json files, preventing duplicate scans and enabling predictable rotation.

    @jamesaphoenix

🔧Improvements

  • LLM-Optimized ESLint Error Messages

    Completely restructured all custom ESLint rule error messages to be LLM-friendly with: clear violation statements, required actions, step-by-step fix instructions, complete code examples, naming conventions, and rationale. Enables AI to read and auto-fix violations without human intervention.

    @jamesaphoenix
  • Unified Discord Notifications

    Added Discord webhook notifications to all automated workflows (Monthly ESLint Scanner, Bi-weekly Claude.md Updater, Bi-weekly Changelog Generator). All notifications include rich embeds with stats, links, and graceful fallbacks.

    @jamesaphoenix
  • Enhanced Custom ESLint Rules

    Updated 7 custom ESLint rules with comprehensive error messages: api-dto-patterns, fastify-get-pagination, fastify-handler-naming, no-json-in-rpc-returns, require-jsonb-type-overrides, require-table-module-files, and enforce-migration-naming. Each now includes complete working code examples and detailed fix instructions.

    @jamesaphoenix
  • Changelog Output Path Simplification

    Moved changelog generation from root changelogs/ to apps/web/public/changelogs/ for simpler path resolution, better colocation with Next.js app, and public URL accessibility at /changelogs/*.json.

    @jamesaphoenix

📚Documentation

  • Claude.md Scanner Documentation

    Created comprehensive README for the Claude.md documentation scanner workflow at scripts/claude-docs-scanner/README.md. Includes architecture overview, scan area details, usage instructions, configuration guide, and integration with other workflows.

    @jamesaphoenix
  • ESLint Config README Enhancement

    Added 'LLM-Assisted Development' section to packages/eslint-config/README.md explaining the structured error message format, benefits for AI workflows, and how rules create a self-improving feedback loop.

    @jamesaphoenix
  • Changelog Architecture Documentation

    Updated changelogs/README.md (now moved to apps/web/public/changelogs/) with detailed architecture explanation, benefits of static generation over API routes, technical implementation details, and workflow integration overview.

    @jamesaphoenix

🐛Bug Fixes

  • Fixed TypeScript Import Extensions

    Corrected import path in apps/web/app/changelog/page.tsx to use .js extension for changelog-client import, following TypeScript module resolution requirements.

    @jamesaphoenix
  • Removed Unnecessary Async from Changelog Loader

    Simplified getChangelogs() function by removing async/await since it performs synchronous file I/O. Fixes ESLint warning about async function with no await expression.

    @jamesaphoenix

Contributors

@jamesaphoenix