Initial commit
This commit is contained in:
81
skills/create-auth/SKILL.md
Normal file
81
skills/create-auth/SKILL.md
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
name: Create Auth Skill
|
||||
description: A skill to create auth service for new applications.
|
||||
---
|
||||
|
||||
# Create auth layer for your TypeScript/JavaScript applications
|
||||
|
||||
## Overview
|
||||
|
||||
A user could ask you to create authentication and authorization layers for their TypeScript/JavaScript applications.
|
||||
|
||||
## Decision Tree: Choosing Your Approach
|
||||
|
||||
```
|
||||
User task -> Do we start from a empty project?
|
||||
├─ Yes → Create a new project with authentication scaffolding
|
||||
│ ├─ Choose web framework: React, Next.js, Express, etc.
|
||||
│ ├─ Select database: PostgreSQL, MongoDB, etc.
|
||||
│ ├─ Set up auth using @better-auth/cli
|
||||
│ └─ Customize auth flows as per user requirements, like OAuth, JWT, Organization, Admin...
|
||||
│
|
||||
└─ No → Is the existing project already have authentication?
|
||||
├─ Yes → Review existing auth implementation
|
||||
│ ├─ Identify gaps or improvements needed
|
||||
│ ├─ Read document for missing features from `better-auth`
|
||||
│ └─ Test and validate the updated auth flows
|
||||
│
|
||||
└─ No → Analyze the existing project structure
|
||||
├─ Choose appropriate auth strategy
|
||||
├─ Integrate `better-auth` into the existing codebase
|
||||
└─ Implement and test the new authentication flows
|
||||
```
|
||||
|
||||
## Example: Next.js app with Better Auth
|
||||
|
||||
You can read [templates/nextjs](https://github.com/better-auth/examples/tree/main/nextjs-mcp)
|
||||
to see a complete example of a Next.js app integrated with Better Auth.
|
||||
|
||||
In this example, you can see the most two essential files, auth.ts and auth-client.ts.
|
||||
|
||||
```ts
|
||||
import { betterAuth } from 'better-auth'
|
||||
import Database from 'better-sqlite3'
|
||||
|
||||
export const auth = betterAuth({
|
||||
database: new Database('./auth.db'),
|
||||
baseURL: 'http://localhost:3000',
|
||||
plugins: [],
|
||||
emailAndPassword: {
|
||||
enabled: true
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
```ts
|
||||
import { createAuthClient } from "better-auth/react";
|
||||
|
||||
export const authClient = createAuthClient();
|
||||
```
|
||||
|
||||
In this example, it doesn't include any plugins, but you can easily add plugins by importing them from
|
||||
`better-auth/plugins` and adding them to the `plugins` array in the `betterAuth` configuration.
|
||||
|
||||
Also you will need to update auth client to make sure client-side plugins are included.
|
||||
|
||||
You can refer to the [plugins](https://www.better-auth.com/docs/concepts/plugins) for more details on how
|
||||
to set up and customize your authentication flows.
|
||||
|
||||
## Dependencies
|
||||
|
||||
To use better-auth, install these dependencies only if they aren't already present in package.json:
|
||||
|
||||
```bash
|
||||
npm install better-auth
|
||||
```
|
||||
|
||||
## Advanced features
|
||||
|
||||
**@better-auth/cli**: See [cli](https://www.better-auth.com/docs/concepts/cli) for details on how to use the CLI tool.
|
||||
**Examples**: See [examples](https://github.com/better-auth/examples) for complete example projects using better-auth,
|
||||
including astro, browser-extension, next.js, nuxt, svelte and tanstack.
|
||||
0
skills/create-auth/reference.md
Normal file
0
skills/create-auth/reference.md
Normal file
Reference in New Issue
Block a user