ワンクリックで
trent-local-server
// Deploy the duet local development server (backend + frontend) in tmux panes. Use when the user asks to start the local server, run the dev environment, or start backend/frontend.
// Deploy the duet local development server (backend + frontend) in tmux panes. Use when the user asks to start the local server, run the dev environment, or start backend/frontend.
Building terminal UI tools with Bubble Tea and the shared trenthaines.dev/tui package. Use when creating TUI pickers, popups, or any interactive terminal tools — covers the shared package, layout patterns, testing, chezmoi integration, and known gotchas.
Create and manage PDF annotations in Obsidian using the Annotator plugin. Use when user asks to annotate, highlight, or comment on a PDF in their vault. Sub-skill of obsidian.
Help with Obsidian Zettelkasten vault management - search, create, edit, and organize notes in the user's personal knowledge base with 1200+ notes. Use when the user asks about their Zettelkasten, vault, notes, knowledge management, or wants to create/modify markdown notes in ~/Documents/Zettelkasten. (project, gitignored)
Generate daily activity summaries from Claude Code logs. Use when the user asks for a daily summary, work log, what they did today/yesterday, or activity report.
Deploy the duet local development server pointing to production (DECAGON_ENV=prod). Use when the user asks to start the local server against prod, run the dev environment with prod, or test locally against production.
Deploy the local voice development server with ngrok for outbound calling. Use when the user asks to test voice locally, start the voice server, or debug voice calls.
| name | trent-local-server |
| description | Deploy the duet local development server (backend + frontend) in tmux panes. Use when the user asks to start the local server, run the dev environment, or start backend/frontend. |
Deploy the local development server by running both backend and frontend in separate tmux panes.
uv pip install -r backend/requirements.in && uvicorn backend.server_cs.server:app --reload
cd frontend && yarn run dev --webpack
Use pane IDs for robustness (relative targets like {right} fail when other panes exist):
# Split horizontally for backend, capturing the pane ID
BACKEND_PANE=$(tmux split-window -h -P -F '#{pane_id}')
# Run backend install and server in that pane using its ID
tmux send-keys -t "$BACKEND_PANE" 'uv pip install -r backend/requirements.in && uvicorn backend.server_cs.server:app --reload' Enter
# Split the backend pane vertically for frontend, capturing the pane ID
FRONTEND_PANE=$(tmux split-window -v -t "$BACKEND_PANE" -P -F '#{pane_id}')
# Run frontend in the new pane using its ID
tmux send-keys -t "$FRONTEND_PANE" 'cd frontend && yarn run dev --webpack' Enter