Skip to content

Commit 8ec8893

Browse files
grokifyclaude
andcommitted
feat(cli): add terminal and markdown render formats
Add new render format options to the CLI: - terminal: ANSI-colored output with UTF8 icons - markdown/md: Markdown report format - Update check command to show category counts Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent cb692fe commit 8ec8893

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

cmd/sevaluation/main.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import (
1111
"github.com/plexusone/structured-evaluation/evaluation"
1212
"github.com/plexusone/structured-evaluation/render/box"
1313
"github.com/plexusone/structured-evaluation/render/detailed"
14+
"github.com/plexusone/structured-evaluation/render/markdown"
15+
"github.com/plexusone/structured-evaluation/render/terminal"
1416
"github.com/plexusone/structured-evaluation/schema"
1517
"github.com/plexusone/structured-evaluation/summary"
1618
)
@@ -58,6 +60,8 @@ var renderCmd = &cobra.Command{
5860
Formats:
5961
box - Summary box format (for summary reports)
6062
detailed - Detailed format with findings (for evaluation reports)
63+
terminal - ANSI-colored terminal output with UTF8 icons (for evaluation reports)
64+
markdown - Markdown report format (for evaluation reports)
6165
json - Pretty-printed JSON`,
6266
Args: cobra.ExactArgs(1),
6367
RunE: runRender,
@@ -175,9 +179,15 @@ func renderEvaluation(data []byte, format string) error {
175179
}
176180

177181
switch format {
178-
case "detailed", "terminal":
182+
case "detailed":
179183
renderer := detailed.NewTerminal(os.Stdout)
180184
return renderer.Render(&report)
185+
case "terminal":
186+
renderer := terminal.New(os.Stdout)
187+
return renderer.Render(&report)
188+
case "markdown", "md":
189+
renderer := markdown.New(os.Stdout)
190+
return renderer.Render(&report)
181191
case "json":
182192
output, err := json.MarshalIndent(&report, "", " ")
183193
if err != nil {
@@ -186,7 +196,7 @@ func renderEvaluation(data []byte, format string) error {
186196
fmt.Println(string(output))
187197
return nil
188198
default:
189-
return fmt.Errorf("format %q not supported for evaluation reports (use detailed or json)", format)
199+
return fmt.Errorf("format %q not supported for evaluation reports (use detailed, terminal, markdown, or json)", format)
190200
}
191201
}
192202

@@ -233,7 +243,8 @@ func runCheck(cmd *cobra.Command, args []string) error {
233243
}
234244

235245
if report.Decision.Passed {
236-
fmt.Printf("✅ PASSED: %s (%.1f/10)\n", report.ReviewType, report.WeightedScore)
246+
counts := report.Decision.CategoryCounts
247+
fmt.Printf("✅ PASSED: %s (%d/%d categories)\n", report.ReviewType, counts.Pass, counts.Total)
237248
return nil
238249
}
239250
fmt.Printf("❌ FAILED: %s - %s\n", report.ReviewType, report.Decision.Rationale)

0 commit comments

Comments
 (0)