Overview
The Artifact Miner TUI provides a modern, interactive terminal interface built with Python Textual. Navigate through screens using keyboard and mouse, with real-time feedback and visual progress indicators.Installation
The TUI is included with Artifact Miner:Launching the TUI
Start the Textual interface:Application Flow
The TUI guides you through a multi-screen workflow:Welcome Screen
Initial landing page with branding and call-to-action.Actions:
- Click Start Mining button to begin
- Press
qto quit
Consent Screen
Choose data processing consent level with detailed explanation.The screen displays:Workflow:
- Full consent agreement text in scrollable container
- What data is collected (metadata, file contents, timestamps)
- Your data rights and permissions
- LLM processing options
- Click Consent with LLM (green) or Consent without LLM (blue)
- Selection is highlighted and status updates
- Click Continue to proceed
- Consent is saved to backend via API call
"Consent with LLM selected."- Full consent chosen"Consent without LLM selected."- No external LLM processing"Saving consent choice..."- API request in progress"Consent saved. Loading preferences..."- Success"Cannot connect to the backend server."- Connection error (red)
User Config Screen
Enter user information (email address) for personalization.Actions:
- Type your email address in the input field
- Click Continue to proceed
- Email is stored for tracking and resume generation
Upload Screen
Select and upload a ZIP file containing your projects.Three ways to select a file:Status Messages:
- Manual Entry
- Drag & Drop
Type the full path to your ZIP file:
"Waiting for a file..."- Initial state"Please enter a path."- Empty input submitted"File not found: [path]"- Path doesn’t exist"Need a .zip file."- Wrong file extension"Uploading and fetching contents..."- Upload in progress"No contents found in archive."- Empty ZIP file
- ZIP is uploaded to backend
- Contents are extracted and scanned
- Transitions to Directory Selection screen
Directory Selection Screen
Choose which directories/repositories to analyze from the ZIP archive.Features:
- Scrollable list of all directories in ZIP
- Click checkboxes to toggle selection
- Selection count updates in real-time
- Select Files button disabled until at least one item selected
- Filters out macOS metadata (
__MACOSX/,._*files)
↑/↓- Move between itemsSpace- Toggle checkboxTab- Switch between list and buttonsEnter- Activate focused button
Analyzing Screen
Real-time progress display during analysis.Display Elements:
- Animated spinner for ongoing activity
- Progress bar showing percentage complete
- Current repository being analyzed
- List of completed repositories with checkmarks
- Status messages for current operation
Resume & Summaries Screen
View and export generated resume items and AI summaries.Content Display:Navigation:
- Resume items grouped by project with folder icons
- Item titles in bold
- Content preview (first 200 characters, dimmed text)
- AI summaries in highlighted boxes with lightbulb icon (when available)
- Scrollable content area for long lists
- Export JSON
- Export Text
Click Export JSON to save structured data:
- Generates timestamped file:
resume_export_YYYYMMDD_HHMMSS.json - Includes all resume items and summaries
- Saved to current directory
- Shows notification with filename
- Back - Return to previous screen
File Browser
When you click Browse on the Upload screen, an interactive file browser opens:- Directory tree navigation
- Only shows
.zipfiles and directories - Click
../to go up one level - Double-click directory to enter
- Single-click file to select
- Current path shown at top
Keyboard Shortcuts
Global shortcuts available throughout the TUI:| Key | Action |
|---|---|
q | Quit application |
Ctrl+C | Force quit |
Tab | Switch focus between UI elements |
Shift+Tab | Switch focus backwards |
Enter | Activate focused button/selection |
Esc | Go back / Cancel |
| Screen | Key | Action |
|---|---|---|
| Directory Selection | ↑/↓ | Navigate list |
| Directory Selection | Space | Toggle checkbox |
| Resume Screen | Page Up/Page Down | Scroll content |
| File Browser | Enter | Open directory / Select file |
API Integration
The TUI communicates with the Artifact Miner backend API athttp://127.0.0.1:8000:
Consent Endpoints
Consent Endpoints
GET /consent - Retrieve current consent statePUT /consent - Update consent level
Upload Endpoints
Upload Endpoints
POST /upload - Upload ZIP file
- Multipart form data with file
- Returns
zip_idfor tracking
Analysis Endpoints
Analysis Endpoints
POST /analyze/ - Start analysis
- Optionally specify directories to analyze
- Returns analysis results
Error Handling
The TUI provides user-friendly error messages:- Connection Errors
- File Errors
- API Errors
Styling and Themes
The TUI uses Textual’s theming system with custom CSS:- Primary color: Blue for main actions
- Success color: Green for confirmations
- Warning color: Yellow for cautions
- Error color: Red for errors
- Surface: Rounded borders for containers
- Panel: Elevated card-like components
- Boost: Subtle background highlights
Running the Backend
The TUI requires the Artifact Miner API to be running:http://127.0.0.1:8000
Advantages Over CLI
Visual Feedback
See real-time progress, completion status, and results in formatted displays
Interactive Selection
Click checkboxes to select specific projects instead of typing numbers
Error Prevention
UI validates inputs and disables invalid actions before they occur
Guided Workflow
Screen-by-screen flow prevents missing steps or incorrect configurations
Limitations
- Requires API backend to be running
- Not suitable for scripting or automation
- Limited to terminal window size
- Mouse support varies by terminal emulator
Next Steps
CLI Interface
Learn about the command-line interface for automation
React Client
Try the experimental OpenTUI React client
API Documentation
Explore the backend API endpoints
Development Setup
Set up a development environment