stellar 판매

Payload is a Next.js-native headless CMS and app framework that installs directly into your /app folder, offering full TypeScript support, role-based auth, drafts, localization, and pluggable database adapters.
Payload CMS is a Next.js-native headless CMS and application framework that installs directly into your existing /app directory. It provides collections, authentication, media management, rich text editing, and a fully extensible admin UI—all as TypeScript-first, open-source software. The typical buyer is a Node.js/TypeScript developer building a content-driven web application who wants a self-hosted, code-first CMS without vendor lock-in.
.claude/ - AI assistant command definitions and skill scripts for project automation.claude-plugin/ - Marketplace plugin manifest for Claude integration.cursor/ - Cursor IDE MCP configuration.github/ - CI workflows, issue templates, release actions, and PR templates.stylelint/ - Shared Stylelint configuration files.vscode/ - VS Code workspace settingsapp/ - Root Next.js app directory (demo/documentation site entry point)docs/ - Official Payload documentation source filesexamples/ - Runnable example projects (auth, astro, etc.) demonstrating real usage patternspackages/ - Monorepo packages: core payload, database adapters, plugins, UI componentspublic/ - Static assets for the documentation/demo sitescripts/ - Monorepo maintenance and release scriptstemplates/ - Production-ready starter templates (website, e-commerce, blog, etc.)tools/ - Internal build and codegen toolingnext.config.mjs - Root Next.js configurationpayload-types.ts - Auto-generated TypeScript types for the root Payload configturbo.json - Turborepo pipeline configuration for the monorepovitest.config.ts - Vitest test runner configurationtsconfig.base.json - Shared base TypeScript configuration extended by all packagesnpm install payload @payloadcms/next @payloadcms/richtext-lexical
npm install @payloadcms/db-postgres
# OR for MongoDB:
npm install @payloadcms/db-mongodb
# Optional but common plugins:
npm install @payloadcms/plugin-cloud-storage @payloadcms/plugin-seo @payloadcms/plugin-form-builder
# Peer dependencies required by Payload:
npm install next@^15 react@^19 react-dom@^19 graphql
npm install sharp # Required for image resizing
격리된 샌드박스를 띄워 서버에서 바로 실행하세요 — 로컬 설정 불필요.
이 버전에 대한 Tetrees AI Review
This TypeScript cli / script completed archive review. Structure, dependency manifests, documentation, functional source, and common risk patterns were checked by the Tetrees verification pipeline; runtime phases are stated separately.
Deterministic AVCP artifact review
파이프라인 avcp-2026-08-04.1 · SHA-256 616b9da10ecdfec7…
This version-scoped review deterministically inspects the submitted archive for structure, dependencies, documentation, functional source, and common malicious or high-risk signals. Build and test phases are reported as passed only after an isolated sandbox audition. It is not a guarantee of perfect security.
검토일 2026년 8월 4일
이 제품을 AI IDE, 웹 빌더 또는 클라우드 IDE로 바로 가져오세요.
Tetrees를 호환 AI IDE에 연결해 보유 제품을 불러오고, 판매자 업로드 권한을 노출하지 않은 채 검증된 ZIP을 받으세요.
아직 리뷰가 없습니다.
토론을 불러오는 중…
No native build steps (pod install / Android linking) are required. Payload runs fully in Node.js. If deploying to Vercel Edge or Cloudflare Workers, use the appropriate adapter packages (@payloadcms/db-vercel-postgres or @payloadcms/db-d1).
Scaffold or copy source into your project root. If using an existing Next.js app, install the packages above and create a payload.config.ts at your project root.
Configure next.config.mjs to wrap your config with the Payload plugin:
import { withPayload } from '@payloadcms/next/withPayload'
/** @type {import('next').NextConfig} */
const nextConfig = {}
export default withPayload(nextConfig)
Create payload.config.ts:
import { buildConfig } from 'payload'
import { postgresAdapter } from '@payloadcms/db-postgres'
import { lexicalEditor } from '@payloadcms/richtext-lexical'
export default buildConfig({
secret: process.env.PAYLOAD_SECRET!,
db: postgresAdapter({ pool: { connectionString: process.env.DATABASE_URI! } }),
editor: lexicalEditor({}),
collections: [],
})
Add the Payload API route handler at app/(payload)/api/[...slug]/route.ts:
export { GET, POST, DELETE, PATCH } from '@payloadcms/next/handlers'
Add the admin route at app/(payload)/admin/[[...segments]]/page.tsx:
export { default } from '@payloadcms/next/views/Root'
Set environment variables:
PAYLOAD_SECRET=your-random-secret-at-least-32-chars
DATABASE_URI=postgres://user:pass@localhost:5432/mydb
NEXT_PUBLIC_SERVER_URL=http://localhost:3000
Extend tsconfig.json from the base if using the monorepo approach:
{ "extends": "./tsconfig.base.json", "include": ["**/*.ts", "**/*.tsx"] }
Run npx payload generate:types to produce payload-types.ts after defining collections.
config (from examples/astro/payload/src/index.ts)import { config } from './payload/src/index'
// typeof config: SanitizedConfig (Payload's fully resolved configuration object)
The default export re-exported as config is the sanitized Payload configuration object built by buildConfig(). Pass it to getPayload({ config }) in server-side code to obtain a Payload client instance. Use this in non-Next.js hosts (Astro, Express, Cloudflare Workers) where you import the config manually rather than relying on the Next.js plugin auto-detection.
useAuth (from examples/auth/src/app/(app)/_providers/Auth)import { useAuth } from './_providers/Auth'
const {
user, // Currently authenticated user object or null
login, // (credentials: { email: string; password: string }) => Promise<User>
logout, // () => Promise<void>
setUser, // (user: User | null) => void
} = useAuth()
A React context hook that exposes the current session state. Call login with email/password to authenticate; call logout to clear the session. Reads the HTTP-only cookie set by Payload's /api/users/login endpoint. Use this in any client component that needs to gate UI by auth state.
AccountForm (from examples/auth/src/app/(app)/account/AccountForm/index.tsx)import { AccountForm } from './(app)/account/AccountForm'
// React.FC — no props required
A client component rendering a controlled form (via react-hook-form) that PATCHes /api/users/:id to update the logged-in user's name, email, and optionally password. Consume useAuth internally to read user.id and call setUser after a successful update. Drop this directly into an account-settings page.
CreateAccountForm (from examples/auth/src/app/(app)/create-account/CreateAccountForm/index.tsx)import { CreateAccountForm } from './(app)/create-account/CreateAccountForm'
// React.FC — no props required
Posts to /api/users to create a new user, then calls login from useAuth to immediately authenticate. Reads the ?redirect query parameter from useSearchParams to redirect after signup. Use this wherever you need a self-service registration flow backed by Payload's Users collection.
Query a Payload collection from a Next.js React Server Component without an HTTP round-trip by using the local API.
// app/posts/page.tsx
import { getPayload } from 'payload'
import config from '@/payload.config'
export default async function PostsPage() {
const payload = await getPayload({ config })
const { docs } = await payload.find({
collection: 'posts',
where: { _status: { equals: 'published' } },
limit: 20,
})
return (
<ul>
{docs.map((post) => (
<li key={post.id}>{post.title}</li>
))}
</ul>
)
}
Wire up the exported LoginForm pattern using the useAuth hook in a custom login page.
// app/(app)/login/page.tsx
'use client'
import { useCallback, useState } from 'react'
import { useAuth } from '../_providers/Auth'
import { useRouter } from 'next/navigation'
export default function LoginPage() {
const { login } = useAuth()
const router = useRouter()
const [error, setError] = useState<string | null>(null)
const handleSubmit = useCallback(async (e: React.FormEvent<HTMLFormElement>) => {
e.preventDefault()
const fd = new FormData(e.currentTarget)
try {
await login({
email: fd.get('email') as string,
password: fd.get('password') as string,
})
router.push('/account')
} catch {
setError('Invalid credentials.')
}
}, [login, router])
return (
<form onSubmit={handleSubmit}>
{error && <p>{error}</p>}
<input name="email" type="email" required />
<input name="password" type="password" required />
<button type="submit">Log in</button>
</form>
)
}
Create a user account using Payload's REST endpoint from a plain TypeScript script or integration test.
// scripts/seed-user.ts
async function createUser(email: string, password: string) {
const res = await fetch(`${process.env.NEXT_PUBLIC_SERVER_URL}/api/users`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, password }),
})
if (!res.ok) {
const text = await res.text()
throw new Error(`Failed to create user: ${res.status} ${text}`)
}
const data = await res.json()
console.log('Created user:', data.doc.id)
return data.doc
}
createUser('admin@example.com', 'supersecret123').catch(console.error)
.claude/ - Contains custom slash-command definitions (analyze-issue.md, triage.md) and shell hooks for AI-assisted development workflows in this monorepo..claude-plugin/ - Marketplace manifest declaring this repo as a Claude plugin with tool and skill metadata..cursor/ - MCP server connection config for the Cursor IDE, mirroring .mcp.json..github/ - Complete CI/CD pipeline: GitHub Actions workflows, issue/PR templates, auto-triage actions, and release-commenter automation..stylelint/ - Shared Stylelint rules and order configuration extended by all packages with CSS..vscode/ - Recommended extensions, workspace settings, and debug launch configurations.app/ - The public-facing Payload documentation and demo Next.js application deployed at payloadcms.com.docs/ - MDX source files for all official Payload documentation pages.examples/ - Self-contained runnable projects (auth, Astro, multitenancy, live preview, etc.) used as integration references.packages/ - The publishable npm packages: payload core, @payloadcms/next, database adapters, rich text editor, plugins, and UI.public/ - Static images, fonts, and assets served by the documentation site.scripts/ - Monorepo automation: version bumping, changelog generation, and workspace sync.templates/ - Full production starter projects (website, ecommerce, blank) scaffolded by create-payload-app.tools/ - Internal codegen utilities for generating types, translations, and test fixtures.next.config.mjs - Root Next.js configuration wrapping the docs/demo site with Payload.payload-types.ts - Auto-generated TypeScript interfaces for every collection, global, and block in the root config.turbo.json - Turborepo task graph defining build, test, lint, and type-check pipelines with caching.vitest.config.ts - Root Vitest configuration with workspace references for all package test suites.tsconfig.base.json - Shared compilerOptions (strict mode, ESNext target, path aliases) inherited by every package.PAYLOAD_SECRET too short or missing - Payload requires at least 32 characters; set a cryptographically random string or startup will throw.withPayload wrapper in next.config.mjs - Without it, Webpack/Turbopack cannot resolve Payload's internal aliases and you get Module not found errors; always wrap your config.payload generate:types not re-run after schema changes - Stale payload-types.ts causes TypeScript errors on collection fields; add npx payload generate:types to your postinstall script.sharp not installed for image uploads - Payload's image resize pipeline hard-requires sharp; install it explicitly (npm install sharp) and ensure it is not in devDependencies.SameSite issues in development - Auth cookies require NEXT_PUBLIC_SERVER_URL to match the actual origin exactly (including port); mismatches silently drop cookies and useAuth always returns user: null.config export from your payload/src/index.ts barrel and pass it to getPayload({ config }); do not import payload.config.ts directly as a default in CJS contexts without a bundler.I have purchased the Payload CMS source block. The source code is in the `source/` directory.
A full integration guide is in `source/USAGE.md`. The upstream package is `user@example.com`.
Please help me integrate Payload CMS into my existing Next.js 15 project step by step:
1. Read `source/USAGE.md` completely before starting.
2. Install all required dependencies listed in the "Required dependencies" section.
3. Create `payload.config.ts` at my project root using my existing database connection string in `.env`.
4. Add the Payload Next.js plugin to my `next.config.mjs`.
5. Scaffold the required API and admin routes under `app/(payload)/`.
6. Copy the auth provider pattern from `source/examples/auth/src/app/(app)/_providers/Auth/` and wire it into my root layout.
7. Generate TypeScript types with `npx payload generate:types`.
8. Show me a working server component that queries my first collection using the local API.
Use only the real exports and file paths shown in `source/USAGE.md`. Do not invent APIs.
Ask me before making any changes to files outside `app/` and `payload.config.ts`.
Payload CMS is released under the MIT License (see source/LICENSE.md). The upstream project is maintained by the Payload team at https://github.com/payloadcms/payload and published on npm as payload. Commercial templates and cloud hosting are available at payloadcms.com.
This product’s unique contribution is clean room implementation of valuable code block into AVCP compatible standard.
전체 설치 가이드와 연동 프롬프트는 구매 후 열람할 수 있습니다.
Automation, Utilities & Developer Tools
무료