mudlet/.github
Mike Conley 6705cadd11
Infra: Add CMake presets for every platform, and one home for AI assistant skills (#9742)
#### Brief overview of PR changes/additions

- Adds `CMakePresets.json` with configure, build and test presets for
macOS, Linux and Windows, including sanitizer and static-analysis
variants. Each is gated on the host system, so a listing only offers
what the current machine can build.
- Consolidates the AI assistant skills into `.agents/skills/`, which
Claude Code, GitHub Copilot and Cursor all read, replacing two copies
that had drifted into contradicting each other.
- Corrects the build documentation: the Windows toolchain is CLANG64
rather than MinGW64, and the previous "no need to specify number of
jobs" advice holds only for Ninja.

#### Motivation for adding to Mudlet

The instructions presented platform-specific build advice as though it
were universal, so following them on the wrong platform produced either
an unbounded parallel build or a toolchain the setup scripts refuse to
run.

#### Other info (issues closed, discussion etc)

`windows-debug` has been exercised on Windows: `CI/setup-windows-sdk.sh`
in an MSYS2 CLANG64 shell, then configure and build both to completion
against Qt 6.11.1 and Clang 22.1.7. `cmake --list-presets` correctly
offered only `windows-debug` there.

Note that `windows-debug` is a Debug configuration, whereas
`CI/build-mudlet-for-windows.sh` builds Release, so the two are not
equivalent.

`.claude/skills` is a symlink to `.agents/skills`, following the
existing pattern used by `CLAUDE.md`, `AGENTS.md` and `.cursorrules`. On
Windows checkouts without `core.symlinks` it lands as a plain file, in
which case Copilot and Cursor still read `.agents/skills` directly.

**Test case:** `cmake --preset macos-debug && cmake --build --preset
macos-debug`, then `ctest --preset macos-debug`. `cmake --list-presets`
should offer only the current platform's presets, and a variant such as
`macos-debug-nosan` should build into `build-macos-debug-nosan/` while
leaving `build/` untouched.

---------

Signed-off-by: Michael Conley <sousesider@gmail.com>
2026-08-12 21:28:13 +02:00
..
codeql Infrastructure: disable CodeQL poorly-documented-function query (#9079) 2026-03-22 12:07:26 +01:00
ISSUE_TEMPLATE Infrastructure: New default labels and type for Github issues (#8456) 2025-10-27 18:03:46 +01:00
scripts infrastructure: fix milestone assignment, unbreak the key sequence tests (#9679) 2026-08-06 06:07:10 +02:00
workflows Infrastructure: busted specs for the last uncovered UI functions (#9775) 2026-08-11 08:08:27 +02:00
CODEOWNERS Infrastructure: update CODEOWNERS for the 1 team we have now (#7366) 2024-07-28 19:49:00 +02:00
codespell-wordlist.txt Infrastructure: Add 'nd' as an allowed word (#5616) 2021-11-09 11:07:07 +01:00
copilot-instructions.md Infrastructure: update info for LLM agents (#8245) 2025-09-23 07:06:06 +02:00
dependabot.yml Infrastructure: Ignore lcf submodule in Dependabot, remove vcpkg (#8654) 2025-12-19 18:28:09 +01:00
pr-labeler.yml Improve translation updates (#2712) 2019-07-04 16:58:49 +02:00
PULL_REQUEST_TEMPLATE.md Infrastructure: remove 'release post highlight' from pull request template (#5959) 2022-02-07 09:46:05 +01:00
repo-metadata.yml infrastructure: fix milestone assignment, unbreak the key sequence tests (#9679) 2026-08-06 06:07:10 +02:00