Lays out Velox Download Manager (IDM-class download manager for Ubuntu 26.04) as a monorepo ready for parallel lane development. No implementation code by design. - docs/: architecture, roadmap M0-M7, IDM-parity GUI spec, engine design, Firefox extension spec, risks/spikes, packaging - contracts/: wire-contract skeleton (JSON Schema + fixture templates) — the single synchronization point between lanes - docs/agents/: one brief per lane (PROTO, CORE, DAEMON, GUI, EXT, PKG/QA) with owned directories, build order and definition of done - CLAUDE.md: rules of engagement — lane ownership, layering, non-negotiables - CMake scaffolding with dev/tsan/release/ci presets Two environment findings shape the design: Firefox here is the Mozilla snap (native-messaging risk, so the extension carries a loopback-WebSocket fallback), and Wayland forbids passive clipboard monitoring (so clipboard capture is explicit-action-first). Co-Authored-By: Claude Opus 5 <[email protected]>
64 lines
1.8 KiB
JSON
64 lines
1.8 KiB
JSON
{
|
|
"version": 6,
|
|
"cmakeMinimumRequired": { "major": 3, "minor": 28, "patch": 0 },
|
|
"configurePresets": [
|
|
{
|
|
"name": "base",
|
|
"hidden": true,
|
|
"generator": "Ninja",
|
|
"binaryDir": "${sourceDir}/build/${presetName}",
|
|
"cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" }
|
|
},
|
|
{
|
|
"name": "dev",
|
|
"inherits": "base",
|
|
"displayName": "Debug + ASan/UBSan (default for all lanes)",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"CMAKE_CXX_FLAGS": "-fsanitize=address,undefined -fno-omit-frame-pointer -g",
|
|
"VELOX_BUILD_TESTS": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "tsan",
|
|
"inherits": "base",
|
|
"displayName": "Debug + ThreadSanitizer (required for CORE and DAEMON)",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"CMAKE_CXX_FLAGS": "-fsanitize=thread -fno-omit-frame-pointer -g",
|
|
"VELOX_BUILD_TESTS": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "release",
|
|
"inherits": "base",
|
|
"displayName": "RelWithDebInfo + LTO (benchmarks and packages)",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
|
"CMAKE_INTERPROCEDURAL_OPTIMIZATION": "ON",
|
|
"VELOX_BUILD_TESTS": "OFF"
|
|
}
|
|
},
|
|
{
|
|
"name": "ci",
|
|
"inherits": "dev",
|
|
"displayName": "CI build",
|
|
"cacheVariables": { "VELOX_BUILD_FUZZ": "ON" }
|
|
}
|
|
],
|
|
"buildPresets": [
|
|
{ "name": "dev", "configurePreset": "dev" },
|
|
{ "name": "tsan", "configurePreset": "tsan" },
|
|
{ "name": "release", "configurePreset": "release" },
|
|
{ "name": "ci", "configurePreset": "ci" }
|
|
],
|
|
"testPresets": [
|
|
{
|
|
"name": "dev",
|
|
"configurePreset": "dev",
|
|
"output": { "outputOnFailure": true },
|
|
"execution": { "noTestsAction": "error", "stopOnFailure": false }
|
|
}
|
|
]
|
|
}
|