scaffold: project structure, wire contract, roadmap and agent briefs
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]>
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"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 }
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user