Token导航 LogoToken导航TokenDH.com
开发规范external-servicegithub未标认证来源可访问许可证需确认审计通过

bun-server-best-practicesBun server 最佳实践

Agent Skill

bun-server-best-practices 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

490

周安装

20

GitHub Stars

1

下载量

157
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:bun-server-best-practices(Bun server 最佳实践)
来源仓库:https://github.com/dangaogit/bun-server-skills
仓库路径:skills/bun-server-best-practices
安装命令:
npx skills add https://github.com/dangaogit/bun-server-skills --skill bun-server-best-practices
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/dangaogit/bun-server-skills --skill bun-server-best-practices

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合围绕仓库状态、代码变更或协作事项进行整理和分析。
  • 遵循装饰器驱动架构、显式依赖注入和模块化组织原则。
  • 提供约定优于配置的项目结构和模块设置模式指导。bun-server-best-practices 属于开发规范类 Skill,可作为该场景下的辅助能力补充。
  • 强调类型安全和最佳实践,提升代码可维护性与协作效率。

SKILL.md

Bun Server Best Practices Workflow

Use this skill as an instruction set. Follow the workflow in order unless the user explicitly asks for a different order.

Core Principles

  • Decorator-driven architecture: Use decorators (@Injectable, @Controller, @Module) as the primary configuration mechanism.
  • Explicit dependency injection: Keep DI contracts clear with Symbol+Interface pattern when needed.
  • Modular organization: Split by feature domain, one module per business boundary.
  • Convention over configuration: Follow established patterns for project structure and module setup.
  • Type safety: Leverage TypeScript decorators and typed contracts throughout.
  • Platform portability: Use IWebSocket<T> and IServerHandle (not Bun-specific types) to keep code runnable on both Bun and Node.js 22+.

1) Confirm architecture before coding (required)

  • Default stack: Bun Runtime + @dangao/bun-server + TypeScript with decorators enabled.
  • Current stable reference version: @dangao/bun-server v3.0.5 (update docs/examples based on this line unless user pins another version).
  • Verify tsconfig.json has experimentalDecorators: true and emitDecoratorMetadata: true.

1.1 Must-read core references (required)

Before implementing any Bun Server task, make sure to read and apply these core references:

  • quickstart - Project setup, minimal/modular application, common imports
  • dependency-injection - @Injectable, @Inject, scopes, Symbol+Interface pattern
  • module-system - @Module, imports/exports, forRoot pattern, modular architecture
  • platform - v3 required: Platform Adapter, IWebSocket<T>, IServerHandle, Bun vs Node.js support matrix

Keep these references in active working context for the entire task.

1.2 Plan module boundaries before coding (required)

Create a brief module map before implementation for any non-trivial feature:

  • Define each module's responsibility in one sentence.
  • Identify which modules need forRoot() configuration (must be called before module definitions).
  • Define provider/export contracts between modules.
  • Follow the recommended project structure:
src/
├── main.ts                 # Entry point
├── app.module.ts           # Root module
├── common/                 # Shared utilities
│   ├── middleware/
│   ├── filters/
│   └── guards/
├── users/                  # Feature module
│   ├── user.module.ts
│   ├── user.controller.ts
│   ├── user.service.ts
│   └── dto/
└── orders/                 # Feature module
    ├── order.module.ts
    └── ...

2) Apply core framework foundations (required)

These are essential foundations. Apply all of them in every Bun Server task using the core references already loaded in section 1.1.

Dependency Injection

  • Must-read reference from 1.1: dependency-injection
  • Mark all services with @Injectable().
  • Use constructor injection as the primary injection method.
  • Use Symbol+Interface pattern for abstract service contracts.
  • Choose appropriate scopes: Singleton (default), Transient, or Request-scoped.

Controllers and Routing

  • Must-read reference: controller-routing
  • Use @Controller with route prefix for grouping endpoints.
  • Use HTTP method decorators (@GET, @POST, @PUT, @DELETE) for route definitions.
  • Use parameter decorators (@Body, @Query, @Param, @Header, @Ctx) for request data binding.
  • Return objects directly for auto JSON serialization; use ResponseBuilder for special responses.

Middleware and Interceptors

  • Must-read reference: middleware
  • Use built-in middleware for common concerns (CORS, logging, rate limiting, static files).
  • Create custom middleware for cross-cutting concerns.
  • Use interceptors for pre/post request processing (logging, transformation, caching).
  • Follow the execution order: Global -> Controller -> Method for both middleware and interceptors.

