-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
Problem Statement
Currently, the startup banner shows plain text output beginning with "imploid v{version}". Adding ASCII art would make the tool's startup more visually distinctive and branded, improving the user experience when launching imploid.
User Value
- Enhanced Branding: Users will immediately recognize imploid with distinctive ASCII art
- Improved Visual Feedback: The ASCII art provides clear visual confirmation that imploid has started
- Professional Polish: Adds personality and polish to the CLI tool startup experience
Definition of Done
- Implementation complete with edge cases handled
- ASCII art displays the tool name "imploid" in a creative style
- ASCII art appears at the beginning of the startup banner (above the version line)
- ASCII art respects the --quiet flag (hidden when quiet mode is enabled)
- Unit tests added (>80% coverage)
- Integration tests for main flows
- Documentation updated if needed
- Code review approved
- CI/CD passes
- Manual testing complete
Manual Testing Checklist
- Basic flow: Run
imploidand verify ASCII art appears above version line - Quiet mode: Run
imploid --quietand verify no ASCII art is displayed - Version display: Verify version and description info still appear correctly after ASCII art
- Edge case: Test with different terminal widths to ensure ASCII art displays properly
- Integration: Verify ASCII art works correctly with foreground mode (
imploid --foreground)
Potential Solutions
Option 1: Generate ASCII art using figlet-style approach
- Description: Use a figlet-style ASCII art generator or library to create the "imploid" text art dynamically
- Pros:
- Can potentially support multiple font styles
- Cleaner code if using a library
- Cons:
- Adds an external dependency
- May be overkill for a static banner
- Files to modify:
- src/lib/startupBanner.ts (add ASCII art generation)
- package.json (add dependency if needed)
Option 2: Hardcode creative ASCII art banner
- Description: Design a creative ASCII art representation of "imploid" and store it as a string constant in the startupBanner module
- Pros:
- No external dependencies
- Full creative control over the design
- Simple implementation
- Fast execution (no generation overhead)
- Cons:
- Fixed design (can't easily change styles)
- Files to modify:
- src/lib/startupBanner.ts (add ASCII art constant and prepend to banner output)
Recommended Approach
Option 2 - Hardcode the ASCII art banner. This is the simplest, most maintainable approach that:
- Requires no new dependencies
- Provides full creative control
- Has zero runtime overhead
- Is easy to test and modify
Implementation approach:
- Create an ASCII art constant at the top of
src/lib/startupBanner.ts - Modify
buildStartupBanner()function to prepend ASCII art lines to the output array - Ensure ASCII art is only added when quiet mode is not enabled (handled by caller in orchestrator.ts:320-329)
Technical Notes
- Affected files:
- src/lib/startupBanner.ts (primary implementation)
- Tests may need updates to verify ASCII art inclusion
- Dependencies: None (using Option 2)
- The --quiet flag is already handled in src/lib/orchestrator.ts:320-329, so the ASCII art will automatically be suppressed when quiet mode is enabled
🤖 Generated with Claude Code