Agent SkillsChristian-Katzmann/app-it › app-it-static

app-it-static

GitHub

将已完成的Web应用构建为macOS Dock可启动的.app包,通过静态服务器或本地文件提供服务。适用于需要轻量级Dock应用、静态站点分发或从Dock直接点击运行构建产物的场景。

plugins/app-it-static/skills/app-it-static/SKILL.md Christian-Katzmann/app-it

Trigger Scenarios

用户请求 app-it-static 需要将成品网站转换为 macOS Dock 可点击的 .app 应用 需要轻量级静态服务器替代开发服务器

Install

npx skills add Christian-Katzmann/app-it --skill app-it-static -g -y
More Options

Non-standard path

npx skills add https://github.com/Christian-Katzmann/app-it/tree/main/plugins/app-it-static/skills/app-it-static -g -y

Use without installing

npx skills use Christian-Katzmann/app-it@app-it-static

指定 Agent (Claude Code)

npx skills add Christian-Katzmann/app-it --skill app-it-static -a claude-code -g -y

安装 repo 全部 skill

npx skills add Christian-Katzmann/app-it --all -g -y

预览 repo 内 skill

npx skills add Christian-Katzmann/app-it --list

SKILL.md

Frontmatter
{
    "name": "app-it-static",
    "description": "Turn a finished or buildable web app into a macOS Dock-launchable .app that serves built output instead of a dev server. Use when the user asks for app-it-static, a finished site\/app launcher, a lightweight Dock app, or a dist\/build\/out bundle clickable from the Dock. Builds once, serves a snapshot via static-server.py or file:\/\/, and routes live projects to app-it. macOS only."
}

app-it-static - Make a finished build launchable from the Dock

app-it-static is the no-dev-server companion to app-it: it builds once, serves the finished output, installs beside live apps in ~/Applications/App It/, and keeps the native Swift WebKit window and Dock identity.

Non-Negotiables

  1. Run templates/inspect-static.sh first and read the output before editing.
  2. Confirm before the first project build. It can write files and take time.
  3. Never run npm run dev. If the app needs a live dev server, route to app-it and say why.
  4. Serve a snapshot and say so. Source changes need desktop:rebuild.
  5. Default to serve_mode: "server". Use file only after proving the build is file:// safe.
  6. Copy shipped templates and customize through scripts/app-it.config.json. Do not re-derive launcher patterns.
  7. Verify the built output, app bundle, install path, runtime port, server response, quit cleanup, and human-only GUI limits.

Reference Map

Open only the files needed by the inspection result:

  • references/project-inspection.md - static-servable tests, build/output detection, package managers, monorepos, names, bundle IDs, and tools.
  • references/serve-modes.md - server vs file decisions and the file:// safety checklist.
  • references/generated-files.md - template roster, shared-template rules, allowed target-project files, config JSON, and package scripts.
  • references/verification.md - smoke tests, app-bundle checks, runtime checks, cleanup, and human/deferred buckets.
  • references/report-template.md - exact final report format plus decision history.
  • references/anti-patterns.md - traps that cause broken static launchers.

Templates

Templates live next to this file in templates/. Copy them into the target project; do not rewrite them. See references/generated-files.md for the full roster.

Shared templates are byte-identical to app-it and guarded by repo validation: wrapper.swift, native-run-stub.c, desktop-icons.sh, desktop-icons-preview.sh, desktop-install.sh, info-plist-template.xml, and placeholder-icon-gen.sh. If launcher internals change, edit the app-it copy and re-sync this plugin so marketplace installs stay self-contained.

Workflow

1. Inspect

Run:

/path/to/plugins/app-it-static/skills/app-it-static/templates/inspect-static.sh

Use disk truth: package.json, config files, built output, and actual scripts. Read references/project-inspection.md before deciding whether the app is static-servable, which build command/output dir to use, or whether a monorepo contains multiple apps.

2. Decide

For each user-facing app:

Static build or hand-written index.html exists?
  no  -> route to app-it
  yes -> needs http origin, routing fallback, fetch(), or service worker?
           yes -> server mode (default)
           no  -> file mode candidate

When unsure, choose server mode. It costs a tiny Python process and is the safe default for framework builds.

3. Build

Confirm with the user, run the project build once, then copy templates into the target project and write scripts/app-it.config.json. desktop:build assembles the .app; it must not run the project build. desktop:rebuild is the refresh path that reruns the build command.

Read references/generated-files.md before editing package scripts, generated docs, config JSON, icons, or install paths.

4. Verify

Verification is mandatory. Read references/verification.md and run the checks that apply: built index.html, Mach-O Contents/MacOS/run, executable run.sh, Mach-O wrapper, plist placeholders gone, .icns, installed-path open, server response, and Cmd+Q cleanup for server mode.

Never claim GUI-only checks passed unless a display actually proves them. Put window render and Dock icon identity in the human bucket when needed.

5. Report

Use references/report-template.md for both the chat reply and docs/desktop-launcher.app-it-static-report.md. Include snapshot limitations, refresh command, verification results, known limits, and decision history.

Stage files only when the local convention or user request asks for it. Do not commit unless asked.

Quick Defaults

  • Install destination: ~/Applications/App It/.
  • Bundle ID prefix: com.user.<slug>.
  • Serve mode: server, unless file:// safety is proven.
  • Vite/CRA/Astro/SvelteKit static/Next export/Angular/Nuxt generate: usually server mode.
  • Hand-written index.html with relative assets and no routing/fetch/service worker: file mode candidate.
  • Missing swiftc or python3: stop and say xcode-select --install.

Stop Signs

Stop and explain clearly when the app only works through a live dev server, the build fails before launcher work, the output dir lacks index.html, required tooling is missing, or the environment cannot verify a claim the report would need.

Version History

  • 4ac1808 Current 2026-07-05 18:37

Same Skill Collection

plugins/app-it-windows/skills/app-it-windows/SKILL.md
plugins/app-it/skills/app-it/SKILL.md

Metadata

Files
0
Version
4ac1808
Hash
07e88b8d
Indexed
2026-07-05 18:37

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-08 18:36
浙ICP备14020137号-1 $bản đồ khách truy cập$