diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..4f4927c --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.16) +project(MetalKompanion LANGUAGES CXX) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +find_package(Qt6 REQUIRED COMPONENTS Core Network DBus) +add_executable(kompanion_server + src/main.cpp +) +target_link_libraries(kompanion_server Qt6::Core Qt6::Network Qt6::DBus) +install(TARGETS kompanion_server RUNTIME DESTINATION bin) diff --git a/docs/SHARED-INFRA.md b/docs/SHARED-INFRA.md new file mode 100644 index 0000000..f75e75e --- /dev/null +++ b/docs/SHARED-INFRA.md @@ -0,0 +1,11 @@ +# Shared Infrastructure (Kompanion) + +- XDG paths: state/config/cache under `~/.local/state/kompanion`, `~/.config/kompanion`, `~/.cache/kompanion`. +- Identity: `identity.json` (DID, anchors, aspects). +- Tools: JSON-RPC `tools/list`, `tools/call`; SSE `/events`. +- Baseline tools: `journal.append`, `ledger.append`, `tmux.list/peek`, `ripgrep.search`. +- Persona Library: `profiles/*.md` (explicit, logged adoption). +- Model map: `models.yaml` (local first: Ollama). +- Policy: `capabilities.json` (Maker/Librarian/Companion), two-person rule for remote writes. +- Networking: TOR proxy by default via `ALL_PROXY=socks5h://tor:9050`; Ollama kept local. +