Agent Skills › gotempsh/temps › temps-plugin

temps-plugin

GitHub

指导使用 TypeScript/Bun 设计、构建和分发 Temps 外部插件,涵盖脚手架生成、权限测试及 GitHub 发布流程;支持现有 Rust 插件的本地开发模拟测试。

skills/temps-plugin/SKILL.md gotempsh/temps

触发场景

创建新的 Temps 插件项目 构建并分发外部插件 测试插件主机权限或 AI 功能 为现有 Rust 插件进行本地调试

安装

npx skills add gotempsh/temps --skill temps-plugin -g -y
更多选项

不安装直接使用

npx skills use gotempsh/temps@temps-plugin

指定 Agent (Claude Code)

npx skills add gotempsh/temps --skill temps-plugin -a claude-code -g -y

安装 repo 全部 skill

npx skills add gotempsh/temps --all -g -y

预览 repo 内 skill

npx skills add gotempsh/temps --list

SKILL.md

Frontmatter
{
    "name": "temps-plugin",
    "description": "Design, build, test, and distribute external Temps plugins with TypeScript\/Bun; provide development and local-testing guidance for existing Rust plugins. Use for creating a plugin, adding an embedded console UI or deployment-event automation, testing host permissions and AI, installing from GitHub, or submitting a plugin to the public catalog. End-to-end publishing covers TypeScript GitHub-source plugins, not Rust native-package releases or in-process TempsPlugin backend crates."
}

Create and ship a Temps plugin

For TypeScript/Bun, deliver a working external plugin, an installable source repository, and evidence of what was verified. Continue an existing project when provided; preserve its identity, storage, and user changes. Publishing is a separate outcome from building or installing.

Rust support here is limited to development and local simulator testing. Rust distribution requires the separate signed native npm-package/catalog pipeline, which this skill does not teach. Do not route a Cargo repository through the TypeScript GitHub installer or suggest copying/symlinking a binary into the host plugin directory. If Rust publication is requested, establish the supported native release procedure before claiming an end-to-end plan; do not silently change the user's implementation language.

1. Establish the contract

Record the plugin's purpose, intended user, entry point in Temps, input/output, persisted data, required host permissions, resource limits, and supported host/SDK versions. Resolve only missing decisions that affect the implementation. Prefer TypeScript + Bun for a new GitHub-installable plugin; retain Rust for existing Rust plugins or an explicit choice.

Read applicable repository instructions. Inspect the installed CLI's plugin --help and the SDK's exports instead of assuming commands from another release exist. The canonical TypeScript starter is gotempsh/temps-plugin-template. Use its current README, manifest, lockfile, and CI. The template may evolve ahead of the npm CLI; lack of a CLI command is not a reason to invent one.

Current evidence sources in a Temps checkout:

  • apps/temps-cli/src/commands/plugin/: init, build, install, update, grants and dev simulator.
  • crates/temps-external-plugins/src/repository.rs: actual source-installer build contract.
  • crates/temps-core/src/external_plugin/: protocol, permissions, manifest and events.
  • sdks/node/packages/plugin-sdk/src/ and crates/temps-plugin-sdk/src/: SDK APIs.
  • Root DESIGN.md, web/src/components/ui/, and web/src/globals.css: current console design.

Read development.md when scaffolding or changing runtime behavior, design.md for UI work, and publishing.md before preparing a distributable repository.

2. Scaffold an independently buildable project

Use the GitHub template or, when supported by the installed CLI:

bunx --bun @temps-sdk/cli plugin init my-plugin --name @your-scope/my-plugin

This command scaffolds local files; it does not publish. Inspect generated files before continuing. Replace placeholder identity, author, repository, version and description; keep package metadata and runtime manifest consistent. Add only tested platforms. Commit the lockfile. Keep credentials, local databases, logs, auth material, and simulator session files out of Git.

For GitHub installation, select either the repository root or a self-contained plugin subdirectory with --path. Use --ref for a branch, tag, or commit. Verify that a clean checkout compiles through the host installer path: lifecycle scripts and custom UI build commands are not implicitly run. See the publishing reference for the embedded-asset consequence.

