chore: src/ yapısı, shadcn/ui ve temel bağımlılıklar

- app/ klasörü src/app altına taşındı, @/* alias'ı src/'yi gösteriyor
- tsconfig: noUncheckedIndexedAccess
- shadcn/ui (Radix, Nova) başlatıldı
- Better Auth, MongoDB 7.7, Mongoose 9, zod 4, react-hook-form, next-themes, sonner, TanStack Table
- next.config: standalone çıktı, poweredByHeader kapalı
- Geçici /api/health, i18n/tr.ts, Türkçe layout
- Prompt docs/PROMPT.md olarak taşındı ve Faz 0 kararları işlendi

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-05 01:08:10 +03:00
parent 2de5f0cfe1
commit 7f69f4019d
32 changed files with 6439 additions and 256 deletions
+34
View File
@@ -0,0 +1,34 @@
import type { Metadata, Viewport } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import { tr } from "@/i18n/tr";
import "./globals.css";
// Türkçe karakterler (ğ, ş, ı, İ) latin-ext alt kümesinde.
const geistSans = Geist({
variable: "--font-sans",
subsets: ["latin", "latin-ext"],
});
const geistMono = Geist_Mono({
variable: "--font-geist-mono",
subsets: ["latin", "latin-ext"],
});
export const metadata: Metadata = {
title: { default: tr.app.name, template: `%s · ${tr.app.name}` },
description: tr.app.tagline,
applicationName: tr.app.name,
};
export const viewport: Viewport = {
width: "device-width",
initialScale: 1,
};
export default function RootLayout({ children }: LayoutProps<"/">) {
return (
<html lang="tr" className={`${geistSans.variable} ${geistMono.variable} h-full antialiased`}>
<body className="flex min-h-full flex-col">{children}</body>
</html>
);
}