Agent Skills › sthamann/nyx-local-ai

sthamann/nyx-local-ai

GitHub

用于从浏览器环境重新生成 nyx-local-ai 项目的 README UI 截图。流程包括构建 Webview、启动本地服务、通过 IDE 捕获特定场景画面,并进行中心裁剪和审查,确保文档图片与最新 UI 一致。

2 skills 250

Install All Skills

npx skills add sthamann/nyx-local-ai --all -g -y
More Options

List skills in collection

npx skills add sthamann/nyx-local-ai --list

Skills in Collection (2)

用于从浏览器环境重新生成 nyx-local-ai 项目的 README UI 截图。流程包括构建 Webview、启动本地服务、通过 IDE 捕获特定场景画面,并进行中心裁剪和审查,确保文档图片与最新 UI 一致。
UI 发生可见变更时 用户要求更新截图时 发布包含 UI 更改的版本前
.cursor/skills/nyx-ui-screenshots/SKILL.md
npx skills add sthamann/nyx-local-ai --skill nyx-ui-screenshots -g -y
SKILL.md
Frontmatter
{
    "name": "nyx-ui-screenshots",
    "description": "Regenerate the README UI screenshots for nyx-local-ai from the browser harness — build the webview, serve the harness scenes, capture and crop the images into docs\/. Use when the UI changed visibly, when the user asks to update screenshots, or before a release with UI changes."
}

Regenerating the UI screenshots

The README images in docs/ are captured from .harness/index.html, which renders the real webview bundle (media/main.js + main.css) with scripted demo data inside a 430px sidebar frame.

Workflow

  1. Build the current bundle: npm run build
  2. Serve the repo (background): python3 -m http.server 8321 --bind 127.0.0.1
  3. Capture each scene with the IDE browser at http://127.0.0.1:8321/.harness/index.html?scene=<scene>; wait until the page title reads nyx-scene-<scene>-ready, then take a screenshot.
Scene Target file Shows
chat docs/nyx-agent-run.png tool cards, diff card, answer, 1M context meter
approval docs/nyx-approval.png diff-preview approval, Always allow, queue
machines docs/nyx-machines.png machine manager (DGX / Mac Studio)
  1. Center-crop each capture to the frame (screenshots are centered):
sips -c 1839 1062 docs/<file>.png --out docs/<file>.png

(Values assume the default 714×1024 CSS viewport at ~2.22× scale — if the frame looks cut off, recompute: crop ≈ (430+68)×(780+68) CSS px × scale.)

  1. Review the images (read the files) before committing: no debug text, context meter plausible, no real secrets/IPs you don't want public.

Editing the scenes

Demo data lives in .harness/index.html (sceneChat, sceneApproval, sceneMachines) — plain HostToWebview messages. When new UI features ship, extend the relevant scene so the screenshots keep showcasing them.

用于端到端发布 nyx-local-ai 扩展。执行版本统一升级、运行类型检查与冒烟测试等质量门禁、打包并本地安装、提交打标签推送以触发 CI 构建,最后验证 GitHub Release 产物是否生成完整。
用户要求发布或发布新版本 用户要求发送或推送更新 用户要求提升版本号 用户要求切断新构建
.cursor/skills/release-nyx/SKILL.md
npx skills add sthamann/nyx-local-ai --skill release-nyx -g -y
SKILL.md
Frontmatter
{
    "name": "release-nyx",
    "description": "Ship a new nyx-local-ai release end to end — bump versions consistently, run the quality gates (typecheck, smoke tests, package), install locally, tag and push so CI publishes the installer artifacts. Use when the user asks to release, ship, publish, bump the version, or cut a new build of the extension."
}

Releasing nyx-local-ai

Follow this checklist in order. Abort on the first failed step.

Release progress:
- [ ] 1. Bump version everywhere
- [ ] 2. Quality gates
- [ ] 3. Package + local install
- [ ] 4. Commit, tag, push
- [ ] 5. Verify CI release

1. Bump version everywhere

Three places must always carry the same version:

# package.json         → "version": "X.Y.Z"
# README.md            → status line **vX.Y.Z** and all nyx-local-ai-X.Y.Z.vsix mentions
# src/mcp/client.ts    → clientInfo: { version: 'X.Y.Z' }

2. Quality gates

npm run typecheck               # must exit 0
node .harness/smoke.mjs         # must print ALL PASS
node .harness/readme-check.mjs  # must print "README CHECK: ALL PASS"
npm run build                   # must print "[nyx] build complete"

The readme-check verifies all three version locations AND that every setting, command, and tool is documented in README.md — fix any FAIL before continuing (update the README, don't weaken the check).

If parser/edit logic changed in this release, confirm .harness/smoke.mjs covers it before proceeding.

3. Package + local install

npm run package              # check the reported size stays ≈4–6 MB
bash install.sh --editor=cursor --vsix=./nyx-local-ai-X.Y.Z.vsix

Remind the user to run Developer: Reload Window to activate the build.

4. Commit, tag, push

Only commit when the user asked for it. Then:

git tag vX.Y.Z && git push origin main vX.Y.Z

The tag triggers .github/workflows/release.yml, which attaches nyx-local-ai.vsix (stable name), the versioned .vsix, and checksums.txt to the GitHub release — exactly what install.sh/install.ps1 download.

5. Verify CI release

gh run list --repo sthamann/nyx-local-ai --limit 3
gh release view vX.Y.Z --repo sthamann/nyx-local-ai --json assets -q '.assets[].name'

Expected assets: nyx-local-ai.vsix, nyx-local-ai-X.Y.Z.vsix, checksums.txt. If the run failed, read the log (gh run view <id> --log-failed) and fix before announcing the release.

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-23 03:51
浙ICP备14020137号-1 $お客様$