consolidate build system into justfile
- Remove all Makefiles and mkfiles from root and submodules - All install targets now use ~/.local/ instead of /usr/ - Replace cp+chmod with install throughout - Install every file individually with explicit permissions - Add install-kde to 9P path (KDE works with both backends) - Add install-el for Emacs frontend (~/.config/emacs/ellie) - Add test targets (test-core, test-9p) - No sudo required for any operation
This commit is contained in:
parent
adea9cb627
commit
601a28d0e0
2
9p
2
9p
|
|
@ -1 +1 @@
|
|||
Subproject commit ebc82f338b165d6fa64d0c07d3819ef58e1a7df5
|
||||
Subproject commit 29b08a87ad806b2f62221b6949cfe2a1904d6af5
|
||||
150
Makefile
150
Makefile
|
|
@ -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'
|
||||
2
acme
2
acme
|
|
@ -1 +1 @@
|
|||
Subproject commit 03c3f1382c159ec1bfd3cab4d7d27610410b7f32
|
||||
Subproject commit 2c1810b604482d8feade309151c1dddadc84b0cc
|
||||
2
core
2
core
|
|
@ -1 +1 @@
|
|||
Subproject commit 519869a00360ffb8b6ff5e2e21902d84d937e271
|
||||
Subproject commit b4b0f2068d4c5f30373193811014c3a213e255e2
|
||||
2
dbus
2
dbus
|
|
@ -1 +1 @@
|
|||
Subproject commit 0f5fd23340a5afd689988a4287e7db18bc163012
|
||||
Subproject commit 8d031fa5257ffd120d4d32a329c924169c8d892a
|
||||
2
httpgw
2
httpgw
|
|
@ -1 +1 @@
|
|||
Subproject commit e88940df198a87aab0096a5930b5eab90bc90e49
|
||||
Subproject commit 35cf8ad0d922272b0b5750022c315ae346456c55
|
||||
280
justfile
280
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'
|
||||
@echo 'Individual: just core | ninep | dbus-bin | acme | httpgw | webui | kde'
|
||||
2
kde
2
kde
|
|
@ -1 +1 @@
|
|||
Subproject commit 51af575e489ef53468b761dc1954230eef11d85f
|
||||
Subproject commit d0caaa1f63735f0a4055c87b97aa310ee8b85f74
|
||||
121
mkfile
121
mkfile
|
|
@ -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'
|
||||
Loading…
Reference in New Issue