AICodePrep GUI

repository·main·Indexed 42 days ago

https://github.com/detroittommy879/aicodeprep-gui

A smart GUI tool (version 1.5.1) designed to select, filter, and concatenate project files into organized markdown or XML context blocks for LLM and AI analysis. It features a Rust-accelerated worker for folder scanning, custom prompt integration, and native shell integration for Linux (Nautilus) and macOS (Quick Action) to streamline providing code context to AI interfaces like ChatGPT, Claude, and Gemini.

Tokens
55K
Snippets
142
Records
249
Agent score
54%

What's inside AICodePrep GUI

  1. Overview of w111erd features

    main

    w111erd is a cross-platform terminal application designed for ease of use through clickable presets and flexible layouts. Key features include:

    • Preset-command workflows: Use buttons for common commands and an SSH dock for shortcuts to reduce reliance on memorized commands.
    • Flexible layouts: Supports multiple tabs, split panes (left-right or top-bottom), and grid arrangements with customizable tab names.
    • Advanced Theming: Apply presets to app chrome, terminal colors, fonts, and gradients. Themes can be applied globally or by specific sections.
    • Typography Control: Tune shell typography by zone, maintaining monospaced terminal fonts while allowing optional web font usage.
    • Visual Effects: Optional overlays such as static, TV noise, or simple noise to customize the terminal's atmosphere.
    • Profile-aware settings: Maintain different configurations for different work contexts that can be applied live and reverted.
  2. What is w111erd?

    main
    w111erd is a cross-platform desktop terminal application designed to provide a real shell experience with a focus on visibility and ease of use. Unlike traditional keyboard-driven, config-heavy terminals, w111erd emphasizes a GUI-driven approach with visible controls, adjustable presentation, and high readability. It runs real terminal sessions underneath but wraps them in a more expressive interface.
  3. Monitor terminal health via the Status Bar

    main

    The bottom status bar provides a real-time health readout of the current terminal state. You can use it to verify the following configurations and states:

    • Renderer & GPU: Identifies the active renderer and whether GPU-backed WebGL is active or if a fallback occurred.
    • Features: Indicates if link detection and gradient rendering are currently enabled.
    • Layout: Shows the configured terminal size (columns and rows), the active tab, total tab count, and the number of visible panes in the current layout.
    • System State: Displays whether debug logging is enabled and the current terminal font zoom level.
  4. Summary of PySide6 Checkbox Layout Techniques

    main

    When designing UIs with checkboxes in PySide6, you can utilize several distinct layout patterns depending on the complexity and responsiveness required:

    1. Horizontal Arrangements: Placing checkboxes side-by-side using basic horizontal layouts.
    2. Grid Layouts: Using structured matrices for complex checkbox sets.
    3. Grouped Layouts: Organizing checkboxes hierarchically using parent-child relationships.
    4. Dynamic Generation: Creating and managing checkboxes at runtime.
    5. Responsive Layouts: Using custom layouts (like FlowLayout) to adapt checkbox arrangements to window resizing.
  5. Use the w111erdctl CLI for terminal automation

    main

    w111erdctl is a local command-line tool designed to control a running w111erd window. It is optimized for automation, scripting, and AI agents that require a shell-friendly interface.

    Prerequisites:

    • w111erd must already be running.
    • The CLI automatically reads the loopback URL and auth token from the local connection file located at ~/.w111erd/control-api.json.

    Capabilities:

    • List known tabs and saved presets.
    • Read recent output from a tab.
    • Wait for specific text or for output to settle (quiet).
    • Send text or control keys (like Ctrl+C) to a tab.
    • Run saved presets into a selected tab.
    pnpm w111erdctl --help
  6. Advanced Checkbox Patterns Overview

    main

    This documentation covers three primary patterns for sophisticated checkbox-based interfaces in PySide6:

    1. DialogOptionsWidget Pattern: Managing groups of checkboxes that represent specific flag values or configuration options.
    2. Dependent Checkboxes: Implementing logic where checking one box affects others (e.g., checking a parent automatically checks all dependencies, or unchecking a parent handles reverse dependencies).
    3. Model Integration: Using the Qt Model/View framework to drive checkbox states from an underlying data structure using CheckStateRole and ItemIsUserCheckable flags.
  7. Implement QML theming with singletons

    main

    For QML-based UIs, the best practice is to centralize theme tokens (colors, fonts, sizes) in a singleton QML file (e.g., UIStyle.qml). Custom control components (like Button.qml) then import this singleton to maintain a consistent look across the application.

    // UIStyle.qml (conceptual)
    pragma Singleton
    QtObject {
      property color primaryColor: "#3498db"
      property color accentColor: "#2ecc71"
      property int baseFontSize: 14
    }
    
    // Usage in a custom control
    import QtQuick.Controls 2.15
    import QtExampleStyle 1.0
    
    Button {
      background: Rectangle { color: UIStyle.primaryColor }
      font.pixelSize: UIStyle.baseFontSize
    }
  8. Locate and use generated context blocks

    main

    When you click Generate Context, AICodePrep performs two actions:

    1. Copies the formatted text block to your system clipboard.
    2. Writes the context block to a local file in your project directory.

    This generated file is useful for saving snapshots of your context, comparing different AI models using the exact same input, or handing a plan from a chat model back to a coding agent.

    Output Path: .aicp/context_block.md

  9. Understand the AICodePrep workflow

    main

    AICodePrep is a desktop application designed to streamline the process of collecting code files into a single, organized text block for AI chat models. Instead of manually copying and pasting individual files into a browser, you use AICodePrep to select multiple files from your project and generate a unified context block with a single click.

    The core workflow is:

    1. Open your project in AICodePrep.
    2. Review and select the files you want to include.
    3. Click Generate Context.
    4. Paste the resulting block into your AI chat (e.g., ChatGPT, Claude, etc.).
  10. Accessibility and Screen Reader Support

    main

    AICodePrep GUI includes accessibility features designed for screen reader users:

    • Accessible Widgets: The file tree, prompt input, all buttons, and the preset area include accessible names and descriptions.
    • Focus Management: The application follows a logical tab order: File Tree → Prompt → Buttons. Initial focus is placed on the file tree, and visible focus indicators are provided.
    • Screen Reader Compatibility: While designed for accessibility, official testing with NVDA (Windows), VoiceOver (macOS), and Orca (Linux) has not been completed.
  11. Understand the Terminal Control CLI (`w111erdctl`) architecture

    main

    The w111erdctl CLI provides a local command surface for scripts and AI agents to control an active w111erd instance. It operates via a local loopback HTTP API hosted by the Rust backend.

    Architecture Layers:

    1. React Frontend: Manages visible tabs and sends snapshots to Tauri.
    2. Tauri/Rust Backend: Maintains a control-state registry (keyed by PTY ID) and exposes an authenticated HTTP API on 127.0.0.1 using an ephemeral port.
    3. Local CLI (w111erdctl.mjs): Reads connection details from a local JSON file and translates CLI commands into authenticated HTTP requests.
    4. Agent Helpers (Optional): High-level workflow wrappers can be added to .claude/skills/w111erd-terminal-control/scripts/ to compose CLI commands for better agent ergonomics.
  12. Configure local transport for `w111erdctl`

    main

    The control API is restricted to local-machine control only and binds to 127.0.0.1 on an ephemeral port.

    To allow the CLI to communicate with the running app, the app automatically writes a connection file to ~/.w111erd/control-api.json. This file contains the necessary credentials for the CLI to authenticate requests.

    The ~/.w111erd/control-api.json file contains:

    • baseUrl: The local endpoint for the API.
    • authToken: The bearer token used for authentication.
    • updatedAtMs: Timestamp of the last update.