This file serves as a persistent context log for AI assistants to understand the current state, recent decisions, and technical constraints of the repository.
- Focus: Building and distributing high-performance, statically linked
qbittorrent-noxbinaries. - Current Milestone: Harmonizing AI configurations and optimizing toolchain linking (LTO/mold).
- Toolchain: Using
[OWNER]/musl-cross-makewhich is dynamically linked and designed for LTO and themoldlinker. - Static Linking: Always use both
-staticand--staticto ensure all dependencies (including POSIX threads) are correctly captured. - Linker Logic:
- Build Script (
qbt-nox-static.bash) usesqbt_linker_mold=yesto handle flag generation. - Raw Toolchain requires
-fuse-ld=mold.
- Build Script (
- Mindset: "C-like" development—prioritize stability, explicit error handling, and minimal external dependencies.
- AI Config Harmonization:
- Updated
CLAUDE.md,.github/copilot-instructions.md, and created.cursorrules. - Stripped "fluffy personas" in favor of strict technical instructions.
- Synchronized OS/Arch detection logic and toolchain linking rules across all AI tools.
- Updated
- Linker Clarifications: Corrected the documentation to reflect that
goldis disabled in the toolchain and thatmoldrequires explicit activation via-fuse-ld=mold.
- I/O: Never use
echo; always useprintf '%s'orprintf '%b'. - Variables: Lowercase for script-local logic; UPPERCASE for exported ENV/Docker settings.
- Arch Mapping:
armhfisarmv7on Debian/Ubuntu butarmv6on Alpine. - OS Detection: Must
source /etc/os-releaseand checkIDorID_LIKE. - LTO Wrappers: For LTO, use
gcc-ar,gcc-nm, andgcc-ranlibto ensure symbol table integrity. - Privacy: Use
[OWNER]/[REPO]placeholders in documentation to prevent leaking specific paths.
- Monitor CI performance with LTO and mold enabled.
- Verify
qi.bashinstaller behavior on all supported architectures.