New comprehension tools: - sx_find_across: search pattern across all .sx files in a directory - sx_comp_list: list all definitions (defcomp/defisland/defmacro/defpage/define) - sx_comp_usage: find all uses of a component across files - sx_diff: structural diff between two .sx files (ADDED/REMOVED/CHANGED) - sx_eval: REPL — evaluate SX expressions in the MCP server env Smart read_tree enhancements: - Auto-summarise large files (>200 lines) - focus param: expand only matching subtrees, collapse rest - max_depth/max_lines/offset for depth limiting and pagination Smart editing tools: - sx_rename_symbol: rename all occurrences of a symbol in a file - sx_replace_by_pattern: find+replace first/all pattern matches - sx_insert_near: insert before/after a pattern match (top-level) - sx_rename_across: rename symbol across all .sx files (with dry_run) - sx_write_file: create .sx files with parse validation Development tools: - sx_pretty_print: reformat .sx files with indentation (also used by all edit tools) - sx_build: build JS bundle or OCaml binary - sx_test: run test suites with structured pass/fail results - sx_format_check: lint for empty bindings, missing bodies, duplicate params - sx_macroexpand: evaluate expressions with a file's macro definitions loaded Also: updated hook to block Write on .sx files, added custom explore agent. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
8 lines
518 B
Bash
Executable File
8 lines
518 B
Bash
Executable File
#!/bin/bash
|
|
# Block Edit/Read/Write on .sx/.sxc files — force use of sx-tree MCP tools
|
|
FILE=$(jq -r '.tool_input.file_path // .tool_input.file // empty' 2>/dev/null)
|
|
if [ -n "$FILE" ] && echo "$FILE" | grep -qE '\.(sx|sxc)$'; then
|
|
printf '{"decision":"block","reason":"Use sx-tree MCP tools instead of Edit/Read/Write on .sx/.sxc files. For new files use sx_write_file, for reading use sx_read_tree/sx_summarise, for editing use sx_replace_node/sx_rename_symbol/etc. See CLAUDE.md for the protocol."}'
|
|
exit 2
|
|
fi
|