Improve CLI output readability for LLMs and non-interactive environments#1333
Merged
martin-helmich merged 13 commits intomasterfrom Sep 5, 2025
Merged
Improve CLI output readability for LLMs and non-interactive environments#1333martin-helmich merged 13 commits intomasterfrom
martin-helmich merged 13 commits intomasterfrom
Conversation
- Create a custom hook to provide default box styles based on TTY detection. - Replace hardcoded box styles in Success component with the new hook.
…ault in useDefaultBoxStyles - Simplify Success component by eliminating redundant width property. - Default width now handled exclusively in useDefaultBoxStyles.
…ndant width definitions - Added useDefaultBoxStyles hook to ErrorBox for consistent styling. - Removed hardcoded width and redundant properties across related components. - Simplified API token success message rendering.
…ag handling - Introduced `SimpleProcessRenderer` for non-TTY environments. - Added comprehensive unit tests for `SimpleProcessRenderer`. - Updated process flag handling to utilize `SimpleProcessRenderer` when TTY is unavailable.
The existing SimpleProcessRenderer was updated to properly use writable streams instead of console methods, and the test suite was fixed to use real streams instead of mocks. Changes: - Updated SimpleProcessRenderer constructor to accept Writable stream parameter - Replaced console.log calls with output.write() for all renderer methods - Fixed process flags to pass process.stdout to SimpleProcessRenderer - Rewrote test suite to use real Writable streams and string assertions - Removed all mocking and type assertions from tests - Simplified output format to be more readable and consistent 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Add comprehensive usage hints for newly created containers, including port connection options, domain setup, and container management commands. Components added: - ContainerUsageHints: Main component showing usage hints based on container ports - ContainerManagementCommands: Reusable component for SSH, logs, and exec commands - CommandHint: Base component for displaying command suggestions with descriptions Features: - Adaptive hints based on whether container exposes ports - Domain connection instructions via virtualhost creation - Port forwarding examples for local development - Container management commands (SSH, logs, exec) - Integration with container run command to show hints after creation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Break down large ContainerUsageHints into smaller components: - NoPortsUsageHints for containers without exposed ports - DomainConnectionHints for domain connection instructions - PortForwardingHints for local port forwarding - PortConnectionHints as orchestrator for both connection types - Extract ParsedPort interface to shared types.ts to eliminate duplication - Improve component reusability and maintainability - Update container run command to pass full service object for usage hints 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Add InternalConnectionHints component as first connection option - Shows users how to connect from within hosting environment using service name as hostname - Updated PortConnectionHints to orchestrate internal, domain, and port forwarding options - Improved protocol-specific descriptions for domain and port forwarding hints - Clarified that domain connections only work for HTTP and port forwarding works for TCP 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
- Create AppUsageHints component system for app installations - Add domain connection instructions (no port forwarding for apps) - Display backend/admin URLs using AppVersion.backendPathTemplate - Show management commands for SSH, file operations, and app info - Update AppInstaller to return full installation data and display hints - Integrate with existing virtual host system for URL building - Support host parameter for immediate backend URL display Components: - AppUsageHints: Main orchestrator for app installation guidance - AppDomainConnectionHints: Domain connection via virtualhost creation - AppBackendAccessHints: CMS backend URLs using backendPathTemplate - AppManagementCommands: SSH, download, upload, and info commands Provides immediate actionable guidance after app installation, similar to container usage hints but tailored for app-specific connectivity patterns. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
…tNode Replace ReactNode parameters with string parameters in ProcessRenderer methods (addStep, runStep, addInfo, addConfirmation, addInput, addSelect, addCleanup) for improved simplicity and consistency. - Update ProcessRenderer interface and all implementations - Convert JSX elements to template strings across codebase - Update React component prop types accordingly - Remove unused imports and clean up code - Maintain backward compatibility for complete() method 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Why These Changes Matter
Better LLM Integration
The CLI is increasingly used through AI assistants and automation tools. The existing fancy terminal graphics and complex output formatting creates problems:
Enhanced User Experience After Container Deployment
Previously, after successfully deploying a container, users were left with minimal guidance on how to actually use their newly created service. This led to:
Solutions Implemented
SimpleProcessRenderer: Provides clean, parseable text output for non-TTY environments while preserving all critical information. LLMs can now understand process states and outcomes without visual noise.
Comprehensive Container Usage Hints: After container deployment, users immediately see:
The modular component architecture ensures maintainability while providing contextually appropriate guidance based on whether containers expose ports or not.
🤖 Generated with Claude Code