一键导入
这个仓库中的 skills
Application-level @youneed/server plugins beyond the core middleware — API protocols, background services, and observability. GraphQL (@youneed/server-plugin-graphql: schema-first SDL or GraphQLSchema + resolvers, spec-compliant POST/GET endpoint, GraphiQL, devtools tab), gRPC (@youneed/server-plugin-grpc: @grpc/grpc-js server on its own HTTP/2 listener tied to the app lifecycle, .proto load, call-tester devtools), transactional email (@youneed/server-plugin-mailer: MailTransport contract + SMTP/SES/SendGrid/Postmark transports, no SDKs), object/blob storage (@youneed/server-plugin-storage: StorageAdapter contract + Memory/File/S3 adapters), a durable background job queue (@youneed/server-plugin-queue: retries+backoff, dead-letter, delayed/concurrent workers, persisted to KV), and OTLP trace export (@youneed/server-plugin-otlp: batches trace-middleware spans, POSTs OTLP/HTTP JSON to a collector/Jaeger/Tempo/Grafana, no OTel SDK). Use this skill when adding a GraphQL or gRPC endpoint, sending email, storing fi
Expert assistant for the youneed framework (@youneed/dom web components and @youneed/server HTTP server, both on TC39 decorators). This skill should be used when answering questions about youneed components or server, organizing youneed code, optimizing performance bottlenecks, wiring up or recommending @youneed/server-middleware-* packages, adding authentication or login (OAuth2/OIDC providers, OTP, JWT/API-key verification, webhook signatures), handling file uploads, migrating a frontend from React/Vue/Angular/Lit to @youneed/dom, or migrating a backend from Express/Nest/Fastify/Bun/Elysia/tRPC to @youneed/server.
Building command-line tools with @youneed/cli — a type-safe, Commander-style CLI framework on the @youneed factory-class pattern (commands and options as classes, this.options/execute(...) typed straight from flag strings), plus a reactive render()/task live region, onion middleware (providers), application plugins, and graceful shutdown. Covers the cli-middleware-*/cli-plugin-* ecosystem: terminal UIs (screen, progress, prompt, pages, oscillator, color, markdown), input/process security (env, childprocess, fs, worker, clipboard), startup/redraw optimization (cache, worker, scheduler), and accessibility (NO_COLOR/TTY detection, notification, music, i18n). This skill should be used when defining commands or options, building a terminal UI / TUI, validating CLI input or env, spawning subprocesses safely, prompting interactively, speeding up CLI startup or redraws, or making a CLI screen-reader / non-TTY friendly.
The HTTP boundary of a youneed app — consuming APIs and running the server on any runtime. @youneed/api-client: a typed API-client runtime plus an OpenAPI → TypeScript client codegen (CLI youneed-api-codegen + programmatic generateClient) that consumes the OpenAPI doc @youneed/server emits, so there's no hand-written fetch and no server/client drift; dependency-free (global fetch, or pass @youneed/http-client). @youneed/http-client: a zero-dependency universal resilient fetch wrapper (per-attempt timeout, retry with exponential backoff + full jitter honoring Retry-After and only retrying idempotent methods by default, and a circuit breaker) that works in Node/Bun/Deno/browser. @youneed/server-adapter: run one @youneed/server app on any runtime — a Web fetch(Request)=>Response bridge over the app's node:http listener for edge/serverless (Cloudflare Workers, Vercel/Netlify edge, Lambda) plus node/bun/deno serve adapters with runtime auto-detection. Use this skill when generating or consuming a typed API client,
Developer-experience tooling for the youneed framework: wiring up @youneed/devtools (runtime component inspector — tree, props history/time-travel, emitted events, live scheduler swap, style editing) and @youneed/ts-plugin (TypeScript language-service plugin giving autocomplete, hover docs, go-to-definition and squiggle diagnostics inside html`` and css`` templates). This skill should be used when setting up, configuring, debugging, or explaining the youneed devtools panel or the ts-plugin editor integration.
Feature flags in the youneed framework. The framework-agnostic @youneed/feature-flags engine (boolean/variant/value flags, attribute targeting + deterministic percentage rollout by targetingKey, synchronous evaluation across DOM/SSR/CLI/server, SSR snapshot hydration, onEvaluation hook) plus its per-surface integrations — @youneed/server-plugin-feature-flags (request-scoped this.flags + control/bootstrap routes + devtools), @youneed/dom-provider-feature-flags (evaluate in templates, re-render on change), @youneed/ssr-plugin-feature-flags (server-evaluate + inject snapshot into <head> so the client hydrates identical values), @youneed/cli-plugin-feature-flags (flags command + this.flags in commands), @youneed/test-plugin-feature-flags (fresh engine per test, withFlags/expectFlag) — and remote/source adapters @youneed/feature-flags-vercel (Edge Config source), -launchdarkly (remote evaluator), -posthog (/decide evaluator), -datadog (exposure telemetry sink). Use this skill when defining flags, targeting/rollout
The shared foundation under every @youneed package and the tooling to build on it. @youneed/core — the zero-dependency primitives the whole monorepo builds on: shared type aliases, the class-metadata registry (createRegistry/ctorOf/classChain — the TC39 addInitializer + WeakMap pattern that makes decorators work under esbuild/tsx where Symbol.metadata is never emitted), and disposal helpers (dispose/isDisposable/disposeValue bridging plain cleanups to using/await using). @youneed/vite-plugin — the domFramework() Vite plugin that pre-transpiles TC39 standard decorators with esbuild (supported:{decorators:false}) before Vite's oxc/esbuild transform, which otherwise leaves them raw and breaks the entry graph. create-youneedpackage — the internal scaffolder for new workspace packages. Use this skill when authoring your own decorator-driven base class (Component/Controller/Test-style factory), when standard decorators fail to compile under Vite (blank page / SyntaxError), when adding using-based resource cleanup,
Logging for the youneed framework: the universal @youneed/logger core (createLogger, levels, JSON/format pipeline, secret redaction, child loggers, transport contract), the transport packages (@youneed/logger-transport-stdout, -file, -http), and @youneed/server-plugin-env for fail-fast env loading. This skill should be used when setting up logging, choosing transports, redacting secrets, correlating logs by requestId/traceId on the backend, shipping browser/client logs over HTTP, or wiring log level from config.
Migrating an existing app onto the youneed stack — porting a frontend from React/Vue/Angular/Lit/Preact/Svelte to @youneed/dom (web components, html``/css`` templates, field-level reactivity), a backend from Express/Nest/Fastify/Bun/Elysia/tRPC to @youneed/server (Controller classes, onion middleware, t.* schemas), the data layer from TypeORM/Prisma/Mongoose/Sequelize to @youneed/orm-sql / @youneed/orm-nosql / @youneed/kv, and tests from Jest/Vitest/Mocha to @youneed/test. Covers the incremental/strangler strategy, the interop adapters (@youneed/dom-adapter-{react,vue,angular,preact,svelte,astro}), OpenAPI client codegen (@youneed/api-client), and the TC39-decorator/tsconfig build switch. Use this skill when planning or executing a migration TO youneed, mapping an old framework's API to youneed's, or deciding migration order and interop boundaries.
Data persistence in the youneed framework: the SQL ORM @youneed/orm-sql (TypeORM-style entities on TC39 decorators, built-in SQLite via node:sqlite, pluggable dialect adapters like @youneed/orm-adapter-mysql, repository CRUD), the document/NoSQL ORM @youneed/orm-nosql (Mongo-style Collection entities, built-in in-memory store + @youneed/orm-adapter-mongo, Mongo-operator filters, repository CRUD), and the key-value layer @youneed/kv (KV contract + in-process MemoryKV + namespaced) with @youneed/kv-redis (Redis/Valkey over RESP). This skill should be used when defining SQL or document entities, connecting to SQLite/MySQL/MongoDB or the in-memory stores, doing repository CRUD, or using KV stores for sessions/rate-limit/distributed cache.
Authorization and secrets in the youneed framework. RBAC — the framework-agnostic @youneed/rbac engine (roles grant action×resource permissions, role inheritance, ownership/attribute conditions, explicit deny beats allow, synchronous) plus its integrations: @youneed/server-plugin-rbac (authorize() guard + request-scoped this.can + devtools tab), @youneed/dom-provider-rbac (this.can UI gating, re-renders on subject change), @youneed/test-plugin-rbac (fresh engine per test, expectCan/expectCannot). Secrets — the @youneed/secrets engine (SecretsProvider contract, caching, secret:// reference resolution, require) with built-in env/memory/file providers, managed backends @youneed/secrets-vault (HashiCorp Vault KV v2) and @youneed/secrets-aws (AWS Secrets Manager, SigV4, no SDK), and @youneed/server-plugin-secrets (this.secrets on controllers, never leaks values). Use this skill when adding role/permission checks, gating routes or UI, deriving a Subject from the authenticated principal, loading secrets/config, or w
Server-side rendering and static generation in the youneed framework: rendering @youneed/dom web components to HTML on the server (@youneed/ssr — renderToString/renderToStream as Declarative Shadow DOM, the document-level Page entity, mountPages), the ssr() ServerPlugin (@youneed/server-plugin-ssr) that owns the page list, client hydration + SPA navigation with @youneed/dom-router (createRouter, outlet() partial routing) and @youneed/ssr-router Error/404 pages, static site generation (renderPageToString / renderPage to HTML files, mode: "ssg"), and the SEO satellite SSR modules robots/sitemap/rss/llms/structured-data. This skill should be used when adding SSR or SSG to a youneed app, hydrating SSR'd components, wiring SSR routing, or emitting robots.txt/sitemap.xml/rss.xml/llms.txt/JSON-LD.
Writing and running tests with @youneed/test — the class + TC39-decorator test framework (suites extend Test(), @Test.it cases, Fixture() scoped setup/teardown, expect matchers, fn/spyOn mocks). Covers data-driven @Test.each, TestContext (steps, annotations, attachments, ctx.signal abort + timeouts), parallel/worker/shard runs + blob merge, the reporter ecosystem (@youneed/test-reporter-*), plugins (benchmark/resilience/snapshot), the live devtools UI server (@youneed/test-devtools), running a webServer as a precondition (à la Playwright), and the CLI. Use this skill when writing a test suite/fixture, choosing matchers, debugging flaky/async tests, setting timeouts or cancellation, parallelizing or sharding a run, picking a reporter, or wiring an E2E web server.
UI building blocks for @youneed/dom: the shadcn-style component library @youneed/dom-ui-shad (Custom Elements + Shadow DOM styled with Tailwind, a copy-the-source `shad` CLI so you own the components, plus direct imports) and the composable component providers that augment `this` — @youneed/dom-provider-color-scheme (light/dark/auto, reflects CSS color-scheme + data-color-scheme), @youneed/dom-provider-direction (LTR/RTL dir), @youneed/dom-provider-logger (scoped @youneed/logger child stamped with the component tag), @youneed/dom-provider-zustand (bind a Zustand store, re-render on change or on a selected slice), and @youneed/dom-provider-env (type-safe fail-fast frontend env via @youneed/schema `t`). Use this skill when scaffolding or customizing shad UI components, setting up Tailwind in Shadow DOM, adding theming/dark-mode or RTL, giving components a scoped logger or env, or wiring Zustand state into components. For the a11y and i18n providers see the main youneed skill; for the provider mechanism itself s