一键导入
test-server
Spin up and tear down a local chan test server over a throwaway or existing workspace, including the rebuild cycle for frontend changes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Spin up and tear down a local chan test server over a throwaway or existing workspace, including the rebuild cycle for frontend changes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Cut a chan release: the git-first rc-pinned cycle, the one-commit version-pin bump, the publish=false dry run, and the GA tag that publishes. Covers the macOS signing path.
Run the chan pre-push gate (shellcheck, actionlint, fmt, clippy, test, no-default-features build, gateway build, web checks, marketing checks) and the isolated/own-gate model for multi-agent rounds.
Code architecture, structural review, simplification, interface boundaries, refactoring discipline, configuration design, and maintainability reviews.
Python, asyncio, typed Python, data processing, SQL, pandas, document extraction, notebooks, scraping, APIs, and scientific computing.
Rust code quality, idiomatic Rust, async/concurrency, Cargo hygiene, error handling, tests, reviews, and systems programming in Rust.
Linux systems engineering, low-level infrastructure, networking, containers, virtualization, storage, systemd, operational debugging, and shell/Python diagnostic tooling.
| name | test-server |
| description | Spin up and tear down a local chan test server over a throwaway or existing workspace, including the rebuild cycle for frontend changes. |
| when_to_use | The user asks to "spin up a test server", "try this in the browser", or otherwise wants a running chan instance to verify a change. |
When the user asks for a test server (e.g. "spin up a test server", "let's try this in the browser"):
/tmp/chan-test-<something>, or reuse an existing registered one? chan workspace ls shows the options. For a new workspace, also ask what to seed it with (empty, a few sample notes, copy of an existing tree).cargo build -p chan rebuilds the binary with the current web/dist/ bundle, then ./target/debug/chan open <path> in the background. The URL with the per-launch bearer token lands on stderr.npm run build in web/, cargo build -p chan, restart. There is no hot reload. A stale browser tab also needs a hard reload to pick up the new hashed bundle filenames.rm -rf the temp workspace directory if it was a throwaway, then chan workspace rm <path> to drop the registry entry. chan workspace rm takes the path, not the display name.web/dist gives a false bug. When QA'ing a frontend-touching change, run npm run build in web/ BEFORE cargo build, and grep the SERVED bundle for the handler before calling it broken. web/dist is gitignored; a stale embed gives a false-negative, not a product bug.cargo build, verify the binary provenance, then restart. Stale-binary false-positives cost real round-trips.pkill chan open kills every agent's server. When several lanes share a machine, serve from a renamed binary copy (e.g. /tmp/docsrv) and scope each pkill to your own workspace path or port.