PostgreSQL schema design, indexing strategies, transactions, and zero-downtime migrations. Use when designing tables, writing SQL queries, adding indexes, or planning schema changes. Apply whenever user uses serial instead of GENERATED ALWAYS AS IDENTITY, timestamp without time zone, NOT IN with nullable columns…
Redis key design, caching patterns, data structure selection, and performance. Use when working with Redis cache, sessions, queues, pub/sub, or streams. Apply whenever user uses KEYS instead of SCAN in Redis, forgets TTL on ephemeral cache keys, stores full JSON in String when Hash fits, uses DEL on large keys instead…
Angular 17+ Typed Reactive Forms — FormBuilder, FormGroup, Validators, FormArray, and Signal integration. Use when building forms, adding validation, or reading form state reactively. Apply whenever user uses new FormGroup() without FormBuilder.nonNullable, reads form.value instead of getRawValue() for form…
Angular 17+ core patterns — standalone components, Signals, new control flow (@if/@for), lifecycle hooks, pipes, and the inject() function. Use when writing Angular components, defining inputs/outputs, or working with reactive state via Signals. Apply whenever user writes ngFor without @for track expression, declares…
Angular 17+ services, DI, HttpClient with functional interceptors, and functional route guards. Use when wiring up services, HTTP calls, authentication guards, or request/response interceptors. Apply whenever user implements class-based HttpInterceptor instead of HttpInterceptorFn, registers interceptors with…
Angular 17+ testing with Jest + TestBed — standalone component tests, service tests, HTTP mocking, and signal-based input testing. Use when writing unit tests for Angular components or services. Apply whenever user sets signal inputs via component.myInput.set() instead of fixture.componentRef.setInput(), imports…
Cypress E2E testing — config, data-cy selectors, Custom Commands, cy.intercept with request assertions and fixture, and network error simulation. Use when writing end-to-end tests, stubbing API responses, or setting up Cypress in a project. Apply whenever user selects elements by CSS class, id, or data-testid instead…
Next.js Route Handlers, middleware, Auth.js integration, and environment variable conventions. Use when building API endpoints, adding authentication, or configuring request middleware. Apply whenever user writes API routes in pages/api/ instead of app/api/route.ts, uses Next.js middleware without a matcher config…
Next.js 13+ App Router — app/ directory structure, route groups, layouts, Server vs Client Components, and the "use client" boundary. Use when structuring a Next.js project, deciding component rendering strategy, or setting up loading/error states. Apply whenever user adds "use client" to page.tsx or layout.tsx, asks…
Next.js data fetching — Server Actions, fetch caching strategies, revalidation, TanStack Query in Client Components, next/image and next/font. Use when fetching data, handling mutations, or optimising asset loading. Apply whenever user calls API routes from Client Components to mutate data instead of using Server…
React form patterns — react-hook-form with Zod validation, Controller for complex inputs, server error handling. Use when building forms, adding validation, or integrating custom input components. Apply whenever user defines TypeScript types separately from Zod schema, uses useState per form field, or asks how to…
React component architecture — feature-based folder structure, custom hooks extraction, compound components, and composition patterns. Use when structuring a React project, extracting logic, or deciding between component patterns. Apply whenever user asks about folder structure for large React apps, compound component…
React state management — Zustand for client state, TanStack Query for server state. Use when deciding where state lives, setting up a store, fetching data, or handling mutations with cache invalidation. Apply whenever user uses useState+useEffect for fetched data, stores API response in Zustand, reads entire Zustand…
React testing with Vitest + React Testing Library + MSW. Use when writing component tests, mocking API calls, or deciding what to test in a React application. Apply whenever user uses fireEvent instead of userEvent.setup(), getByTestId as default query, jest.fn() to mock fetch calls, or arbitrary setTimeout in tests…
Framework-agnostic Go API server patterns — graceful shutdown, server interface, unified response, health endpoints. Use when building an HTTP or gRPC server, wiring startup/shutdown, or designing the server lifecycle in Go projects. Apply whenever user defines a Server interface, implements RunOrDie/GracefulStop…
Go app bootstrap pattern — cobra command, pflag options with viper config loading, and the Options→Config pipeline. Use when wiring up a Go service entry point. Apply whenever user writes cobra.Command, ServerOptions, AddFlags, viper.Unmarshal, mapstructure tags, or asks about cobra + viper config precedence in Go…
Clean Architecture layer design and Google Wire dependency injection for Go services. Use when structuring a new service, wiring dependencies, defining layer interfaces, deciding where business logic belongs, or when a handler is accessing the database directly. Always apply this skill when the user writes or reviews…
GORM database client setup and store layer — connection pool config, IStore interface, context-based transaction propagation, concrete store implementation. Use when setting up Go database access, configuring MySQL/SQLite with GORM, implementing the store layer, or wiring repositories with Google Wire. Apply whenever…
Echo framework patterns — engine setup, middleware, route groups, request binding, and error handling. Use when building Echo HTTP servers in Go. Apply whenever user writes echo.New(), echo.Context, c.Request().Context(), asks about Echo error handling, return-error handler pattern, or how Echo differs from Gin.
Go error handling using ErrorX sentinel pattern and errno directory structure. Use when defining errors, wrapping errors, propagating errors across layers, checking error types, handling GORM/database errors, or when to log vs return an error in Go projects. Apply whenever writing or reviewing error handling code in…
Fiber framework patterns — app setup, middleware, route groups, request binding, and response writing. Use when building Fiber HTTP servers in Go. Apply whenever user writes fiber.New(), fiber.Ctx, c.UserContext(), c.BodyParser(), or asks about Fiber middleware control flow or how Fiber differs from Gin — the…
Gin framework patterns — engine setup, middleware chain, route grouping, request binding, and response writing. Use when building Gin HTTP servers, adding middleware, defining routes, or handling requests in Go projects using the Gin framework. Apply whenever user writes gin.New(), gin.Default(), gin.HandlerFunc…
A set of conventions for writing Go code, including naming, package layout, interfaces, enumerated values, and common mistakes. Go is a programming language designed for compiled applications and services.
3▲
+1 3mo agoA74 tokens
At most 3 mods per repository are shown here, and a mod shipped inside a plugin is left to that plugin's page — the rest are on their repository pages: