.PHONY: all daemon server dashboard clean install-dev uninstall-dev all: daemon server dashboard # Daemon binaries daemon: daemon-cli daemon-service daemon-cli: cd daemon && go build -o ../bin/ccrm ./cmd/ccrm daemon-service: cd daemon && go build -o ../bin/ccrmd ./cmd/ccrmd # Server binary server: dashboard-build cd server && go build -o ../bin/ccrm-server ./cmd/ccrm-server # Dashboard dashboard: cd dashboard && bun install dashboard-build: dashboard cd dashboard && bun run build # Development dev-daemon: cd daemon && go run ./cmd/ccrmd dev-server: cd server && go run ./cmd/ccrm-server dev-dashboard: cd dashboard && bun run dev # Clean clean: rm -rf bin/ rm -rf dashboard/dist/ rm -rf dashboard/node_modules/ # Install plugin for development via a local marketplace. # Creates a marketplace directory with a symlink to the plugin, registers it # with Claude Code, then installs the plugin through the standard flow. MARKETPLACE_DIR := $(PWD)/.ccrm-marketplace install-dev: @# Build local marketplace structure @mkdir -p $(MARKETPLACE_DIR)/plugins $(MARKETPLACE_DIR)/.claude-plugin @rm -f $(MARKETPLACE_DIR)/plugins/ccrm ln -sf $(PWD)/plugin $(MARKETPLACE_DIR)/plugins/ccrm @echo '{"name":"ccrm-dev","owner":{"name":"fmartingr"},"metadata":{"description":"Local CCRM dev marketplace","version":"0.1.0"},"plugins":[{"name":"ccrm","source":"./plugins/ccrm","description":"Claude Code Remote Control","version":"0.1.0","author":{"name":"Felipe"}}]}' > $(MARKETPLACE_DIR)/.claude-plugin/marketplace.json @echo "Local marketplace ready at $(MARKETPLACE_DIR)" @echo "" @echo "Now run:" @echo " claude plugin marketplace add $(MARKETPLACE_DIR)" @echo " claude plugin install ccrm@ccrm-dev" uninstall-dev: -claude plugin uninstall ccrm@ccrm-dev 2>/dev/null -claude plugin marketplace remove ccrm-dev 2>/dev/null @rm -rf $(MARKETPLACE_DIR) @echo "Plugin and marketplace removed."