NAME
Wordsmith::Claude::Blog::Reviewer::Interactive - Interactive terminal UI for blog reviewing
SYNOPSIS
use Wordsmith::Claude::Blog::Reviewer::Interactive;
use IO::Async::Loop;
my $loop = IO::Async::Loop->new;
# Review from file
my $interactive = Wordsmith::Claude::Blog::Reviewer::Interactive->new(
file => 'my-blog.md',
loop => $loop,
);
# Or review text directly
my $interactive = Wordsmith::Claude::Blog::Reviewer::Interactive->new(
text => $blog_text,
title => 'My Blog Post',
loop => $loop,
);
my $result = $interactive->run->get;
if ($result->is_success) {
print $result->text;
}
DESCRIPTION
Provides an interactive terminal UI for the Blog::Reviewer, featuring:
Colored headers and status messages
Paragraph-by-paragraph display with AI analysis
Interactive menu for approve/revise/edit/skip actions
Multiple revision options (grammar, clarity, conciseness, etc.)
Manual editing with external editor support
Live progress saving to file
ATTRIBUTES
Every attribute is set through new, which takes a flat list of name/value pairs and ignores unknown names.
file - Path of the file to review
text - The text to review, when not read from a file
title - The title of the piece, when known
options - A Wordsmith::Claude::Options; a default one is built
loop - The IO::Async::Loop to run on; one is created when not given
METHODS
run
my $result = $interactive->run->get;
Run the interactive review in the terminal and return a Future of the Wordsmith::Claude::Blog::Result.
AUTHOR
LNATION, <email at lnation.org>
LICENSE AND COPYRIGHT
This software is Copyright (c) 2026 by LNATION.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)