Full-stack features.Copy. Paste. Ship.

One command. A complete feature — component, hook, store, server action, database model — all of it, in your Next.js repo. You own every line.

Built for:Next.js 14+TypeScriptPrismaPostgreSQL
terminal
$
$ npx feature101@latest add ai
Live Previewinstalled
Ask AIllama-3.3-70b
How do I add auth to my app?
Ask anything…
Groq · streaming · zero paid runtime depAskAI widget →
import { AskAI } from "@/features/ai"
// drop it in app/layout.tsx

↑ interactive — tap send to ask again

10 files1 command

complete vertical slice

~500 lines30 seconds

from zero to working

~2 hoursyou own it

of boilerplate, gone

0 runtimezero deps

nothing added to bundle

Anatomy of a feature

What one command gives you

Each primitive is a complete vertical slice — from UI to database. Not just a component.

Component

Ready-to-use React component

<FollowButton
  targetUserId=
  "user_xyz"
  showCount
/>

Hook

Optimistic update logic

const { isFollowing, followerCount,
  toggle } = useFollow(...)

Zustand Store

Client-side state management

create<FollowState>((set) => ({
  toggle: async () => ...
}))

Server Action

"use server" mutations

"use server"
async function
toggleFollow(
  targetUserId
) { ... }

Prisma Model

Prisma schema

model Follow {
  id String @id
  followerId
  String
}

Component → Hook → Store → Server Action → Database Model

Why feature101

Stop rebuilding the same patterns

The manual way

index.ts~20 lines
follow.types.ts~25 lines
follow.actions.ts~120 lines
follow.hooks.tsx~100 lines
follow.store.ts~65 lines
FollowButton.tsx~50 lines
lib/get-current-user.ts~25 lines
lib/prisma.ts~10 lines
prisma.config.ts~10 lines
schema.prisma~20 lines
10 files
~445 lines
~2 hours

The feature101 way

npx feature101@latest add follow
import { FollowButton } from "@/features/follow"

<FollowButton
  targetUserId="user_xyz"
  showCount={true}
/>
1 command
30 seconds
You own it
Save ~2 hours

Philosophy

Built differently, on purpose

Every design decision is intentional. Here's what separates feature101 from yet another component library.

You own every line

Code is copied directly into your project. No black-box dependencies, no hidden runtime, no version surprises.

shadcn/ui native

Features are built on shadcn/ui components and the CLI installs them for you. Polished UI with zero extra setup.

Prisma-powered

PostgreSQL by default. Prisma's driver-adapter architecture means MySQL, SQLite, or any other supported database is a schema change away — not a rewrite.

Zero magic

No hidden abstractions. Every line that runs is a line you can read. Customize, delete, or rewrite anything.

How it works

Three steps. Ship in seconds.

1

Pick a feature

Browse the registry for the primitive you need.

followtasksauthpaymentsaibooking
2

Run one command

The CLI scaffolds all files and installs dependencies automatically.

npx feature101@latest add follow
3

Import and use

The code is yours. Import the component and start shipping.

import { FollowButton } from "@/features/follow";

export default function Profile() {
  return (
    <FollowButton
      targetUserId="user_xyz"
      showCount={true}
    />
  );
}
shadcn/ui native

Polished UI, automatically

Every feature declares the shadcn/ui components it needs. The CLI installs them — production-grade, accessible UI without any extra setup.

buttonbadgeavatardialogdropdown-menutabscardskeleton
"follow" needs a buttondetected automatically
Installed for youno manual setup

FAQ

Common questions

Everything you need to know before running the first command.

Ready to ship?

Your first feature is 30 seconds away.

One command. No black-box dependencies. You own every line of code.