diff --git a/9p b/9p index ebc82f3..29b08a8 160000 --- a/9p +++ b/9p @@ -1 +1 @@ -Subproject commit ebc82f338b165d6fa64d0c07d3819ef58e1a7df5 +Subproject commit 29b08a87ad806b2f62221b6949cfe2a1904d6af5 diff --git a/Makefile b/Makefile deleted file mode 100644 index 3c8c8ab..0000000 --- a/Makefile +++ /dev/null @@ -1,150 +0,0 @@ -# Ollie monorepo build system -# -# Two paths: -# make (default) 9P frontend: core, 9p, acme, httpgw, webui + install -# make dbus D-Bus frontend: core, dbus (ollied), kde/*, httpgw, webui + install -# -# Build and install are separate phases. No sudo. No building during install. - -.PHONY: all dbus build-9p build-dbus install install-dbus uninstall \ - core 9p acme httpgw webui kde data scripts contrib help clean - -# === Default (9P) path === -all: build-9p install - -build-9p: core 9p acme httpgw webui - -install: data scripts contrib - cp -f prompts/SYSTEM_PROMPT-9p.md $(HOME)/.config/ollie/prompts/SYSTEM_PROMPT.md - @echo === Install complete (9P) === - -# === D-Bus path === -dbus: build-dbus install-dbus - -build-dbus: core dbus-bin kde httpgw webui - -install-dbus: data scripts contrib - cp -f prompts/SYSTEM_PROMPT-dbus.md $(HOME)/.config/ollie/prompts/SYSTEM_PROMPT.md - @echo === Install complete (D-Bus) === - -# === Individual build targets === -core: - @echo === Building ollie-core === - $(MAKE) -C core - -dbus-bin: - @echo === Building ollie-dbus (ollied) === - $(MAKE) -C dbus - -9p: - @echo === Building ollie-9p === - $(MAKE) -C 9p - -acme: - @echo === Building ollie-acme === - $(MAKE) -C acme - -httpgw: - @echo === Building ollie-httpgw === - $(MAKE) -C httpgw - -webui: - @echo === Building ollie-webui === - cd webui && npm run build - -kde: - @echo === Building kde tools === - $(MAKE) -C kde - -# === Install targets (no building!) === -data: - @echo === Installing data === - mkdir -p $(HOME)/.config/ollie/agents - mkdir -p $(HOME)/.config/ollie/sandbox - mkdir -p $(HOME)/.config/ollie/skills - mkdir -p $(HOME)/.config/ollie/tools - rm -rf $(HOME)/.config/ollie/prompts - mkdir -p $(HOME)/.config/ollie/prompts - cp -rf agents/* $(HOME)/.config/ollie/agents - cp -rf prompts/* $(HOME)/.config/ollie/prompts - cp -rf sandbox/* $(HOME)/.config/ollie/sandbox - cp -rf skills/* $(HOME)/.config/ollie/skills - cp -rf tools/_lib $(HOME)/.config/ollie/tools/_lib - cp -rf tools/* $(HOME)/.config/ollie/tools - cp -rf tools/cascade $(HOME)/.config/ollie/tools/cascade - cp doc/help.md $(HOME)/.config/ollie/help.md - -scripts: - @echo === Installing scripts === - mkdir -p $(HOME)/.config/ollie/scripts/s $(HOME)/.config/ollie/scripts/u $(HOME)/.config/ollie/scripts/x - cp -f scripts/s/sh $(HOME)/.config/ollie/scripts/s/sh - cp -f scripts/s/ls $(HOME)/.config/ollie/scripts/s/ls - cp -f scripts/s/kill $(HOME)/.config/ollie/scripts/s/kill - cp -f scripts/s/b $(HOME)/.config/ollie/scripts/s/b - cp -f scripts/s/bfg $(HOME)/.config/ollie/scripts/s/bfg - cp -f scripts/s/bbg $(HOME)/.config/ollie/scripts/s/bbg - cp -f scripts/s/cleanup $(HOME)/.config/ollie/scripts/s/cleanup - cp -f scripts/u/optimize $(HOME)/.config/ollie/scripts/u/optimize - cp -f scripts/u/complete $(HOME)/.config/ollie/scripts/u/complete - cp -f scripts/u/cascade $(HOME)/.config/ollie/scripts/u/cascade - cp -f scripts/x/elevate $(HOME)/.config/ollie/scripts/x/elevate - cp -f scripts/x/elevate-adapter-superpowerd $(HOME)/.config/ollie/scripts/x/elevate-adapter-superpowerd - cp -f scripts/x/elevate-adapter-start $(HOME)/.config/ollie/scripts/x/elevate-adapter-start - cp -f scripts/x/bd $(HOME)/.config/ollie/scripts/x/bd - cp -f scripts/x/prime $(HOME)/.config/ollie/scripts/x/prime - cp -f scripts/x/freeloader $(HOME)/.config/ollie/scripts/x/freeloader - chmod 755 \ - $(HOME)/.config/ollie/scripts/s/b \ - $(HOME)/.config/ollie/scripts/s/bfg \ - $(HOME)/.config/ollie/scripts/s/bbg \ - $(HOME)/.config/ollie/scripts/s/cleanup \ - $(HOME)/.config/ollie/scripts/u/optimize \ - $(HOME)/.config/ollie/scripts/u/complete \ - $(HOME)/.config/ollie/scripts/u/cascade \ - $(HOME)/.config/ollie/scripts/x/elevate \ - $(HOME)/.config/ollie/scripts/x/elevate-adapter-superpowerd \ - $(HOME)/.config/ollie/scripts/x/elevate-adapter-start \ - $(HOME)/.config/ollie/scripts/x/bd \ - $(HOME)/.config/ollie/scripts/x/prime \ - $(HOME)/.config/ollie/scripts/x/freeloader - -contrib: - @echo === Installing contrib scripts === - cp -f contrib/ollie-remount $(HOME)/bin/ollie-remount - chmod 755 $(HOME)/bin/ollie-remount - -uninstall: - @echo === Uninstalling ollie === - rm -f $(HOME)/bin/olliesrv $(HOME)/bin/ollie-9p-mount - rm -f $(HOME)/bin/ollie-httpgw - rm -f $(HOME)/bin/Ollie $(HOME)/bin/Kmpl $(HOME)/bin/Oi - rm -f $(HOME)/bin/ollie-remount $(HOME)/bin/ollie-watchdog - rm -rf $(HOME)/.config/ollie - $(MAKE) -C dbus uninstall 2>/dev/null || true - $(MAKE) -C kde uninstall 2>/dev/null || true - @echo === Uninstall complete === - -clean: - $(MAKE) -C core clean 2>/dev/null || true - $(MAKE) -C 9p clean 2>/dev/null || true - $(MAKE) -C dbus clean 2>/dev/null || true - $(MAKE) -C acme clean 2>/dev/null || true - $(MAKE) -C httpgw clean 2>/dev/null || true - $(MAKE) -C kde clean 2>/dev/null || true - -help: - @echo 'Ollie monorepo build targets:' - @echo ' all - Build 9P path + install (default)' - @echo ' dbus - Build D-Bus path + install' - @echo ' build-9p - Build only (9P path): core, 9p, acme, httpgw, webui' - @echo ' build-dbus - Build only (D-Bus path): core, ollied, kde, httpgw, webui' - @echo ' install - Install data/scripts/contrib (9P prompt)' - @echo ' install-dbus - Install data/scripts/contrib (D-Bus prompt)' - @echo ' data - Install agents, prompts, skills, tools to ~/.config/ollie/' - @echo ' scripts - Install shell scripts to ~/.config/ollie/scripts/' - @echo ' contrib - Install contrib scripts to ~/bin/' - @echo ' uninstall - Remove all installed files' - @echo ' clean - Clean all build artifacts' - @echo '' - @echo 'Submodules must be initialized first:' - @echo ' git submodule update --init --recursive' \ No newline at end of file diff --git a/acme b/acme index 03c3f13..2c1810b 160000 --- a/acme +++ b/acme @@ -1 +1 @@ -Subproject commit 03c3f1382c159ec1bfd3cab4d7d27610410b7f32 +Subproject commit 2c1810b604482d8feade309151c1dddadc84b0cc diff --git a/core b/core index 519869a..b4b0f20 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 519869a00360ffb8b6ff5e2e21902d84d937e271 +Subproject commit b4b0f2068d4c5f30373193811014c3a213e255e2 diff --git a/dbus b/dbus index 0f5fd23..8d031fa 160000 --- a/dbus +++ b/dbus @@ -1 +1 @@ -Subproject commit 0f5fd23340a5afd689988a4287e7db18bc163012 +Subproject commit 8d031fa5257ffd120d4d32a329c924169c8d892a diff --git a/httpgw b/httpgw index e88940d..35cf8ad 160000 --- a/httpgw +++ b/httpgw @@ -1 +1 @@ -Subproject commit e88940df198a87aab0096a5930b5eab90bc90e49 +Subproject commit 35cf8ad0d922272b0b5750022c315ae346456c55 diff --git a/justfile b/justfile index be95793..04cb1a2 100644 --- a/justfile +++ b/justfile @@ -20,7 +20,7 @@ dbus: build-dbus install-dbus # === Build targets === -build-9p: core ninep acme httpgw webui +build-9p: core ninep acme httpgw webui kde build-dbus: core dbus-bin kde httpgw webui @@ -40,9 +40,9 @@ dbus-bin: acme: @echo === Building ollie-acme === cd acme && go build -o {{bin}}/Ollie . - cp acme/scripts/Kmpl {{bin}}/Kmpl - cp acme/scripts/Oi {{bin}}/Oi - chmod 755 {{bin}}/Kmpl {{bin}}/Oi + install -m755 acme/scripts/Kmpl {{bin}}/Kmpl + install -m755 acme/scripts/Oi {{bin}}/Oi + install -m755 acme/scripts/Theo {{bin}}/Theo httpgw: @echo === Building ollie-httpgw === @@ -59,64 +59,202 @@ kde: # === Install targets === -install-9p: install-data install-scripts install-contrib - cp -f prompts/SYSTEM_PROMPT-9p.md {{cfg}}/prompts/SYSTEM_PROMPT.md +install-9p: install-data install-scripts install-contrib install-kde install-el + install -m644 prompts/SYSTEM_PROMPT-9p.md {{cfg}}/prompts/SYSTEM_PROMPT.md + mkdir -p ~/.config/autostart + install -m644 9p/org.ollie.olliesrv.desktop ~/.config/autostart/ @echo === Install complete \(9P\) === -install-dbus: install-data install-scripts install-contrib - cp -f prompts/SYSTEM_PROMPT-dbus.md {{cfg}}/prompts/SYSTEM_PROMPT.md +install-dbus: install-data install-scripts install-contrib install-dbus-bin install-kde + install -m644 prompts/SYSTEM_PROMPT-dbus.md {{cfg}}/prompts/SYSTEM_PROMPT.md @echo === Install complete \(D-Bus\) === +install-dbus-bin: + @echo === Installing ollied === + mkdir -p ~/.local/bin + install -m755 dbus/ollied ~/.local/bin/ + mkdir -p ~/.config/autostart + install -m644 dbus/org.ollie.SessionManager.desktop ~/.config/autostart/ + +install-kde: + @echo === Installing ollie-kde \(KF6\) === + mkdir -p ~/.local/bin + install -m755 kde/build-cmake/ollie-tray ~/.local/bin/ + install -m755 kde/build-cmake/ollie-gui ~/.local/bin/ + # Desktop file and icon + mkdir -p ~/.local/share/applications + install -m644 kde/gui/org.ollie.gui.desktop ~/.local/share/applications/ + mkdir -p ~/.local/share/icons/hicolor/scalable/apps + install -m644 kde/gui/ollie.svg ~/.local/share/icons/hicolor/scalable/apps/ollie.svg + # KRunner plugin + mkdir -p ~/.local/lib/qt6/plugins/kf6/krunner + install -m755 kde/build-cmake/lib/kf6/krunner/krunner_ollie.so \ + ~/.local/lib/qt6/plugins/kf6/krunner/ + # Kate plugin + mkdir -p ~/.local/lib/qt6/plugins/kf6/ktexteditor + install -m755 kde/build-cmake/lib/ktexteditor/ollie_kate.so \ + ~/.local/lib/qt6/plugins/kf6/ktexteditor/ + # Plasmoid QML plugin library + metadata + mkdir -p ~/.local/lib/qt6/qml/org/ollie/private + install -m755 kde/build-cmake/org/ollie/private/ollie-plasmoid-pluginplugin.so \ + ~/.local/lib/qt6/qml/org/ollie/private/libollie-plasmoid-pluginplugin.so + install -m644 kde/build-cmake/org/ollie/private/ollie-plasmoid-plugin.qmltypes \ + ~/.local/lib/qt6/qml/org/ollie/private/ + install -m755 kde/build-cmake/lib/libollie-plasmoid-plugin.so ~/.local/lib/ + printf 'module org.ollie.private\nplugin ollie-plasmoid-pluginplugin\ntypeinfo ollie-plasmoid-plugin.qmltypes\ndepends QtQuick\n' | \ + tee ~/.local/lib/qt6/qml/org/ollie/private/qmldir > /dev/null + # Plasmoid package (user-local) + kpackagetool6 -t Plasma/Applet -u kde/plasmoid/ 2>/dev/null || \ + kpackagetool6 -t Plasma/Applet -i kde/plasmoid/ + # Dolphin service menus + helper scripts + mkdir -p ~/.local/share/kio/servicemenus + rm -f ~/.local/share/kio/servicemenus/ollie-actions.desktop + install -m755 kde/dolphin/ollie-actions.desktop ~/.local/share/kio/servicemenus/ + install -m755 kde/dolphin/ollie-ask ~/.local/bin/ + install -m755 kde/dolphin/ollie-session-here ~/.local/bin/ + # Finalize + kquitapp6 krunner 2>/dev/null; true + @echo === KDE install complete === + @echo 'NOTE: Ensure the following are in your environment:' + @echo ' export QT_PLUGIN_PATH=~/.local/lib/qt6/plugins${QT_PLUGIN_PATH:+:$QT_PLUGIN_PATH}' + @echo ' export QML2_IMPORT_PATH=~/.local/lib/qt6/qml${QML2_IMPORT_PATH:+:$QML2_IMPORT_PATH}' + @echo ' export LD_LIBRARY_PATH=~/.local/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}' + +install-el: + @echo === Installing ellie.el === + mkdir -p ~/.config/emacs/ellie + install -m644 el/ellie.el ~/.config/emacs/ellie/ellie.el + install-data: @echo === Installing data === - mkdir -p {{cfg}}/agents {{cfg}}/sandbox {{cfg}}/prompts {{cfg}}/skills {{cfg}}/tools - cp -rf agents/* {{cfg}}/agents/ - cp -rf prompts/* {{cfg}}/prompts/ - cp -rf sandbox/* {{cfg}}/sandbox/ - cp -rf skills/* {{cfg}}/skills/ - cp -rf tools/* {{cfg}}/tools/ - cp doc/help.md {{cfg}}/help.md + # Agents + mkdir -p {{cfg}}/agents + install -m644 agents/copilot.json {{cfg}}/agents/copilot.json + install -m644 agents/default.json {{cfg}}/agents/default.json + install -m644 agents/explorer.json {{cfg}}/agents/explorer.json + install -m644 agents/librarian.json {{cfg}}/agents/librarian.json + install -m644 agents/partner.json {{cfg}}/agents/partner.json + install -m644 agents/README.md {{cfg}}/agents/README.md + install -m644 agents/taskmanager.json {{cfg}}/agents/taskmanager.json + install -m644 agents/theo.json {{cfg}}/agents/theo.json + # Prompts + mkdir -p {{cfg}}/prompts + install -m644 prompts/agent-coding.md {{cfg}}/prompts/agent-coding.md + install -m644 prompts/agent-copilot.md {{cfg}}/prompts/agent-copilot.md + install -m644 prompts/agent-explorer.md {{cfg}}/prompts/agent-explorer.md + install -m644 prompts/agent-librarian.md {{cfg}}/prompts/agent-librarian.md + install -m644 prompts/agent-partner.md {{cfg}}/prompts/agent-partner.md + install -m644 prompts/agent-taskmanager.md {{cfg}}/prompts/agent-taskmanager.md + install -m644 prompts/agent-theo.md {{cfg}}/prompts/agent-theo.md + install -m644 prompts/SYSTEM_PROMPT-9p.md {{cfg}}/prompts/SYSTEM_PROMPT-9p.md + install -m644 prompts/SYSTEM_PROMPT-dbus.md {{cfg}}/prompts/SYSTEM_PROMPT-dbus.md + install -m644 prompts/SYSTEM_PROMPT_DEVSTRAL-9p.md {{cfg}}/prompts/SYSTEM_PROMPT_DEVSTRAL-9p.md + install -m644 prompts/SYSTEM_PROMPT_QWEN-9p.md {{cfg}}/prompts/SYSTEM_PROMPT_QWEN-9p.md + install -m644 prompts/tools-elevate.md {{cfg}}/prompts/tools-elevate.md + install -m644 prompts/tools-file.md {{cfg}}/prompts/tools-file.md + install -m644 prompts/tools-image.md {{cfg}}/prompts/tools-image.md + install -m644 prompts/tools-lsp.md {{cfg}}/prompts/tools-lsp.md + install -m644 prompts/tools-memory.md {{cfg}}/prompts/tools-memory.md + install -m644 prompts/tools-process.md {{cfg}}/prompts/tools-process.md + install -m644 prompts/tools-reasoning.md {{cfg}}/prompts/tools-reasoning.md + install -m644 prompts/tools-subagent.md {{cfg}}/prompts/tools-subagent.md + # Sandbox + mkdir -p {{cfg}}/sandbox + install -m644 sandbox/default.yaml {{cfg}}/sandbox/default.yaml + install -m644 sandbox/restricted.yaml {{cfg}}/sandbox/restricted.yaml + # Skills + mkdir -p {{cfg}}/skills/acme-api {{cfg}}/skills/agent-kb {{cfg}}/skills/denote \ + {{cfg}}/skills/duckduckgo-search {{cfg}}/skills/github-cli {{cfg}}/skills/rc-shell \ + {{cfg}}/skills/web-dev-browser-screencapture {{cfg}}/skills/write-skills + install -m644 skills/LICENSE.md {{cfg}}/skills/LICENSE.md + install -m644 skills/README.md {{cfg}}/skills/README.md + install -m644 skills/acme-api/SKILL.md {{cfg}}/skills/acme-api/SKILL.md + install -m644 skills/agent-kb/SKILL.md {{cfg}}/skills/agent-kb/SKILL.md + install -m644 skills/denote/SKILL.md {{cfg}}/skills/denote/SKILL.md + install -m644 skills/duckduckgo-search/SKILL.md {{cfg}}/skills/duckduckgo-search/SKILL.md + install -m644 skills/github-cli/SKILL.md {{cfg}}/skills/github-cli/SKILL.md + install -m644 skills/rc-shell/SKILL.md {{cfg}}/skills/rc-shell/SKILL.md + install -m644 skills/web-dev-browser-screencapture/SKILL.md {{cfg}}/skills/web-dev-browser-screencapture/SKILL.md + install -m644 skills/write-skills/SKILL.md {{cfg}}/skills/write-skills/SKILL.md + # Tools (executables) + mkdir -p {{cfg}}/tools/_lib/lsp/adapters + install -m755 tools/browser_screencap {{cfg}}/tools/browser_screencap + install -m755 tools/denote_view {{cfg}}/tools/denote_view + install -m755 tools/env {{cfg}}/tools/env + install -m755 tools/file_edit {{cfg}}/tools/file_edit + install -m755 tools/file_glob {{cfg}}/tools/file_glob + install -m755 tools/file_grep {{cfg}}/tools/file_grep + install -m755 tools/file_read {{cfg}}/tools/file_read + install -m755 tools/file_write {{cfg}}/tools/file_write + install -m755 tools/grep {{cfg}}/tools/grep + install -m755 tools/gui_accessibility {{cfg}}/tools/gui_accessibility + install -m755 tools/gui_activities {{cfg}}/tools/gui_activities + install -m755 tools/gui_apps {{cfg}}/tools/gui_apps + install -m755 tools/gui_brightness {{cfg}}/tools/gui_brightness + install -m755 tools/gui_clipboard {{cfg}}/tools/gui_clipboard + install -m755 tools/gui_files {{cfg}}/tools/gui_files + install -m755 tools/gui_input {{cfg}}/tools/gui_input + install -m755 tools/gui_media {{cfg}}/tools/gui_media + install -m755 tools/gui_notify {{cfg}}/tools/gui_notify + install -m755 tools/gui_screenshot {{cfg}}/tools/gui_screenshot + install -m755 tools/gui_shortcuts {{cfg}}/tools/gui_shortcuts + install -m755 tools/gui_windows {{cfg}}/tools/gui_windows + install -m755 tools/image_read {{cfg}}/tools/image_read + install -m755 tools/lsp_completion {{cfg}}/tools/lsp_completion + install -m755 tools/lsp_definition {{cfg}}/tools/lsp_definition + install -m755 tools/lsp_diagnostics {{cfg}}/tools/lsp_diagnostics + install -m755 tools/lsp_hover {{cfg}}/tools/lsp_hover + install -m755 tools/lsp_references {{cfg}}/tools/lsp_references + install -m755 tools/lsp_rename {{cfg}}/tools/lsp_rename + install -m755 tools/lsp_symbols {{cfg}}/tools/lsp_symbols + install -m755 tools/memory_recall {{cfg}}/tools/memory_recall + install -m755 tools/memory_remember {{cfg}}/tools/memory_remember + install -m755 tools/process_dismiss {{cfg}}/tools/process_dismiss + install -m755 tools/process_list {{cfg}}/tools/process_list + install -m755 tools/process_output {{cfg}}/tools/process_output + install -m755 tools/process_signal {{cfg}}/tools/process_signal + install -m755 tools/reasoning_think {{cfg}}/tools/reasoning_think + install -m755 tools/route {{cfg}}/tools/route + install -m755 tools/subagent_generate {{cfg}}/tools/subagent_generate + install -m755 tools/subagent_spawn {{cfg}}/tools/subagent_spawn + # Tools (library modules) + install -m644 tools/_lib/__init__.py {{cfg}}/tools/_lib/__init__.py + install -m644 tools/_lib/lsp/__init__.py {{cfg}}/tools/_lib/lsp/__init__.py + install -m644 tools/_lib/lsp/bridge.py {{cfg}}/tools/_lib/lsp/bridge.py + install -m644 tools/_lib/lsp/client.py {{cfg}}/tools/_lib/lsp/client.py + install -m644 tools/_lib/lsp/workspace.py {{cfg}}/tools/_lib/lsp/workspace.py + install -m644 tools/_lib/lsp/adapters/__init__.py {{cfg}}/tools/_lib/lsp/adapters/__init__.py + install -m644 tools/_lib/lsp/adapters/clangd.py {{cfg}}/tools/_lib/lsp/adapters/clangd.py + install -m644 tools/_lib/lsp/adapters/gopls.py {{cfg}}/tools/_lib/lsp/adapters/gopls.py + install -m644 tools/_lib/lsp/adapters/intelephense.py {{cfg}}/tools/_lib/lsp/adapters/intelephense.py + # Help + install -m644 doc/help.md {{cfg}}/help.md install-scripts: @echo === Installing scripts === mkdir -p {{cfg}}/scripts/s {{cfg}}/scripts/u {{cfg}}/scripts/x - cp -f scripts/s/sh {{cfg}}/scripts/s/sh - cp -f scripts/s/ls {{cfg}}/scripts/s/ls - cp -f scripts/s/kill {{cfg}}/scripts/s/kill - cp -f scripts/s/b {{cfg}}/scripts/s/b - cp -f scripts/s/bfg {{cfg}}/scripts/s/bfg - cp -f scripts/s/bbg {{cfg}}/scripts/s/bbg - cp -f scripts/s/cleanup {{cfg}}/scripts/s/cleanup - cp -f scripts/u/optimize {{cfg}}/scripts/u/optimize - cp -f scripts/u/complete {{cfg}}/scripts/u/complete - cp -f scripts/u/cascade {{cfg}}/scripts/u/cascade - cp -f scripts/x/elevate {{cfg}}/scripts/x/elevate - cp -f scripts/x/elevate-adapter-superpowerd {{cfg}}/scripts/x/elevate-adapter-superpowerd - cp -f scripts/x/elevate-adapter-start {{cfg}}/scripts/x/elevate-adapter-start - cp -f scripts/x/bd {{cfg}}/scripts/x/bd - cp -f scripts/x/prime {{cfg}}/scripts/x/prime - cp -f scripts/x/freeloader {{cfg}}/scripts/x/freeloader - chmod 755 \ - {{cfg}}/scripts/s/b \ - {{cfg}}/scripts/s/bfg \ - {{cfg}}/scripts/s/bbg \ - {{cfg}}/scripts/s/cleanup \ - {{cfg}}/scripts/u/optimize \ - {{cfg}}/scripts/u/complete \ - {{cfg}}/scripts/u/cascade \ - {{cfg}}/scripts/x/elevate \ - {{cfg}}/scripts/x/elevate-adapter-superpowerd \ - {{cfg}}/scripts/x/elevate-adapter-start \ - {{cfg}}/scripts/x/bd \ - {{cfg}}/scripts/x/prime \ - {{cfg}}/scripts/x/freeloader + install -m755 scripts/s/sh {{cfg}}/scripts/s/sh + install -m755 scripts/s/ls {{cfg}}/scripts/s/ls + install -m755 scripts/s/kill {{cfg}}/scripts/s/kill + install -m755 scripts/s/b {{cfg}}/scripts/s/b + install -m755 scripts/s/bfg {{cfg}}/scripts/s/bfg + install -m755 scripts/s/bbg {{cfg}}/scripts/s/bbg + install -m755 scripts/s/cleanup {{cfg}}/scripts/s/cleanup + install -m755 scripts/u/optimize {{cfg}}/scripts/u/optimize + install -m755 scripts/u/complete {{cfg}}/scripts/u/complete + install -m755 scripts/u/cascade {{cfg}}/scripts/u/cascade + install -m755 scripts/x/elevate {{cfg}}/scripts/x/elevate + install -m755 scripts/x/elevate-adapter-superpowerd {{cfg}}/scripts/x/elevate-adapter-superpowerd + install -m755 scripts/x/elevate-adapter-start {{cfg}}/scripts/x/elevate-adapter-start + install -m755 scripts/x/bd {{cfg}}/scripts/x/bd + install -m755 scripts/x/prime {{cfg}}/scripts/x/prime + install -m755 scripts/x/freeloader {{cfg}}/scripts/x/freeloader install-contrib: @echo === Installing contrib scripts === mkdir -p {{bin}} - cp -f contrib/ollie-remount {{bin}}/ollie-remount - cp -f scripts/s/ollie-watchdog {{bin}}/ollie-watchdog - chmod 755 {{bin}}/ollie-remount {{bin}}/ollie-watchdog + install -m755 contrib/ollie-remount {{bin}}/ollie-remount + install -m755 scripts/s/ollie-watchdog {{bin}}/ollie-watchdog # === Uninstall === @@ -124,22 +262,51 @@ uninstall: @echo === Uninstalling ollie === rm -f {{bin}}/olliesrv {{bin}}/ollie-9p-mount rm -f {{bin}}/ollie-httpgw - rm -f {{bin}}/Ollie {{bin}}/Kmpl {{bin}}/Oi + rm -f {{bin}}/Ollie {{bin}}/Kmpl {{bin}}/Oi {{bin}}/Theo rm -f {{bin}}/ollie-remount {{bin}}/ollie-watchdog rm -rf {{cfg}} - cd dbus && make uninstall 2>/dev/null || true - cd kde && make uninstall 2>/dev/null || true + rm -f ~/.config/autostart/org.ollie.olliesrv.desktop + # D-Bus daemon + pkill -u "$(id -u)" -x ollied 2>/dev/null; true + rm -f ~/.local/bin/ollied + rm -f ~/.config/autostart/org.ollie.SessionManager.desktop + # KDE + rm -f ~/.local/bin/ollie-tray ~/.local/bin/ollie-gui + rm -f ~/.local/bin/ollie-ask ~/.local/bin/ollie-session-here + rm -f ~/.local/share/applications/org.ollie.gui.desktop + rm -f ~/.local/share/icons/hicolor/scalable/apps/ollie.svg + rm -f ~/.local/lib/libollie-plasmoid-plugin.so + rm -f ~/.local/lib/qt6/plugins/kf6/krunner/krunner_ollie.so + rm -f ~/.local/lib/qt6/plugins/kf6/ktexteditor/ollie_kate.so + rm -rf ~/.local/lib/qt6/qml/org/ollie + kpackagetool6 -t Plasma/Applet -r org.ollie.plasmoid 2>/dev/null; true + rm -f ~/.local/share/kio/servicemenus/ollie-actions.desktop + kquitapp6 krunner 2>/dev/null; true + # Emacs + rm -rf ~/.config/emacs/ellie @echo === Uninstall complete === +# === Test targets === + +test: test-core test-9p + +test-core: + @echo === Testing ollie-core === + cd core && go test ./... + +test-9p: + @echo === Testing ollie-9p === + cd 9p && go test ./... + # === Clean === clean: cd core && go clean ./... 2>/dev/null || true rm -f {{bin}}/olliesrv {{bin}}/ollie-9p-mount rm -f {{bin}}/ollie-httpgw - rm -f {{bin}}/Ollie {{bin}}/Kmpl {{bin}}/Oi - cd dbus && rm -f ollied 2>/dev/null || true - cd kde && rm -rf build-cmake 2>/dev/null || true + rm -f {{bin}}/Ollie {{bin}}/Kmpl {{bin}}/Oi {{bin}}/Theo + rm -f dbus/ollied + rm -rf kde/build-cmake # === Help === @@ -151,7 +318,10 @@ help: @echo ' just build-dbus Build only (D-Bus): core, ollied, kde, httpgw, webui' @echo ' just install-9p Install with 9P prompt' @echo ' just install-dbus Install with D-Bus prompt' + @echo ' just test Run all tests (core + 9p)' + @echo ' just test-core Run core tests' + @echo ' just test-9p Run 9p tests' @echo ' just uninstall Remove all installed files' @echo ' just clean Clean build artifacts' @echo '' - @echo 'Individual: just core | 9p | dbus-bin | acme | httpgw | webui | kde' \ No newline at end of file + @echo 'Individual: just core | ninep | dbus-bin | acme | httpgw | webui | kde' \ No newline at end of file diff --git a/kde b/kde index 51af575..d0caaa1 160000 --- a/kde +++ b/kde @@ -1 +1 @@ -Subproject commit 51af575e489ef53468b761dc1954230eef11d85f +Subproject commit d0caaa1f63735f0a4055c87b97aa310ee8b85f74 diff --git a/mkfile b/mkfile deleted file mode 100755 index 55aa147..0000000 --- a/mkfile +++ /dev/null @@ -1,121 +0,0 @@ -# Ollie monorepo build system -# -# Two paths: -# mk (default) 9P frontend: core, 9p, acme, httpgw, webui + install -# mk dbus D-Bus frontend: core, dbus (ollied), kde/*, httpgw, webui + install -# -# Build and install are separate phases. No sudo. No building during install. - -# === Default (9P) path === -all:V: build-9p install - -build-9p:V: core 9p acme httpgw webui - -install:V: data scripts contrib - cp -f prompts/SYSTEM_PROMPT-9p.md $HOME/.config/ollie/prompts/SYSTEM_PROMPT.md - echo === Install complete \(9P\) === - -# === D-Bus path === -dbus:V: build-dbus install-dbus - -build-dbus:V: core dbus-bin kde httpgw webui - -install-dbus:V: data scripts contrib - cp -f prompts/SYSTEM_PROMPT-dbus.md $HOME/.config/ollie/prompts/SYSTEM_PROMPT.md - echo === Install complete \(D-Bus\) === - -# === Individual build targets === -core:V: - echo === Building ollie-core === - cd core && mk - -dbus-bin:V: - echo === Building ollie-dbus \(ollied\) === - cd dbus && mk - -9p:V: - echo === Building ollie-9p === - cd 9p && mk - -acme:V: - echo === Building ollie-acme === - cd acme && mk - -httpgw:V: - echo === Building ollie-httpgw === - cd httpgw && mk - -webui:V: - echo === Building ollie-webui === - cd webui && npm run build - -kde:V: - echo === Building kde tools === - cd kde && mk - -# === Install targets (no building!) === -data:V: - echo === Installing data === - mkdir -p $HOME/.config/ollie/agents - mkdir -p $HOME/.config/ollie/sandbox - mkdir -p $HOME/.config/ollie/prompts - mkdir -p $HOME/.config/ollie/skills - mkdir -p $HOME/.config/ollie/tools - cp -rf agents/* $HOME/.config/ollie/agents - cp -rf prompts/* $HOME/.config/ollie/prompts - cp -rf sandbox/* $HOME/.config/ollie/sandbox - cp -rf skills/* $HOME/.config/ollie/skills - cp -rf tools/* $HOME/.config/ollie/tools - cp doc/help.md $HOME/.config/ollie/help.md - -scripts:V: - echo === Installing scripts === - mkdir -p $HOME/.config/ollie/scripts/s $HOME/.config/ollie/scripts/u $HOME/.config/ollie/scripts/x - cp -f scripts/s/sh $HOME/.config/ollie/scripts/s/sh - cp -f scripts/s/ls $HOME/.config/ollie/scripts/s/ls - cp -f scripts/s/kill $HOME/.config/ollie/scripts/s/kill - cp -f scripts/s/b $HOME/.config/ollie/scripts/s/b - cp -f scripts/s/bfg $HOME/.config/ollie/scripts/s/bfg - cp -f scripts/s/bbg $HOME/.config/ollie/scripts/s/bbg - cp -f scripts/s/cleanup $HOME/.config/ollie/scripts/s/cleanup - cp -f scripts/u/optimize $HOME/.config/ollie/scripts/u/optimize - cp -f scripts/u/complete $HOME/.config/ollie/scripts/u/complete - cp -f scripts/u/cascade $HOME/.config/ollie/scripts/u/cascade - cp -f scripts/x/elevate $HOME/.config/ollie/scripts/x/elevate - cp -f scripts/x/elevate-adapter-superpowerd $HOME/.config/ollie/scripts/x/elevate-adapter-superpowerd - cp -f scripts/x/elevate-adapter-start $HOME/.config/ollie/scripts/x/elevate-adapter-start - cp -f scripts/x/bd $HOME/.config/ollie/scripts/x/bd - cp -f scripts/x/prime $HOME/.config/ollie/scripts/x/prime - cp -f scripts/x/freeloader $HOME/.config/ollie/scripts/x/freeloader - chmod 755 $HOME/.config/ollie/scripts/s/b $HOME/.config/ollie/scripts/s/bfg $HOME/.config/ollie/scripts/s/bbg $HOME/.config/ollie/scripts/s/cleanup $HOME/.config/ollie/scripts/u/optimize $HOME/.config/ollie/scripts/u/complete $HOME/.config/ollie/scripts/u/cascade $HOME/.config/ollie/scripts/x/elevate $HOME/.config/ollie/scripts/x/elevate-adapter-superpowerd $HOME/.config/ollie/scripts/x/elevate-adapter-start $HOME/.config/ollie/scripts/x/bd $HOME/.config/ollie/scripts/x/prime $HOME/.config/ollie/scripts/x/freeloader - -contrib:V: - echo === Installing contrib scripts === - cp -f contrib/ollie-remount $HOME/bin/ollie-remount - cp -f scripts/s/ollie-watchdog $HOME/bin/ollie-watchdog - chmod 755 $HOME/bin/ollie-remount $HOME/bin/ollie-watchdog - -uninstall:V: - echo === Uninstalling ollie === - rm -f $HOME/bin/olliesrv $HOME/bin/ollie-9p-mount - rm -f $HOME/bin/ollie-httpgw - rm -f $HOME/bin/Ollie $HOME/bin/Kmpl $HOME/bin/Oi - rm -f $HOME/bin/ollie-remount $HOME/bin/ollie-watchdog - rm -rf $HOME/.config/ollie - echo === Uninstall complete === - -help:V: - echo 'Ollie monorepo build targets:' - echo ' all - Build 9P path + install (default)' - echo ' dbus - Build D-Bus path + install' - echo ' build-9p - Build only (9P path): core, 9p, acme, httpgw, webui' - echo ' build-dbus - Build only (D-Bus path): core, ollied, kde, httpgw, webui' - echo ' install - Install data/scripts/contrib (9P prompt)' - echo ' install-dbus - Install data/scripts/contrib (D-Bus prompt)' - echo ' data - Install agents, prompts, skills, tools to ~/.config/ollie/' - echo ' scripts - Install shell scripts to ~/.config/ollie/scripts/' - echo ' contrib - Install contrib scripts to ~/bin/' - echo ' uninstall - Remove all installed files' - echo '' - echo 'Submodules must be initialized first:' - echo ' git submodule update --init --recursive' \ No newline at end of file