-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathMakefile
More file actions
152 lines (134 loc) · 4.9 KB
/
Copy pathMakefile
File metadata and controls
152 lines (134 loc) · 4.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
.PHONY: help dev build check refactor refactor-preview refactor-interactive show-turbomcp-versions
# ============================================================================
# Configuration: TurboMCP Versions
# ============================================================================
# TurboMCP is fetched from crates.io automatically
# These versions match src-tauri/Cargo.toml
TURBOMCP_VERSION ?= 3.1.5
TURBOMCP_CLIENT_VERSION ?= 3.1.5
TURBOMCP_PROTOCOL_VERSION ?= 3.1.5
TURBOMCP_TRANSPORT_VERSION ?= 3.1.5
TURBOMCP_AUTH_VERSION ?= 3.1.5
TURBOMCP_DPOP_VERSION ?= 3.1.5
# Default target
help:
@echo "TurboMCP Studio - Development Tasks"
@echo ""
@echo "Development:"
@echo " make dev - Start development server"
@echo " make build - Build project"
@echo " make check - Type check with svelte-check"
@echo ""
@echo "Refactoring:"
@echo " make refactor-list - Show available refactoring patterns"
@echo " make refactor-preview - Preview all active refactoring patterns"
@echo " make refactor-interactive - Interactive refactoring (review each change)"
@echo ""
@echo "Advanced:"
@echo " make refactor PATTERN=<pattern-name> - Run specific pattern"
# ============================================================================
# Development Targets
# ============================================================================
dev:
pnpm run dev
build:
pnpm run build
check:
pnpm run check
check-watch:
pnpm run check:watch
# ============================================================================
# Refactoring Targets
# ============================================================================
# List all available patterns
refactor-list:
@echo "Available refactoring patterns:"
@echo ""
@ls -1 .ast-grep-rules/patterns/*.yml 2>/dev/null | while read f; do \
echo " - $$(basename $$f)"; \
grep -E "^id:" $$f | head -1 | sed 's/id: //g' | sed 's/^/ /'; \
done
@echo ""
@echo "Usage: make refactor PATTERN=<pattern-name>"
# Preview all patterns (dry run, no changes)
refactor-preview:
@echo "Previewing all refactoring patterns..."
@echo ""
@for pattern in .ast-grep-rules/patterns/*.yml; do \
if [ -f "$$pattern" ]; then \
echo "=== $$(basename $$pattern) ==="; \
ast-grep scan -r "$$pattern" 2>&1 | head -10; \
echo ""; \
fi; \
done
# Interactive refactoring (shows each match, allows approval)
refactor-interactive:
@echo "Running refactoring patterns interactively..."
@echo "You will be prompted to approve each change."
@echo ""
@for pattern in .ast-grep-rules/patterns/*.yml; do \
if [ -f "$$pattern" ]; then \
echo "=== $$(basename $$pattern) ==="; \
ast-grep scan -r "$$pattern" -i || true; \
echo ""; \
fi; \
done
# Run a specific pattern
refactor:
@if [ -z "$(PATTERN)" ]; then \
echo "Error: PATTERN not specified"; \
echo "Usage: make refactor PATTERN=<pattern-name>"; \
echo ""; \
make refactor-list; \
exit 1; \
fi
@if [ ! -f ".ast-grep-rules/patterns/$(PATTERN).yml" ]; then \
echo "Error: Pattern not found: .ast-grep-rules/patterns/$(PATTERN).yml"; \
exit 1; \
fi
@echo "Running pattern: $(PATTERN)"
@echo ""
ast-grep scan -r ".ast-grep-rules/patterns/$(PATTERN).yml" -i
# ============================================================================
# TurboMCP Dependency Information
# ============================================================================
# Show current TurboMCP versions (informational only - already using crates.io)
show-turbomcp-versions:
@echo "Current TurboMCP Versions (from crates.io):"
@echo ""
@echo " • turbomcp = \"$(TURBOMCP_VERSION)\""
@echo " • turbomcp-client = \"$(TURBOMCP_CLIENT_VERSION)\""
@echo " • turbomcp-protocol = \"$(TURBOMCP_PROTOCOL_VERSION)\""
@echo " • turbomcp-transport = \"$(TURBOMCP_TRANSPORT_VERSION)\""
@echo " • turbomcp-auth = \"$(TURBOMCP_AUTH_VERSION)\""
@echo " • turbomcp-dpop = \"$(TURBOMCP_DPOP_VERSION)\""
@echo ""
@echo "All dependencies are fetched from crates.io automatically."
@echo "No local turbomcp repository needed."
# ============================================================================
# Utility Targets
# ============================================================================
# Show git diff of changes
diff:
git diff
# Undo all changes
clean:
git checkout .
@echo "All changes reverted"
# Help for refactoring
refactor-help:
@echo "Refactoring Guide"
@echo ""
@echo "Available patterns:"
@make refactor-list
@echo ""
@echo "Workflow:"
@echo " 1. make refactor-preview (preview all patterns)"
@echo " 2. make refactor-interactive (review & approve each change)"
@echo " 3. git diff (verify changes)"
@echo " 4. git add . && git commit -m \"refactor: ...\" (commit)"
@echo ""
@echo "TurboMCP versions:"
@echo " make show-turbomcp-versions (show current crates.io versions)"
@echo ""
@echo "Docs: See .ast-grep-rules/README.md for detailed pattern documentation"