尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
One control plane for your whole fleet of coding agents for spec-driven development.
Vite proxies /ws and all REST requests to daemon. Run components separately with pnpm server / pnpm web.
Backend modules → routes in server/index.mjs. Add a concern = new module + route + co-located test. New server route → also add its prefix to the Vite dev proxy (web/vite.config.mjs), or dev falls through to the SPA shell.檢視完整 README ↗One control plane for your whole fleet of coding agents for spec-driven development.
pnpm bootstrap # run on first setup to generate .env (CLAUDE_BIN is detected) + wire usage-report + install + start
pnpm install # installs dependencies, runs postinstall hook
pnpm postinstall # mac: run if agents fail with "posix_spawnp failed"
pnpm start # build web + serve on http://127.0.0.1:4317
pnpm build # build web only (vite build → web/dist); serve separately with `pnpm server`
pnpm test # node --test-force-exit "server/*.test.mjs"
pnpm clean # reap orphan esbuild/vite procs (fixes build hangs before a fresh build)
Dev (with live-reload web):
pnpm dev # daemon (127.0.0.1:4317) + Vite (127.0.0.1:5317) → browse UI at 127.0.0.1:5317
Vite proxies /ws and all REST requests to daemon. Run components separately with pnpm server / pnpm web.
Backend modules → routes in server/index.mjs. Add a concern = new module + route + co-located test. New server route → also add its prefix to the Vite dev proxy (web/vite.config.mjs), or dev falls through to the SPA shell.
MIT
settings.json and settings.local.json.The shell adapts across four bands — phone (<600px), tablet (600–899px),
compact desktop (900–1199px), and desktop (>=1200px). Phone gets a mobile
header + temporary navigation drawer (no persistent rail) and a collapsible
terminal dock beneath the page; tablet and up keep a persistent icon rail
(collapsed on tablet, collapse-capable and user-preference-driven from 900px
up). Both skins (ZAPAC, Phosphor Console) ship the same structure with their
own chrome and breakpoint pixels.
Run the responsive Playwright projects (mock mode) with:
pnpm test:e2e-mock -- --project=responsive-narrowest # 320x667
pnpm test:e2e-mock -- --project=responsive-phone # 375x667
pnpm test:e2e-mock -- --project=responsive-tablet # 768x1024
pnpm test:e2e-mock -- --project=responsive-compact-desktop # 1024x768
pnpm test:e2e-mock -- --project=responsive-desktop # 1440x900
Each runs the full 15-route x 2-skin baseline contract (e2e-mock/responsive.spec.mjs);
per-feature responsive specs (e2e-mock/*-responsive.spec.mjs, shell-mobile-nav.spec.mjs,
shell-dock-responsive.spec.mjs) set their own viewports per test and run in
the default chromium project instead, since they exercise live crossings.
Daemon binds loopback only. It spawns agent with full file system access. Never bind 0.0.0.0.
Optional token (defense-in-depth): set SING_TOKEN=<secret> — data endpoints + WS + the shell itself
then require it (x-sing-token header / ?token= / sing_token HttpOnly cookie). Opening the shell
with ?token= mints the cookie and 302s the token out of the URL; the daemon then injects it into the
served shell so the UI works transparently.
CLAUDE_BIN must be an absolute path in .env — the daemon does no PATH resolution and Windows node-pty needs a real exe path. pnpm bootstrap detects it for you; otherwise set it by hand.SINGULARITY_HOME (set in .env; pnpm bootstrap defaults it to ~/.singularity). Git worktrees + ticket requirements/plans (.worktrees/, .tickets/<id>/) live at the repo root, or SING_TRUSTED_ROOT if set (trusted, gitignored) so Claude honors the repo's permission rules.$ — the dollar figure comes from the global statusline (harness-usage-report skill), the single source of truth for every session; a pricing-table estimate is the fallback when no statusline cost exists. pnpm bootstrap wires this skill (SessionEnd hook + statusline into ~/.claude/settings.json) and fills SING_USAGE_SKILL / SING_USAGE_REPORTS in .env; it skips a statusline you already have and never fails bootstrap if the wiring can't be written.@zapac/mui-theme) is vendored as a tgz in vendor/, so pnpm install works anywhere — no external path dependency.spawn failed: posix_spawnp failed on macOS/Linux means node-pty's spawn-helper prebuilt lost its execute bit (pnpm's store sometimes extracts it 0644), so every agent spawn fails. The postinstall hook (scripts/fix-pty-helper.mjs) restores +x automatically after each install; run pnpm run postinstall by hand if it recurs. This is not related to CLAUDE_BIN.