@zvk/feature-kit
v0.2.3
Published
Framework-agnostic feature-slice helpers for validation, guarded actions, query result envelopes, descriptors, and tests.
Readme
@zvk/feature-kit
Framework-agnostic feature-slice helpers for validation, guarded actions, query result envelopes, descriptors, and tests.
import { createFeatureNameParts, createFeatureScaffoldFiles, createMutationAction, createPermissionAuthorizer, defineFeature, parseSchemaValue } from "@zvk/feature-kit";
import { createFeatureScaffoldFiles as createFeatureScaffoldFilesFromScaffold } from "@zvk/feature-kit/scaffold";
import { toSlug } from "@zvk/feature-kit/naming";
import { deny } from "@zvk/feature-kit/permissions";
import { parseZodValue, type ZodValueParseResult } from "@zvk/feature-kit/zod";The package depends only on @zvk/contracts. It does not import React, Next.js, Supabase, Drizzle, browser APIs, or app database code.
Use parseSchemaValue or parseZodValue for feature-local validators that
need a { success, value } / { success, errors } shape instead of a
Result. Use ZodValueParseResult, ZodValueParseSuccess,
ZodValueParseFailure, ZodValueParseIssue, and the re-exported
ZodLikeSchema when exporting parser result types from a Zod-backed feature
boundary.
Use @zvk/feature-kit/schema-adapter only when you need the compatibility and
ergonomics re-export for existing feature slices. Canonical schema-adapter
ownership stays in @zvk/contracts/schema-adapter.
Use @zvk/feature-kit/naming for feature scaffold names, simple kebab-case
normalization, and stable ASCII slugs. The helpers do not own route names,
database constraints, product copy, or uniqueness policy.
Use @zvk/feature-kit/scaffold to turn validated feature names and caller-owned
templates into relative file plans. The helper does not import node:fs,
node:path, React, Next.js, or Zod, and it does not own generated app file
contents.
Use @zvk/feature-kit/permissions for framework-neutral allow, deny,
evaluatePermission, and createPermissionAuthorizer helpers. The authorizer
adapts boolean or allow/deny permission checks into
Result<context, ContractError> callbacks for app action wrappers while keeping
denied messages and policy copy app-owned.
Repo Skill
This repository keeps the Codex usage and maintenance skill at:
.codex/skills/use-zvk-feature-kit/SKILL.md
App-Owned Responsibilities
Applications still own schemas, table queries, business rules, copy, UI, route redirects, and framework integration. Use this package to remove repeated validation/action/permission envelope code without building a generic CRUD framework.
