跳到正文
cccskills
免费在 GitHub 公开

nauthilus-plugin-api

Use for Nauthilus native Go plugin API design or implementation, `pluginapi/v1`, plugin loader, plugin registry, plugin runtime, reload integration, plugin config, extension-point parity with Lua, capability-based host services, lifecycle semantics, and the working draft under `server/docs/go_plugin_api_working_draft.md`.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md2.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Nauthilus Plugin API

Expertise Lens

  • Work as a language-runtime boundary and extension-platform architect.
  • Optimize for stable public API contracts, trusted-code assumptions, explicit lifecycle, capability-based host services, Lua/Go extension parity, and isolation from server internals.
  • Treat accidental exports of core.AuthState, raw Gin contexts, raw Viper, Redis internals, LDAP queues, Prometheus registerers, or OpenTelemetry providers as API boundary defects.

Sources To Read

  • AGENTS.md
  • POLICY.md
  • server/docs/go_plugin_api_working_draft.md
  • pluginapi/v1/
  • server/pluginloader/
  • server/pluginregistry/
  • server/pluginruntime/
  • Lua extension references under server/lua-plugins.d/ and server/lualib/

Design Rules

  • Keep native Go plugins conceptually aligned with Lua extension points: init, environment sources, subject sources, backends, actions, hooks, policy facts, and shared services.
  • Keep policy as decision authority; plugins emit facts/results/obligations/status, policy decides.
  • Expose stable API-level value objects from pluginapi/v1; do not expose server internals.
  • Use context-first, cancelable, deadline-aware request APIs.
  • Treat loaded Go plugins as trusted in-process code.
  • Make lifecycle explicit: register, start, stop, and reconfigure where supported.
  • Remember Go .so plugins cannot be unloaded; removal or binary replacement normally requires restart.
  • Validate module and component names strictly; do not normalize surprising names into collisions.

Implementation Workflow

  1. Start from the working draft and decide whether the task is design-only or implementation.
  2. Keep public API changes in pluginapi/v1 narrow and documented.
  3. Keep host services capability-based and minimal.
  4. Keep reload behavior explicit and testable.
  5. Add import-boundary and contract tests when public API or server boundary rules change.

Validation

  • Run focused plugin API tests with GOEXPERIMENT=runtimesecret.
  • Run reload/config tests when plugin config or lifecycle changes.
  • Run GOEXPERIMENT=runtimesecret make test and git diff --check.
  • Run make guardrails before commit or pull request.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use for Nauthilus OpenAPI, generated management or IdP clients, route contract tests, gRPC protobuf generation, HTTP route registration, management API authentication, public discovery API, `server/openapi`, `server/router`, `server/grpcapi`, `server/grpcclient`, and API-boundary client work.

中文简介正在准备中。当前显示原文说明。

croessner/nauthilus62026年10月12日 更新

Use for Nauthilus authentication and identity-provider work touching OIDC, OAuth2, SAML, MFA, TOTP, WebAuthn, recovery codes, LDAP-backed identity, browser login and consent flows, token/session/flow state, `private_key_jwt`, introspection, discovery metadata, endpoint-specific client authentication, and security-sensitive auth tests.

中文简介正在准备中。当前显示原文说明。

croessner/nauthilus62026年10月12日 更新

Use for Nauthilus configuration loading, config schema and defaults, Viper-backed config formats, config dump behavior, vim syntax generation, template validation, prompt guideline sync, documentation under README/IDP/server docs, config converters, and generated documentation or syntax artifacts.

中文简介正在准备中。当前显示原文说明。

croessner/nauthilus62026年10月12日 更新

Use for Nauthilus Lua plugins, Lua callback tests, policy compiler and registry work, Lua environment and subject sources, Lua actions, hooks, backend scripts, policy facts, obligation targets, `server/lualib`, `server/lua-plugins.d`, `server/policy`, and JSON fixtures under `testdata/lua`.

中文简介正在准备中。当前显示原文说明。

croessner/nauthilus62026年10月12日 更新

Use for Nauthilus Redis client, Redis Cluster/Sentinel/topology behavior, Redis-backed token/session/flow/cache/bruteforce state, Lua Redis scripts, `NOSCRIPT` recovery, script upload/retry behavior, redismock tests, local cache coordination, and fail-closed runtime state changes.

中文简介正在准备中。当前显示原文说明。

croessner/nauthilus62026年10月12日 更新

Use for Nauthilus validation, guardrails, dependency patch refreshes, vendoring, generated-output checks, `make release-guardrails`, govulncheck-sensitive publishing, structured commits, branch/tag choreography, website-doc side effects, and final clean-state reporting.

中文简介正在准备中。当前显示原文说明。

croessner/nauthilus62026年10月12日 更新

查看 croessner 的全部技能

报告此技能的问题