clawdie-iso/firstboot/gui/helloworld
Sam & Claude c47cd44251 Add .prettierrc + reformat all active markdown to match
Codifies the markdown format Sam applied in bd94b87 / 30cf590 as a
project rule rather than per-file judgment. Prettier 3 defaults with
proseWrap=preserve (no prose reflow), printWidth=80, embedded code
formatting off so we don't touch fenced shell/JSON blocks.

.prettierignore scopes Prettier to active docs:
  - excludes tmp/, cache/, node_modules/, build artifacts
  - excludes CHANGELOG.md + RELEASE-NOTES-*.md (hand-formatted, rigid)
  - excludes .archive/ and .opencode/ (historical / tooling internal)
  - excludes bundled bootstrap.html

Reformatted 16 active .md files: padded markdown tables, blank line
before lists (CommonMark-strict), `*emph*` -> `_emph_`. No content
changes — diffs are all whitespace/alignment/emphasis style.

Verified: `npx prettier@3 --check '**/*.md'` reports all clean.

Build: not run — docs + tooling config only.
Tests: pass — prettier --check is green; git diff confirms no content
deletions, only formatting.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 11:16:42 +02:00
..
helloworld.pro feat: Phase 1 Qt6 GUI proof of concept (v1.0.0 roadmap) 2026-04-06 13:40:30 +00:00
main.cpp feat: Phase 1 Qt6 GUI proof of concept (v1.0.0 roadmap) 2026-04-06 13:40:30 +00:00
README.md Add .prettierrc + reformat all active markdown to match 2026-05-20 11:16:42 +02:00

Qt6 Hello World — Phase 1 Proof of Concept

Purpose: Verify Qt6 toolchain on FreeBSD

Status: Phase 1 implementation for v1.0.0


Prerequisites

# Install Qt6 build tools
pkg install qt6-base qt6-widgets qt6-buildtools

# Verify qmake6 is available
qmake6 --version
# Expected: QMake version 3.1 with Qt 6.x.x

Build Instructions

Using qmake6

cd firstboot/gui/helloworld

# Generate Makefile from .pro file
qmake6

# Build
make

# Run
./clawdie-helloworld

Alternative: Using CMake (not configured yet)

mkdir build && cd build
cmake ..
make
./clawdie-helloworld

Files

  • main.cpp — Qt6 C++ application with widgets
  • helloworld.pro — qmake project file
  • README.md — This file

Success Criteria

  • Files created
  • qmake6 generates Makefile
  • make compiles without errors
  • Binary executes and displays window
  • Button click triggers exit

Expected Output

$ qmake6
$ make
g++ -fPIC -fno-omit-frame-pointer ... -o clawdie-helloworld ...
$ ./clawdie-helloworld
# Window should appear titled "Clawdie Installer"
# Label: "Clawdie Qt6 GUI Installer"
# Button: "Exit"

Troubleshooting

Error: qmake6 not found

pkg install qt6-buildtools
which qmake6  # Should show /usr/local/bin/qmake6

Error: undefined reference to Qt libraries

# Ensure Qt6 libraries are installed
pkg install qt6-base qt6-widgets

Error: Cannot find X11 display This is normal if running over SSH without X forwarding. The app will fail to display, but compilation succeeds.


Next Steps (Phase 2)

Once Phase 1 succeeds:

  1. Create qml-installer/ for QML-based UI
  2. Wire GPU detection output to QML
  3. Test multi-page wizard flow

Document Version: 1.0 Date: 6 Apr 2026