3. Build the product

Use the SDK to own the protocol handshake and transport. Keep protocol stdout clean; log diagnostics to stderr. Use verified caller context for authorization, typed errors, and plugin-owned storage in its assigned data directory. Host data and host-brokered AI come through the SDK, never database/provider credentials copied from the host.

Declare the minimum host permissions and handle absent configuration and revoked grants visibly. Manifest declarations request permissions; administrators grant them. Permissions protect host APIs: native plugins still run with the host OS account's permissions. Do not describe the installed plugin as sandboxed.

Register discoverable navigation for a UI plugin. Use the selected Temps design standard, embed assets, and test its real proxy path. For deployment automation, subscribe to deployment.succeeded, keep receipt handling quick, and use bounded persistent jobs, idempotency, cancellation and explicit environment/project settings.

4. Verify the TypeScript lifecycle at three levels

  1. Unit and integration checks: success, validation, failures, persistence/restart, bounded work, and relevant security cases. Typecheck and compile the actual binary.
  2. Local plugin simulator: real binary + SDK protocol + mock host. Exercise sidebar UI, event delivery, duplicates, denied/granted/revoked permissions, and role restrictions.
  3. Installed Temps instance: install a reviewed repository revision, open the plugin through Temps, trigger the intended user workflow, change permissions, and update the same source. Verify persistence and relevant actor/audit attribution where supported.

Read development.md for simulator commands. A standalone unauthenticated UI preview proves layout only. Simulator/mock AI results are not real provider calls or a full host installation. A received event is not proof the job finished. Do not label end-to-end verification complete unless the installed workflow was exercised; record a concrete limitation when that environment is unavailable.

5. Distribute, list, and maintain TypeScript plugins

The default workflow is GitHub repository → reviewed source installation → catalog PR. No npm publication, cloud publisher token, or registry signing key is needed for this path. Read publishing.md for exact metadata and installation examples. plugin publish is a separate native npm/signed-catalog flow, not shorthand for listing a GitHub repository; use it only when that distribution channel is explicitly requested.

Prepare and validate all artifacts before an external publication step. Respect the user's existing authorization: creating a skill or building a plugin does not itself request public npm publication, a release tag, or installation into production. When publication is requested, show the concrete repository/version/permissions and execute only that scope. Never ask users to paste credentials into chat.

Finish with source location, preview/install instructions, declared permissions, verification evidence, distribution/catalog state and remaining limitations. For updates, retain the stable identity, version deliberately, migrate storage safely, and test a same-source upgrade. Pushing a commit does not automatically update installed plugins.

版本历史

  • c728ab6 当前 2026-09-22 14:24

    从仅支持Rust二进制开发扩展至支持TypeScript/Bun的完整生命周期(含GitHub安装与发布),并明确Rust仅限本地开发指导。

  • b2a6511 2026-07-25 07:32

同 Skill 集合

.agents/skills/temps-add-handler/SKILL.md
.agents/skills/temps-add-migration-and-entity/SKILL.md
.agents/skills/temps-add-plugin/SKILL.md
.agents/skills/temps-design-system/SKILL.md
skills/temps-platform-setup/SKILL.md
.agents/skills/start-temps-cluster/SKILL.md
.agents/skills/start-temps/SKILL.md
.agents/skills/temps-split-module/SKILL.md
skills/add-custom-domain/SKILL.md
skills/add-error-tracking/SKILL.md
skills/add-node-sdk/SKILL.md
skills/add-react-analytics/SKILL.md
skills/add-session-recording/SKILL.md
skills/deploy-to-temps/SKILL.md
skills/temps-best-practices/SKILL.md
skills/temps-cli/SKILL.md
skills/temps-mcp-setup/SKILL.md
skills/temps/SKILL.md
skills/estimate-temps-savings/SKILL.md

元信息

文件数
0
版本
fae5008
Hash
dc8bbd7c
收录时间
2026-07-25 07:32

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.156.0. UTC+08:00, 2026-11-06 09:19
浙ICP备14020137号-1