docs: write GETTING_STARTED.md — clone, build, and run workflow #88

Closed
opened 2026-02-09 13:45:21 +00:00 by forbes · 1 comment
Owner

Tier 1 — Entry Point

File: docs/GETTING_STARTED.md
Priority: Read second — gets a developer from zero to a running application

What this document should cover

  1. Prerequisites — git, pixi (conda-based), platform-specific deps
  2. Clone with submodules:
    git clone --recurse-submodules https://git.kindred-systems.com/kindred/create.git
    
    Six submodules: ztools, silo-mod, OndselSolver, GSL, AddonManager, googletest
  3. Pixi workflow — the primary build interface:
    • pixi run configure / configure-debug / configure-release
    • pixi run build / build-debug / build-release
    • pixi run install / install-debug / install-release
    • pixi run freecad / freecad-debug / freecad-release
    • pixi run test / test-debug / test-release
  4. CMake presetsconda-linux-debug, conda-linux-release, conda-macos-*, conda-windows-*
  5. Platform notes:
    • Linux: clang, kernel-headers, mesa, X11, libspnav
    • macOS: sed only (conda provides the rest)
    • Windows: pthreads-win32, MSVC
  6. First run experience — what happens at startup:
    • Create module bootstrap loads ztools + Silo via Init.py / InitGui.py
    • Deferred QTimer setup sequence (1.5s → 10s)
    • Default workbench: ZToolsWorkbench
  7. Verifying the build — run tests with pixi run test, check ztools and Silo load in console output
  8. Common problems — submodule not initialized, missing pixi, ccache issues

Key source files to reference

  • pixi.toml — all task definitions and dependencies
  • CMakePresets.json — platform build presets
  • CMakeLists.txt — build configuration, ccache setup
  • .gitmodules — submodule URLs
  • src/Mod/Create/Init.py — console bootstrap
  • src/Mod/Create/InitGui.py — GUI bootstrap with QTimer sequence

Acceptance criteria

  • A developer with no prior FreeCAD experience can follow the doc from clone to running application
  • All pixi tasks are listed with brief descriptions
  • Platform-specific gotchas are documented
## Tier 1 — Entry Point **File:** `docs/GETTING_STARTED.md` **Priority:** Read second — gets a developer from zero to a running application ### What this document should cover 1. **Prerequisites** — git, pixi (conda-based), platform-specific deps 2. **Clone with submodules:** ```bash git clone --recurse-submodules https://git.kindred-systems.com/kindred/create.git ``` Six submodules: ztools, silo-mod, OndselSolver, GSL, AddonManager, googletest 3. **Pixi workflow** — the primary build interface: - `pixi run configure` / `configure-debug` / `configure-release` - `pixi run build` / `build-debug` / `build-release` - `pixi run install` / `install-debug` / `install-release` - `pixi run freecad` / `freecad-debug` / `freecad-release` - `pixi run test` / `test-debug` / `test-release` 4. **CMake presets** — `conda-linux-debug`, `conda-linux-release`, `conda-macos-*`, `conda-windows-*` 5. **Platform notes:** - Linux: clang, kernel-headers, mesa, X11, libspnav - macOS: sed only (conda provides the rest) - Windows: pthreads-win32, MSVC 6. **First run experience** — what happens at startup: - Create module bootstrap loads ztools + Silo via `Init.py` / `InitGui.py` - Deferred QTimer setup sequence (1.5s → 10s) - Default workbench: ZToolsWorkbench 7. **Verifying the build** — run tests with `pixi run test`, check ztools and Silo load in console output 8. **Common problems** — submodule not initialized, missing pixi, ccache issues ### Key source files to reference - `pixi.toml` — all task definitions and dependencies - `CMakePresets.json` — platform build presets - `CMakeLists.txt` — build configuration, ccache setup - `.gitmodules` — submodule URLs - `src/Mod/Create/Init.py` — console bootstrap - `src/Mod/Create/InitGui.py` — GUI bootstrap with QTimer sequence ### Acceptance criteria - [ ] A developer with no prior FreeCAD experience can follow the doc from clone to running application - [ ] All pixi tasks are listed with brief descriptions - [ ] Platform-specific gotchas are documented
forbes added the documentation label 2026-02-09 13:45:21 +00:00
Author
Owner

Superseded by the mdBook documentation structure set up in PR #105. The content scope of this issue is now covered by the pages in docs/src/. Remaining content work is tracked in #104.

Superseded by the mdBook documentation structure set up in PR #105. The content scope of this issue is now covered by the pages in `docs/src/`. Remaining content work is tracked in #104.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/create#88