NAME

Wordsmith::Claude::Blog::Interactive - Interactive blog builder with terminal UI

SYNOPSIS

use Wordsmith::Claude::Blog::Interactive;
use IO::Async::Loop;

my $loop = IO::Async::Loop->new;

my $interactive = Wordsmith::Claude::Blog::Interactive->new(
    topic => 'Building AI Tools with Perl',
    style => 'technical',
    tone  => 'enthusiastic',
    loop  => $loop,
);

my $result = $interactive->run->get;

if ($result->is_success) {
    print $result->as_markdown;
}

DESCRIPTION

Wraps Wordsmith::Claude::Blog::Builder with a colorful terminal UI featuring:

  • Spinners during AI processing

  • Colored headers and status messages

  • Interactive menus for outline/title selection

  • Section-by-section approval workflow

ATTRIBUTES

Every attribute is set through new, which takes a flat list of name/value pairs and ignores unknown names.

  • topic - What the blog post is about. Required.

  • style - Writing style (default technical)

  • tone - Tone of voice (default professional)

  • size - Length preset (default medium)

  • 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 build 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)