Skip to content

feat: language-agnostic pipeline #70

@pontino

Description

@pontino

Context

The agentic mode is language-agnostic (tested with TypeScript, Python, Go). But the surrounding pipeline is hardcoded for TypeScript/Angular.

Problem

Layer Issue
Analyze stage changed-files.ts:108 filters to .ts files only. Logs say "TypeScript files".
Fix stage Generates .test.ts files, uses ```typescript code fences
Report stage Angular-specific knowledge source filtering, Angular doc links in formatters
Documentation loading .qualops/unified-docs/ only has Angular, NgRx, RxJS, OWASP
Batch processor Logs reference "TypeScript files"

The --files flag bypasses the .ts filter (which is why Python/Go e2e tests worked), but git-based mode is broken for non-TS repos.

Scope

Must-have (unblock non-TS repos)

  • Remove .ts filter in changed-files.ts — detect files by configurable patterns (default: common source extensions)
  • Add fileExtensions or filePatterns config field to control which files are analyzed
  • Fix log messages to not say "TypeScript"

Nice-to-have (full language support)

  • Fix stage: detect language from file extension for test generation and code fences
  • Report stage: make knowledge source filtering generic (not Angular-hardcoded)
  • Documentation loading: support user-provided docs for any framework

Key files

src/stages/analyze/git/changed-files.ts:108  (the .ts filter)
src/stages/analyze/index.ts                  (log messages)
src/stages/analyze/processors/batch-processor.ts
src/stages/fix/generators/test-generator.ts
src/stages/fix/generators/fix-generator.ts
src/stages/report/html-report.ts
src/stages/report/templates/components.ts
src/stages/report/utils/formatters.ts

Estimate

~8 hours for must-have, ~15 hours for full language support

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions