Skill Commands

Access and apply code patterns from the command line.

Synopsis#

bootspring skill <command> [options]

Commands#

CommandDescription
listList available skills
show <name>Show skill content
search <query>Search for skills
apply <name>Apply a skill to your project

bootspring skill list#

List all available skills.

Usage#

bootspring skill list [options]

Options#

OptionDescription
--category <cat>Filter by category
--tier <tier>Filter by tier
--jsonOutput as JSON

Example#

bootspring skill list

Output:

Skills Library ═══════════════════════════════════════════════════════════════════ Authentication (6) ├── auth/clerk Clerk authentication setup ├── auth/nextauth NextAuth.js patterns ├── auth/auth0 Auth0 integration ├── auth/supabase Supabase Auth ├── auth/magic-link Passwordless login └── auth/social-providers OAuth providers Payments (8) ├── payments/stripe-checkout Stripe Checkout ├── payments/stripe-subscriptions Subscription billing ├── payments/stripe-webhooks Webhook handling ├── payments/stripe-portal Customer portal ├── payments/usage-billing Usage-based billing [Pro] ├── payments/metered-billing Metered subscriptions [Pro] ├── payments/invoices Invoice generation [Pro] └── payments/tax Tax calculation [Pro] Database (7) ├── database/prisma-setup Prisma configuration ├── database/migrations Migration patterns ├── database/soft-deletes Soft delete pattern ├── database/multi-tenant Multi-tenancy ├── database/rls Row-level security ├── database/pooling Connection pooling └── database/seeding Database seeding API (6) ├── api/rest-crud RESTful CRUD ├── api/graphql GraphQL setup ├── api/trpc tRPC integration ├── api/rate-limiting Rate limiting ├── api/api-keys API key auth └── api/versioning API versioning ... (more categories) ─────────────────────────────────────────────────────────────────── 55 skills available (45 free, 10 pro)
# Filter by category bootspring skill list --category auth # Filter by tier bootspring skill list --tier free

bootspring skill show#

Display skill content and documentation.

Usage#

bootspring skill show <name> [options]

Options#

OptionDescription
--summaryShow concise summary
--sections <list>Show specific sections
--jsonOutput as JSON

Example#

bootspring skill show auth/clerk

Output:

auth/clerk - Clerk Authentication ═══════════════════════════════════════════════════════════════════ Overview ──────── Complete Clerk authentication setup for Next.js with middleware, protected routes, and user management. Installation ──────────── npm install @clerk/nextjs Environment Variables ───────────────────── NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_... CLERK_SECRET_KEY=sk_test_... NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up Implementation ────────────── 1. Wrap your app with ClerkProvider ```tsx // app/layout.tsx import { ClerkProvider } from '@clerk/nextjs'; export default function RootLayout({ children }) { return ( <ClerkProvider> <html lang="en"> <body>{children}</body> </html> </ClerkProvider> ); }
  1. Create middleware for protected routes
1// middleware.ts 2import { authMiddleware } from '@clerk/nextjs'; 3 4export default authMiddleware({ 5 publicRoutes: ['/', '/sign-in', '/sign-up', '/api/webhooks(.*)'], 6}); 7 8export const config = { 9 matcher: ['/((?!.+\\.[\\w]+$|_next).*)', '/', '/(api|trpc)(.*)'], 10};
  1. Create sign-in page
1// app/sign-in/[[...sign-in]]/page.tsx 2import { SignIn } from '@clerk/nextjs'; 3 4export default function SignInPage() { 5 return ( 6 <div className="flex min-h-screen items-center justify-center"> 7 <SignIn /> 8 </div> 9 ); 10}

Best Practices ────────────── • Use publicRoutes for public pages • Handle webhooks for user sync • Use useUser() hook for client components • Use currentUser() for server components

Related Skills ────────────── • database/prisma-setup - User model integration • api/rate-limiting - Protect API routes • email/transactional - Welcome emails

```bash # Show summary only bootspring skill show auth/clerk --summary # Show specific sections bootspring skill show auth/clerk --sections "installation,implementation"

Search for skills by keyword.

Usage#

bootspring skill search <query> [options]

Options#

OptionDescription
--limit <n>Limit results
--jsonOutput as JSON

Example#

bootspring skill search "authentication"

Output:

Search Results: "authentication" ═══════════════════════════════════════════════════════════════════ Found 6 skills: 1. auth/clerk Clerk authentication setup Tags: auth, clerk, nextjs 2. auth/nextauth NextAuth.js authentication patterns Tags: auth, nextauth, oauth 3. auth/auth0 Auth0 integration Tags: auth, auth0, oauth 4. auth/supabase Supabase Auth Tags: auth, supabase 5. auth/magic-link Passwordless login Tags: auth, magic-link, passwordless 6. auth/social-providers OAuth providers Tags: auth, oauth, social ─────────────────────────────────────────────────────────────────── Use 'bootspring skill show <name>' for details

bootspring skill apply#

Apply a skill pattern to your project.

Usage#

bootspring skill apply <name> [options]

Options#

OptionDescription
--dry-runPreview changes without writing
--forceOverwrite existing files
--output <dir>Output directory

Example#

bootspring skill apply auth/clerk

Output:

Applying: auth/clerk ═══════════════════════════════════════════════════════════════════ Analyzing project... ✓ Detected Next.js 14 (App Router) ✓ Detected TypeScript Files to create: • middleware.ts • app/(auth)/sign-in/[[...sign-in]]/page.tsx • app/(auth)/sign-up/[[...sign-up]]/page.tsx • app/(auth)/layout.tsx • lib/auth.ts Files to modify: • app/layout.tsx (add ClerkProvider) • .env.local (add environment variables) Dependencies to install: • @clerk/nextjs ? Apply these changes? (y/N) y Installing dependencies... ✓ Installed @clerk/nextjs Creating files... ✓ Created middleware.ts ✓ Created app/(auth)/sign-in/[[...sign-in]]/page.tsx ✓ Created app/(auth)/sign-up/[[...sign-up]]/page.tsx ✓ Created app/(auth)/layout.tsx ✓ Created lib/auth.ts Modifying files... ✓ Updated app/layout.tsx ✓ Updated .env.local ─────────────────────────────────────────────────────────────────── Skill applied successfully! Next steps: 1. Add your Clerk keys to .env.local 2. Run: npm run dev 3. Visit: http://localhost:3000/sign-in
# Preview changes bootspring skill apply auth/clerk --dry-run # Force overwrite bootspring skill apply auth/clerk --force

Configuration#

Skill Preferences#

1// bootspring.config.js 2module.exports = { 3 skills: { 4 preferences: { 5 auth: 'clerk', 6 payments: 'stripe', 7 email: 'resend', 8 database: 'prisma', 9 }, 10 }, 11};

Custom Patterns#

1module.exports = { 2 skills: { 3 customPatterns: { 4 'api/my-pattern': { 5 description: 'Custom API pattern', 6 files: [ 7 { 8 path: 'lib/api/{{name}}.ts', 9 template: 'templates/api.ts.hbs', 10 }, 11 ], 12 }, 13 }, 14 }, 15};

Tips#

Combine Skills#

Apply related skills together:

1# Set up auth with database 2bootspring skill apply auth/clerk 3bootspring skill apply database/prisma-setup 4 5# Set up payments 6bootspring skill apply payments/stripe-checkout 7bootspring skill apply payments/stripe-webhooks

Preview First#

Always preview changes:

bootspring skill apply auth/clerk --dry-run

Check Compatibility#

Ensure skills match your stack:

bootspring skill show auth/clerk --sections "requirements"