51 lines
1.7 KiB
TypeScript
51 lines
1.7 KiB
TypeScript
import type { Metadata } from 'next';
|
|
|
|
const BASE_URL = 'https://ayrisai.xyz';
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'AI System Prompts & LLM Templates | ayris.tech',
|
|
description:
|
|
'Curated AI system prompts and LLM agent templates for ChatGPT, Claude, and Gemini. Covering Next.js architecture, UI/UX design, Python automation, and full-stack development roles.',
|
|
keywords: [
|
|
'AI system prompts', 'ChatGPT system prompt', 'Claude system prompt',
|
|
'LLM agent template', 'AI coding assistant prompt',
|
|
'Next.js AI prompt', 'Python AI agent prompt', 'Gemini prompt engineering',
|
|
],
|
|
alternates: {
|
|
canonical: `${BASE_URL}/en/prompts`,
|
|
},
|
|
openGraph: {
|
|
title: 'AI System Prompts & LLM Templates | ayris.tech',
|
|
description: 'Battle-tested AI system prompts and LLM templates for ChatGPT, Claude, and Gemini.',
|
|
url: `${BASE_URL}/en/prompts`,
|
|
type: 'website',
|
|
},
|
|
};
|
|
|
|
export default function PromptsLayout({ children }: { children: React.ReactNode }) {
|
|
return (
|
|
<>
|
|
<script
|
|
type="application/ld+json"
|
|
suppressHydrationWarning
|
|
dangerouslySetInnerHTML={{
|
|
__html: JSON.stringify({
|
|
'@context': 'https://schema.org',
|
|
'@type': 'CollectionPage',
|
|
name: 'AI System Prompts & LLM Templates — ayris.tech',
|
|
description:
|
|
'Curated AI system prompts for ChatGPT, Claude, and Gemini. For Next.js, Python, UI/UX, and full-stack development.',
|
|
url: `${BASE_URL}/en/prompts`,
|
|
publisher: {
|
|
'@type': 'Person',
|
|
name: 'ayris.tech',
|
|
url: BASE_URL,
|
|
},
|
|
}),
|
|
}}
|
|
/>
|
|
{children}
|
|
</>
|
|
);
|
|
}
|