Guards

  • Must-read reference: guards
  • Implement CanActivate for access control (authentication, authorization, feature flags).
  • Use @UseGuards() at controller or method level.
  • Use built-in AuthGuard, OptionalAuthGuard, RolesGuard + @Roles() when possible.
  • Use Reflector + metadata for dynamic guard logic.
  • Prefer throwing UnauthorizedException / ForbiddenException over returning false.

Validation

  • Must-read reference: validation
  • Define DTOs with validation decorators (@IsString, @IsEmail, @Min, etc.).
  • Use @Validate(DtoClass) on controller methods.
  • Use ValidateNested + @Type() for nested objects.
  • Use PartialType() for update DTOs.

Error Handling

  • Must-read reference: error-handling
  • Use built-in exceptions (NotFoundException, BadRequestException, etc.).
  • Create custom exceptions extending HttpException for domain-specific errors.
  • Register global exception filters for consistent error responses.
  • Async errors in handlers are automatically caught.

3) Load official modules only when requirements call for them

Do not add these by default. Load the matching reference only when the requirement exists.

Configuration

  • Type-safe config, env vars, config files (.json/.jsonc/.json5), dynamic refresh, Nacos config center -> config
  • Async config loading from remote sources -> async-module

Authentication and Authorization

  • JWT, OAuth2, guards, roles, access control -> security
  • Session management, session stores, user state -> session

Data and Storage

  • Database connections, ORM, entities, repositories, transactions -> database
  • Async DB config from ConfigService or secrets -> async-module
  • Caching with @Cacheable, cache eviction, Redis cache -> cache

Async Processing

  • Job queues, background tasks, @Cron scheduled tasks -> queue
  • Event-driven architecture, EventModule, @OnEvent (v1.9.0+: auto-scans listeners at app.listen(), no manual initializeListeners needed) -> events

Communication

  • WebSocket gateways, real-time features -> websocket

Documentation and Observability

  • API documentation, OpenAPI, Swagger UI -> swagger
  • Health checks, Prometheus metrics, monitoring -> health-metrics
  • Logging, log levels, structured logging -> logger
  • Embedded monitoring Web UI (routes, health, system info) -> dashboard
  • HTTP request recording, debug UI, JSONL export -> debug

Testing and Development Tools

  • Integration tests, module isolation, provider mocking, HTTP test client -> testing
  • Type-safe API client generation from route manifest -> client

Lifecycle Management

  • Startup/shutdown hooks, OnModuleInit, OnApplicationBootstrap, OnApplicationShutdown -> lifecycle

Deployment and Scaling

  • Multi-process clustering, CPU core utilization, worker crash recovery -> cluster
  • Platform adapter, Node.js 22+ support, runtime detection -> platform

AI Application Modules (v2.0+)

  • Unified LLM access, Tool Calling, streaming responses -> ai
  • Includes AiModule, ConversationModule, PromptModule, EmbeddingModule, VectorStoreModule, RagModule, McpModule, AiGuardModule

4) Microservice extensions (only when building distributed systems)

Only load when the project explicitly requires microservice architecture:

  • Service discovery, config center, load balancing, circuit breaker, distributed tracing -> microservice

5) Final self-check before finishing

  • Core behavior works and matches requirements.
  • All must-read references from 1.1 were read and applied.
  • tsconfig.json has experimentalDecorators and emitDecoratorMetadata enabled.
  • DI contracts are explicit: @Injectable() on all services, proper @Inject() where needed.
  • Module boundaries are clear: providers registered, exports declared for cross-module usage.
  • forRoot() calls happen before module definitions for all configurable modules.
  • Controllers use proper parameter decorators and return typed responses.
  • Validation DTOs are defined and applied to controller methods.
  • Error handling follows framework patterns (HttpException, exception filters).
  • Optional modules are used only when requirements demand them.
  • Event listener classes using @OnEvent are registered in a module's providers (required for auto-scan in v1.9.0+).
  • [v3] WebSocket handlers use IWebSocket<T> (from @dangao/bun-server), NOT ServerWebSocket<T> from bun.
  • [v3] app.getServer() returns IServerHandle | undefined, NOT Bun.Server | undefined.
  • [v3] If targeting Node.js, verify idleTimeout and reusePort are not relied on (Bun-only; silently ignored on Node.js).
  • If something is not working, check troubleshooting.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.4%
按下载量换算56

Claude

32.91%
按下载量换算52

Cursor

20.01%
按下载量换算31

Gemini CLI

9.25%
按下载量换算15

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills