Skip to content

Conversation

@yxxhero
Copy link
Collaborator

@yxxhero yxxhero commented Jan 28, 2026

Implement a new 'ai' output format that produces structured JSON with complete diff information, making it easy for Large Language Models to parse and analyze Helm chart changes.

The new format includes:

  • Resource metadata (api, kind, namespace, name, change type)
  • Full diff content with each line categorized (added/removed/common)
  • Properly escaped JSON output for reliable parsing

Usage:
helm diff upgrade --output ai release-name chart-name

Resolves #919

Implement a new 'ai' output format that produces structured JSON
with complete diff information, making it easy for Large Language
Models to parse and analyze Helm chart changes.

The new format includes:
- Resource metadata (api, kind, namespace, name, change type)
- Full diff content with each line categorized (added/removed/common)
- Properly escaped JSON output for reliable parsing

Usage:
  helm diff upgrade --output ai release-name chart-name

Resolves #919

Signed-off-by: yxx <yxx@example.com>
- Replace manual JSON string concatenation with structured Go types and json.Encoder
- Restructure output to be more AI-friendly with separate metadata, summary, and content sections
- Categorize changes into added/removed/modified arrays for clearer diff presentation
- Add human-readable summary field (e.g., "Modified: +1, -1") for quick overview
- Remove manual escape functions in favor of automatic JSON encoding
- Add comprehensive unit tests covering multiple scenarios
- Update existing tests to match new output format

The new format provides:
- Structured metadata for resource identification
- Clear categorization of changes without noise from "common" lines
- Summary field for quick understanding of change impact
- Better maintainability through type safety and automatic JSON handling

Signed-off-by: yxxhero <aiopsclub@163.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create AI-friendly result

2 participants