Add OrbitHub C++ Qt Widgets spec and Codex prompts
This commit is contained in:
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2026 Keith Smith
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
36
docs/OrbitHub_Codex_Build_Prompt_CPP_QtWidgets.md
Normal file
36
docs/OrbitHub_Codex_Build_Prompt_CPP_QtWidgets.md
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# OrbitHub Codex Build Prompt (Pure C++ / Qt6 Widgets)
|
||||||
|
|
||||||
|
You are Codex. You will implement OrbitHub entirely in C++ using Qt6 Widgets.
|
||||||
|
|
||||||
|
The previous Python/Shiboken implementation is abandoned.
|
||||||
|
|
||||||
|
## Rules
|
||||||
|
|
||||||
|
- Use modern CMake
|
||||||
|
- Use Qt6 Widgets only
|
||||||
|
- Use C++17 or newer
|
||||||
|
- Never block the GUI thread
|
||||||
|
- Use Git for checkpointing
|
||||||
|
- Maintain docs/PROGRESS.md
|
||||||
|
|
||||||
|
## Required Git Workflow
|
||||||
|
|
||||||
|
Create milestone branches:
|
||||||
|
- milestone-0-restart-cpp
|
||||||
|
- milestone-1-storage
|
||||||
|
|
||||||
|
Make small logical commits.
|
||||||
|
|
||||||
|
Tag milestone completions:
|
||||||
|
- v0-m0-done
|
||||||
|
- v0-m1-done
|
||||||
|
|
||||||
|
## Milestone 0 Deliverable
|
||||||
|
|
||||||
|
Implement:
|
||||||
|
- ProfilesWindow (QMainWindow)
|
||||||
|
- SessionWindow (QMainWindow)
|
||||||
|
- QTabWidget hosting placeholder QWidget
|
||||||
|
- main.cpp wiring
|
||||||
|
|
||||||
|
Stop after Milestone 0 is complete and tagged.
|
||||||
10
docs/OrbitHub_Master_Codex_Block_CPP_QtWidgets.md
Normal file
10
docs/OrbitHub_Master_Codex_Block_CPP_QtWidgets.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
You are Codex and you will do ALL implementation work for OrbitHub.
|
||||||
|
|
||||||
|
1) Read docs/OrbitHub_v0_Spec_CPP_QtWidgets.md
|
||||||
|
2) Read docs/OrbitHub_Codex_Build_Prompt_CPP_QtWidgets.md
|
||||||
|
|
||||||
|
Follow the Build Prompt strictly.
|
||||||
|
Use Git branches, commits, and tags.
|
||||||
|
Update docs/PROGRESS.md.
|
||||||
|
|
||||||
|
Stop after Milestone 0 and tag v0-m0-done.
|
||||||
56
docs/OrbitHub_v0_Spec_CPP_QtWidgets.md
Normal file
56
docs/OrbitHub_v0_Spec_CPP_QtWidgets.md
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# OrbitHub v0 Specification (Pure C++ / Qt6 Widgets)
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
OrbitHub is a cross-platform native desktop application for managing and launching remote sessions.
|
||||||
|
|
||||||
|
Platforms:
|
||||||
|
- Windows 11
|
||||||
|
- Linux (Mint/Ubuntu-family)
|
||||||
|
- macOS
|
||||||
|
|
||||||
|
Implementation:
|
||||||
|
- 100% C++
|
||||||
|
- Qt 6 Widgets (no Qt Quick)
|
||||||
|
- CMake build system
|
||||||
|
- MIT License
|
||||||
|
|
||||||
|
This replaces the earlier Python-based architecture.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## UX Model
|
||||||
|
|
||||||
|
OrbitHub uses a two-window model:
|
||||||
|
|
||||||
|
1) Profiles Window (single instance)
|
||||||
|
- List of saved profiles
|
||||||
|
- Search box
|
||||||
|
- New / Edit / Delete
|
||||||
|
- Double-click connects
|
||||||
|
|
||||||
|
2) Session Window(s)
|
||||||
|
- QTabWidget
|
||||||
|
- One tab per session
|
||||||
|
- Close tab destroys session
|
||||||
|
- Placeholder view widget displays:
|
||||||
|
"OrbitHub Native Surface"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Milestone 0
|
||||||
|
|
||||||
|
- Fresh C++/Qt repo scaffold
|
||||||
|
- App builds
|
||||||
|
- Profiles window launches
|
||||||
|
- Session window opens with placeholder tab
|
||||||
|
- Tag: v0-m0-done
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Milestone 1
|
||||||
|
|
||||||
|
- SQLite integration
|
||||||
|
- Profiles CRUD
|
||||||
|
- Connect loads profile name into tab
|
||||||
|
- Tag: v0-m1-done
|
||||||
Reference in New Issue
Block a user