Commit d8f358154c11

Vincent Demeester <vincent@sbr.pm>
2026-02-09 10:10:53
feat(pi): add automated npm install for agent extensions
- Added pi-extensions-install target to Makefile - Automatically runs npm install in all extension directories - Integrated into 'make all' target - Added .gitignore to ignore node_modules and package-lock.json - Added help target to show available make commands
1 parent 7d9baf0
Changed files (3)
dots
pi
agent
extensions
dots/pi/agent/extensions/ai-storage/package-lock.json
@@ -1,11 +1,11 @@
 {
-  "name": "session-history",
+  "name": "ai-storage",
   "version": "1.0.0",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
-      "name": "session-history",
+      "name": "ai-storage",
       "version": "1.0.0",
       "dependencies": {
         "chrono-node": "^2.9.0"
dots/pi/agent/.gitignore
@@ -0,0 +1,8 @@
+# npm dependencies
+node_modules/
+package-lock.json
+
+# Pi runtime files (managed by pi itself)
+auth.json
+settings.json
+sessions/
dots/Makefile
@@ -116,10 +116,30 @@ ai-config : ~/.config/ai/skills ~/.config/ai/path-policies.json
 	@echo "⚙️  Generating ~/.config/aichat/config.yaml with dynamic models and passage secrets"
 	@$(dotfiles)/config/aichat/genconf.py > ~/.config/aichat/config.yaml 2>/dev/null
 
-all : $(all)
+all : $(all) pi-extensions-install
 	@echo "✅ All dotfiles installed!"
 
-.PHONY: all $(all)
+help:
+	@echo "Available targets:"
+	@echo "  all                    - Install all dotfiles and pi extensions (default)"
+	@echo "  pi-extensions-install  - Install npm dependencies for pi agent extensions"
+	@echo ""
+	@echo "Individual components:"
+	@$(foreach target,$(all),echo "  $(target)";)
+
+# Install npm dependencies for pi agent extensions
+pi-extensions-install:
+	@echo "�� Installing npm dependencies for pi agent extensions..."
+	@for ext in $(dotfiles)/pi/agent/extensions/*/package.json; do \
+		if [ -f "$$ext" ]; then \
+			dir=$$(dirname $$ext); \
+			echo "  �� Installing dependencies in $$(basename $$dir)..."; \
+			(cd $$dir && npm install --silent) || exit 1; \
+		fi \
+	done
+	@echo "✅ Pi agent extensions dependencies installed!"
+
+.PHONY: all $(all) pi-extensions-install help
 .DEFAULT_GOAL := all