* chore: remove wm-cursor, add local-review skill, update PR skill for EE - Remove the unused wm-cursor script and all references to it in README_WORKMUX_DEV.md and worktree-common.sh - Add /local-review skill for code review (bugs + CLAUDE.md compliance) - Add EE companion PR workflow to the /pr skill Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: add wm-ts-nav tree-sitter navigator and fix format hooks - Add wm-ts-nav: standalone tree-sitter code navigator with SQLite index for fast symbol search, definition lookup, and file outlines across Rust, TypeScript, and Svelte files (~12ms warm, ~1s cold for 482 files) - Fix format hooks: surface errors instead of swallowing with 2>/dev/null, use direct prettier path with svelte plugin, add success feedback - Add wm-ts-nav commands to settings allow list - Document wm-ts-nav usage in CLAUDE.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(wm-ts-nav): add refs command and --parent filter - refs: find usages of a symbol in code, skipping comments and strings (tree-sitter AST walk, ~46ms for 482 files vs grep's 4ms but no noise) - --parent filter on search: find all methods on a type across all files (e.g. search "%" --kind function --parent ServiceName) - Update CLAUDE.md with clearer when-to-use guidance Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(wm-ts-nav): index refs in DB with import-path resolution Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat(wm-ts-nav): add body, callers, callees commands and refs --file/--caller - body: extract a symbol's source code from disk using indexed line ranges - callers: cross-file call graph via SQL join of refs + symbols tables - callees: list all identifiers referenced within a symbol's body - refs --file: scope results to files matching a substring - refs --caller: annotate each ref with the containing function name Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(wm-ts-nav): add auto-rebuilding wrapper script The `wm-ts-nav/nav` wrapper checks if source files are newer than the binary and rebuilds automatically. Invoked via `sh wm-ts-nav/nav` to avoid needing executable permissions after clone. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: tighten CLAUDE.md nav section for actionable guidance Remove redundant question→command mapping, latency numbers, and excessive examples. Lead with "prefer wm-ts-nav over Read to save context window" and keep only the patterns that change behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: revert backend/Cargo.lock to main Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: promote wm-ts-nav in workflow, copy binary to worktrees - CLAUDE.md: integrate wm-ts-nav into Workflow step 1 and Core Principles so agents use outline/body before full file reads - workmux: copy built binary via files.copy - worktree-common.sh: copy binary in wm_copy_dependencies for webmux Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(wm-ts-nav): fix double indexing, add TSX grammar, remove needless clone - Reuse index stats from the pre-query update instead of indexing twice on the Index command - Add Lang::Tsx variant so .tsx/.jsx files use LANGUAGE_TSX instead of LANGUAGE_TYPESCRIPT (Svelte stays on TS since script blocks are pure TS) - Remove source.clone() for non-Svelte files — move directly instead Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(wm-ts-nav): fix svelte line numbers, add class methods, innermost caller Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
75 lines
2.7 KiB
YAML
75 lines
2.7 KiB
YAML
main_branch: main
|
|
|
|
merge_strategy: rebase
|
|
# worktree_dir: .worktrees
|
|
|
|
worktree_naming: basename
|
|
|
|
worktree_prefix: ""
|
|
|
|
# Default: "wm-"
|
|
window_prefix: "wm-"
|
|
|
|
auto_name:
|
|
model: "gemini-2.5-flash-lite"
|
|
system_prompt: |
|
|
Generate a concise git branch name based on the task description.
|
|
|
|
Rules:
|
|
- Use kebab-case (lowercase with hyphens)
|
|
- Keep it short: 1-3 words, max 4 if necessary
|
|
- Focus on the core task/feature, not implementation details
|
|
- No prefixes like feat/, fix/, chore/
|
|
|
|
Examples of good branch names:
|
|
- "Add dark mode toggle" → dark-mode
|
|
- "Fix the search results not showing" → fix-search
|
|
- "Refactor the authentication module" → auth-refactor
|
|
- "Add CSV export to reports" → export-csv
|
|
- "Shell completion is broken" → shell-completion
|
|
|
|
Output ONLY the branch name, nothing else.
|
|
background: true
|
|
|
|
|
|
# Commands to run in new worktree before tmux window opens.
|
|
# These block window creation - use for short tasks only.
|
|
# Use "<global>" to inherit from global config.
|
|
# Set to empty list to disable: `post_create: []`
|
|
# post_create:
|
|
# - "<global>"
|
|
# - mise use
|
|
post_create:
|
|
- ./scripts/worktree-env
|
|
|
|
pre_remove:
|
|
- ./scripts/worktree-cleanup
|
|
|
|
panes:
|
|
- command: >-
|
|
claude --dangerously-skip-permissions --append-system-prompt
|
|
"You are running inside a tmux session with other panes running services.\n
|
|
Pane layout (current window):\n
|
|
- Pane 0: this pane (claude agent)\n
|
|
- Pane 1: backend (cargo watch -x run)\n
|
|
- Pane 2: frontend (npm run dev)\n\n
|
|
To check logs, use: \`tmux capture-pane -t .1 -p -S -50\` (backend) or \`tmux capture-pane -t .2 -p -S -50\` (frontend).\n
|
|
When restarting backend or frontend, make sure to use the ports listed in .env.local.\n
|
|
Because we are running backend with cargo watch, to verify your changes, just check the logs in the backend pane. No need for cargo check.\n\n
|
|
IMPORTANT: Read docs/autonomous-mode.md before starting any work."
|
|
focus: true
|
|
- command: 'ROOT="$(git rev-parse --show-toplevel)"; [ -f "$ROOT/.env.local" ] && source "$ROOT/.env.local"; cd "$ROOT/backend" && PORT=${BACKEND_PORT:-8000} cargo watch -x "run ${CARGO_FEATURES:+--features $CARGO_FEATURES}"'
|
|
split: horizontal
|
|
- command: 'ROOT="$(git rev-parse --show-toplevel)"; [ -f "$ROOT/.env.local" ] && source "$ROOT/.env.local"; cd "$ROOT/frontend" && npm run generate-backend-client && REMOTE=${REMOTE:-http://localhost:${BACKEND_PORT:-8000}} npm run dev -- --port ${FRONTEND_PORT:-3000} --host 0.0.0.0'
|
|
split: vertical
|
|
|
|
files:
|
|
copy:
|
|
- backend/.env
|
|
- scripts/
|
|
- wm-ts-nav/target/release/wm-ts-nav
|
|
|
|
sandbox:
|
|
enabled: false
|
|
toolchain: off
|