virastack 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "virastack",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Scaffold new projects and add tools from the ViraStack ecosystem with a single command.",
5
5
  "author": {
6
6
  "name": "Ömer Gülçiçek (ViraStack)",
@@ -20,6 +20,8 @@ Built on the App Router with Server/Client Components, streaming, and the Metada
20
20
  - [README](https://github.com/virastack/start/tree/main/templates/nextjs): Features, structure, and conventions
21
21
  - [Architecture guide](https://github.com/virastack/ai/blob/main/templates/core/docs/architecture-guide.md): Placement rules and import conventions
22
22
  - [Product docs](https://virastack.com/start/docs): ViraStack Start documentation
23
+ - [Start llms-full.txt](https://virastack.com/start/llms-full.txt): CLI flags and template map for agents
24
+ - [Ecosystem llms.txt](https://virastack.com/llms.txt): All ViraStack products
23
25
 
24
26
  ## Key Files & Entry Points
25
27
  - [`src/app/layout.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/app/layout.tsx): Root layout, fonts, providers
@@ -19,7 +19,9 @@ Built on TanStack Router file-based routing with type-safe loaders, nested layou
19
19
  - [Repository (GitHub)](https://github.com/virastack/start): CLI and templates
20
20
  - [README](https://github.com/virastack/start/tree/main/templates/tanstack): Features, structure, and conventions
21
21
  - [Architecture guide](https://github.com/virastack/ai/blob/main/templates/core/docs/architecture-guide.md): Placement rules and import conventions
22
- - [Product docs](https://www.virastack.com/): ViraStack
22
+ - [Product docs](https://virastack.com/start/docs): ViraStack Start documentation
23
+ - [Start llms-full.txt](https://virastack.com/start/llms-full.txt): CLI flags and template map for agents
24
+ - [Ecosystem llms.txt](https://virastack.com/llms.txt): All ViraStack products
23
25
 
24
26
  ## Key Files & Entry Points
25
27
  - [`src/routes/__root.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/routes/__root.tsx): Root route, document shell, providers, SEO head
@@ -1,96 +1,68 @@
1
- # ViraStack Start — Next.js Edition
1
+ # ViraStack Start — Next.js Edition (i18n)
2
2
 
3
- > Premium Next.js 16 + React 19 + Tailwind CSS 4 boilerplate focused on clean architecture, UI/UX, and agent-ready developer experience. Auth, database/ORM, i18n, and testing are intentionally omitted — bring the solution that fits your project.
3
+ > Premium Next.js 16 + React 19 + Tailwind CSS 4 boilerplate with **next-intl** multi-language routing (`en`, `tr`). Feature-sliced architecture, agent-ready DX. Auth, database/ORM, and testing are intentionally omitted.
4
4
 
5
- Built on the App Router with Server/Client Components, streaming, and the Metadata API. UI primitives use **Base UI** (unstyled, accessible) styled with Tailwind CSS 4 design tokens. State is split by job: TanStack Query for server state, Zustand for client state, `nuqs` for URL state. Forms use React Hook Form + Zod. The home route renders a deletable `features/landing` demo that follows the canonical ViraStack feature tree. **ViraStack AI** (`@virastack/ai`) adds agent rules on scaffold; design skills come from [emilkowalski/skills](https://github.com/emilkowalski/skills) and [make-interfaces-feel-better](https://github.com/jakubkrehel/make-interfaces-feel-better).
5
+ Built on the App Router with a `[locale]` segment, Server/Client Components, streaming, and the Metadata API. UI primitives use **Base UI** styled with Tailwind CSS 4. State triad: TanStack Query, Zustand, `nuqs`. Forms: React Hook Form + Zod. **ViraStack AI** ships on scaffold.
6
6
 
7
7
  - Tech stack: Next.js 16, React 19, Tailwind CSS 4, TypeScript 5 (strict + `noUncheckedIndexedAccess`), Node.js `>=20.9`
8
+ - i18n: `next-intl` — locales `en` (default) and `tr`; messages in `src/messages/*.json`; routing in `src/i18n/`
8
9
  - UI: Base UI, Framer Motion, Sonner, Lucide React, `next-themes`, `class-variance-authority`
9
10
  - Data & state: TanStack Query 5, Zustand, `nuqs`
10
11
  - Forms: React Hook Form + Zod (+ `@hookform/resolvers`)
11
- - API: Native `fetch` wrapper in `src/lib/api.ts` (`ApiError` with `message`, `status`, `data`); Axios is optional, not installed
12
- - Env: Hand-rolled Zod schema in `src/env.ts` (no `@t3-oss/env-nextjs`)
12
+ - API: Native `fetch` wrapper in `src/lib/api.ts` (`ApiError`)
13
+ - Env: Zod schema in `src/env.ts`
13
14
  - Tooling: ESLint 9, Prettier 3, Husky, Knip, Commitlint, Changesets, `@next/bundle-analyzer`
14
- - Quality scripts: `pnpm typecheck`, `pnpm lint` / `lint:ci`, `pnpm knip`, `pnpm build`
15
- - ViraStack AI (via `npx @virastack/ai init`): `AGENTS.md`, `CLAUDE.md`, `.cursor/rules/*.mdc`, `docs/*`
16
- - Not included by default: Auth, DB/ORM, i18n (`next-intl` not installed), test runner, CSP
15
+ - ViraStack AI: `AGENTS.md`, `CLAUDE.md`, `.cursor/rules/*.mdc`, `docs/*`
16
+ - Not included by default: Auth, DB/ORM, test runner, CSP
17
17
 
18
18
  ## Docs
19
19
  - [Repository (GitHub)](https://github.com/virastack/start): CLI and templates
20
- - [README](https://github.com/virastack/start/tree/main/templates/nextjs): Features, structure, and conventions
21
- - [Architecture guide](https://github.com/virastack/ai/blob/main/templates/core/docs/architecture-guide.md): Placement rules and import conventions
20
+ - [README](https://github.com/virastack/start/tree/main/templates-i18n/nextjs): This edition
21
+ - [i18n docs](https://virastack.com/start/docs/i18n): Locale and message conventions
22
22
  - [Product docs](https://virastack.com/start/docs): ViraStack Start documentation
23
+ - [Start llms-full.txt](https://virastack.com/start/llms-full.txt): CLI flags and template map for agents
24
+ - [Ecosystem llms.txt](https://virastack.com/llms.txt): All ViraStack products
25
+ - [Architecture guide](https://github.com/virastack/ai/blob/main/templates/core/docs/architecture-guide.md): Placement rules
23
26
 
24
27
  ## Key Files & Entry Points
25
- - [`src/app/layout.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/app/layout.tsx): Root layout, fonts, providers
26
- - [`src/app/page.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/app/page.tsx): Home route → `<LandingPage />`
27
- - [`src/app/loading.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/app/loading.tsx): Route-level skeleton
28
- - [`src/app/error.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/app/error.tsx): Route-level error boundary
29
- - [`src/app/not-found.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/app/not-found.tsx): 404 boundary
30
- - [`src/app/global-error.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/app/global-error.tsx): Root error boundary
31
- - [`src/app/robots.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/app/robots.ts): Robots configuration
32
- - [`src/app/sitemap.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/app/sitemap.ts): Sitemap generation
33
- - [`src/app/manifest.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/app/manifest.ts): Web app manifest (titles from `siteConfig`)
34
- - [`src/proxy.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/proxy.ts): Next.js 16 network boundary scaffold (passthrough)
35
- - [`src/env.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/env.ts): Zod-validated environment schema
36
- - [`src/config/site.config.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/config/site.config.ts): Site config (name, URL, links)
37
- - [`src/config/seo.config.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/config/seo.config.ts): Default Metadata object (OG/icons via `/og.png`, `/logo.webp`)
38
- - [`src/lib/api.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/lib/api.ts): Native `fetch` wrapper with retry & typed `ApiError`
39
- - [`src/lib/query-client.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/lib/query-client.ts): QueryClient factory & defaults
40
- - [`src/providers/Providers.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/providers/Providers.tsx): App-wide providers (Theme, Query, Nuqs, Toaster)
41
- - [`next.config.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/next.config.ts): Next config + baseline security headers (no CSP by default)
28
+ - [`src/app/layout.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/app/layout.tsx): Root shell
29
+ - [`src/app/[locale]/layout.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/app/%5Blocale%5D/layout.tsx): Locale layout + next-intl provider
30
+ - [`src/app/[locale]/page.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/app/%5Blocale%5D/page.tsx): Home → `<LandingPage />`
31
+ - [`src/app/[locale]/loading.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/app/%5Blocale%5D/loading.tsx): Route skeleton
32
+ - [`src/app/[locale]/error.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/app/%5Blocale%5D/error.tsx): Route error boundary
33
+ - [`src/app/[locale]/not-found.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/app/%5Blocale%5D/not-found.tsx): 404
34
+ - [`src/app/global-error.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/app/global-error.tsx): Root error boundary
35
+ - [`src/i18n/routing.ts`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/i18n/routing.ts): Locales + defaultLocale
36
+ - [`src/i18n/request.ts`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/i18n/request.ts): next-intl request config
37
+ - [`src/messages/en.json`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/messages/en.json): English messages
38
+ - [`src/messages/tr.json`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/messages/tr.json): Turkish messages
39
+ - [`src/components/shared/LanguageSwitcher.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/components/shared/LanguageSwitcher.tsx): Locale switcher
40
+ - [`src/env.ts`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/env.ts): Zod env schema
41
+ - [`src/config/site.config.ts`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/config/site.config.ts): Site config
42
+ - [`src/lib/api.ts`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/lib/api.ts): Fetch wrapper + `ApiError`
43
+ - [`src/providers/Providers.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/providers/Providers.tsx): Theme, Query, Nuqs, Toaster
44
+ - [`src/proxy.ts`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/src/proxy.ts): Next.js 16 network boundary / locale middleware hook
45
+ - [`next.config.ts`](https://github.com/virastack/start/blob/main/templates-i18n/nextjs/next.config.ts): Next config + next-intl plugin
42
46
 
43
47
  ## Landing Feature (demo — delete when building)
44
- Canonical tree under `src/features/landing/`. Home page composes `LandingPage`.
48
+ Canonical tree under `src/features/landing/`. Prefer feature-local copy via next-intl keys in `src/messages`.
45
49
 
46
- - [`src/features/landing/index.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/index.ts): Public export (`LandingPage`)
47
- - [`src/features/landing/components/LandingPage.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/components/LandingPage.tsx): Page composition (Header + sections + Footer)
48
- - [`src/features/landing/components/Hero.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/components/Hero.tsx): Hero section
49
- - [`src/features/landing/components/Features.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/components/Features.tsx): Feature grid
50
- - [`src/features/landing/components/Showcase.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/components/Showcase.tsx): Stack demos host (Query, Zustand, forms, nuqs)
51
- - [`src/features/landing/components/UsersDemo.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/components/UsersDemo.tsx): TanStack Query + `nuqs` demo
52
- - [`src/features/landing/components/CartDemo.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/components/CartDemo.tsx): Zustand demo
53
- - [`src/features/landing/components/ProjectFormDemo.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/components/ProjectFormDemo.tsx): RHF + Zod demo
54
- - [`src/features/landing/api/get-users.api.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/api/get-users.api.ts): Feature API function
55
- - [`src/features/landing/hooks/use-users.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/hooks/use-users.ts): Feature TanStack Query hook
56
- - [`src/features/landing/stores/counter.store.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/stores/counter.store.ts): Feature Zustand store
57
- - [`src/features/landing/schemas/project.schema.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/schemas/project.schema.ts): Feature Zod schema
58
- - [`src/features/landing/data/features.data.tsx`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/data/features.data.tsx): Feature static data
59
- - [`src/features/landing/helpers/`](https://github.com/virastack/start/tree/main/templates/nextjs/src/features/landing/helpers): Feature helpers (motion tokens, initials)
60
- - [`src/features/landing/icons/`](https://github.com/virastack/start/tree/main/templates/nextjs/src/features/landing/icons): Brand SVGs used only by the landing demo
61
- - [`src/features/landing/types/user.types.ts`](https://github.com/virastack/start/blob/main/templates/nextjs/src/features/landing/types/user.types.ts): Feature types
50
+ Quick start: delete `src/features/landing`, replace `src/app/[locale]/page.tsx`, keep layout chrome if useful.
62
51
 
63
- Quick start: delete `src/features/landing`, replace `src/app/page.tsx`, keep `components/layout` if you still want chrome.
64
-
65
- ## UI & Shared Layers
66
- - [`src/components/ui`](https://github.com/virastack/start/tree/main/templates/nextjs/src/components/ui): Base UI primitives (Button, Input, Field, Dialog, Tabs, Skeleton, Label, Avatar, Table)
67
- - [`src/components/layout`](https://github.com/virastack/start/tree/main/templates/nextjs/src/components/layout): Header / Footer (reusable; Header accepts optional `links`)
68
- - [`src/components/shared`](https://github.com/virastack/start/tree/main/templates/nextjs/src/components/shared): Cross-feature components (ThemeToggle)
69
- - [`src/hooks`](https://github.com/virastack/start/tree/main/templates/nextjs/src/hooks), [`src/stores`](https://github.com/virastack/start/tree/main/templates/nextjs/src/stores), [`src/schemas`](https://github.com/virastack/start/tree/main/templates/nextjs/src/schemas): Shared barrels (promote via Rule of Three)
70
- - [`src/helpers`](https://github.com/virastack/start/tree/main/templates/nextjs/src/helpers): Shared helpers
71
- - [`src/styles/tailwind.css`](https://github.com/virastack/start/blob/main/templates/nextjs/src/styles/tailwind.css): Tailwind v4 entry + design tokens
72
- - Assets: [`public/logo.webp`](https://github.com/virastack/start/blob/main/templates/nextjs/public/logo.webp), [`public/og.png`](https://github.com/virastack/start/blob/main/templates/nextjs/public/og.png), [`public/favicon.ico`](https://github.com/virastack/start/blob/main/templates/nextjs/public/favicon.ico)
73
-
74
- ## Customization & Imports
75
- - Search the project for `FIXME:` (site config, remote images, auth attachment on the API client).
76
- - Prefer short path aliases: `@/ui`, `@/hooks`, `@/schemas`, `@/layout` over long forms. Prefer feature-local imports under `@/features/[feature]/…` for demo-scoped code.
77
- - Default scope is `features/[feature]/` — promote to global `src/` only when a second feature needs it. No cross-feature imports.
52
+ ## Architecture for agents
53
+ - Feature-Sliced: work under `src/features/[feature]/` — no cross-feature imports
54
+ - Prefer `@/ui`, `@/hooks`, `@/schemas`, `@/layout` aliases
55
+ - Never hardcode UI strings — use `useTranslations` / message JSON
56
+ - Brand name `ViraStack` stays untranslated
57
+ - Search for `FIXME:` after scaffold
78
58
 
79
59
  ## ViraStack AI
80
- - Install or refresh: `npx @virastack/ai init --force`
81
- - `AGENTS.md`: Agent operating guide (all agents)
82
- - `CLAUDE.md`: Claude Code entry point (`@AGENTS.md`)
83
- - `.cursor/rules/*.mdc`: Scoped coding rules (Cursor auto-loads)
84
- - `docs/architecture-guide.md`, `docs/MEMORIES.md`: Architecture and project memory
85
- - Skills: [emilkowalski/skills](https://github.com/emilkowalski/skills) (7 design-engineering skills) + [make-interfaces-feel-better](https://github.com/jakubkrehel/make-interfaces-feel-better)
60
+ - Refresh: `npx @virastack/ai init --force`
86
61
  - Package: [`@virastack/ai`](https://github.com/virastack/ai)
87
62
 
88
63
  ## External References
89
- - [Next.js Docs](https://nextjs.org/docs): App Router, Server/Client Components, routing, metadata, images, fonts
90
- - [React](https://react.dev/): Modern React APIs and RSC foundations
91
- - [Tailwind CSS v4](https://tailwindcss.com/): Design tokens & utility-first styling
92
- - [Base UI](https://base-ui.com/): Unstyled, accessible React components
93
- - [TanStack Query](https://tanstack.com/query/latest): Server-state syncing & caching
94
- - [nuqs](https://nuqs.dev/): Type-safe URL search param state
95
- - [Zod](https://zod.dev/): Runtime validation and parsing
96
- - [ViraStack AI](https://github.com/virastack/ai): Shared agent rules package (`@virastack/ai`)
64
+ - [next-intl](https://next-intl.dev/)
65
+ - [Next.js Docs](https://nextjs.org/docs)
66
+ - [TanStack Query](https://tanstack.com/query/latest)
67
+ - [nuqs](https://nuqs.dev/)
68
+ - [Zod](https://zod.dev/)
@@ -1,86 +1,64 @@
1
- # ViraStack Start — TanStack Start Edition
1
+ # ViraStack Start — TanStack Start Edition (i18n)
2
2
 
3
- > Premium TanStack Start + React 19 + Tailwind CSS 4 boilerplate focused on clean architecture, UI/UX, and agent-ready developer experience. Auth, database/ORM, i18n, and testing are intentionally omitted — bring the solution that fits your project.
3
+ > Premium TanStack Start + React 19 + Tailwind CSS 4 boilerplate with **Paraglide JS** i18n (`en`, `tr`). Feature-sliced architecture, agent-ready DX. Auth, database/ORM, and testing are intentionally omitted.
4
4
 
5
- Built on TanStack Router file-based routing with type-safe loaders, nested layouts, and SSR via TanStack Start. UI primitives use **Base UI** (unstyled, accessible) styled with Tailwind CSS 4 design tokens. State is split by job: TanStack Query for server state, Zustand for client state, `nuqs` for URL state. Forms use React Hook Form + Zod. The home route renders a deletable `features/landing` demo that follows the canonical ViraStack feature tree. **ViraStack AI** (`@virastack/ai`) adds agent rules on scaffold; design skills come from [emilkowalski/skills](https://github.com/emilkowalski/skills) and [make-interfaces-feel-better](https://github.com/jakubkrehel/make-interfaces-feel-better).
5
+ Built on TanStack Router file-based routing with SSR via TanStack Start. Messages live under `messages/`; Paraglide generates `src/paraglide`. UI: **Base UI** + Tailwind CSS 4. State triad: TanStack Query, Zustand, `nuqs`. Forms: React Hook Form + Zod. **ViraStack AI** ships on scaffold.
6
6
 
7
- - Tech stack: TanStack Start, TanStack Router, React 19, Tailwind CSS 4, TypeScript (strict + `noUncheckedIndexedAccess`), Node.js `>=20.9`
7
+ - Tech stack: TanStack Start, TanStack Router, React 19, Tailwind CSS 4, TypeScript strict, Node.js `>=20.9`
8
+ - i18n: `@inlang/paraglide-js` — `project.inlang/settings.json` language tags `en` (source) and `tr`; compiled output in `src/paraglide`
8
9
  - UI: Base UI, Framer Motion, Sonner, Lucide React, `next-themes`, `class-variance-authority`
9
10
  - Data & state: TanStack Query 5, Zustand, `nuqs`
10
11
  - Forms: React Hook Form + Zod (+ `@hookform/resolvers`)
11
- - API: Native `fetch` wrapper in `src/lib/api.ts` (`ApiError` with `message`, `status`, `data`); Axios is optional, not installed
12
- - Env: Hand-rolled Zod schema in `src/env.ts` (`VITE_*` public vars)
12
+ - API: Native `fetch` wrapper in `src/lib/api.ts` (`ApiError`)
13
+ - Env: Zod schema in `src/env.ts` (`VITE_*` public vars)
13
14
  - Tooling: ESLint 9, Prettier 3, Husky, Knip, Commitlint, Changesets, Vite 8
14
- - Quality scripts: `pnpm typecheck`, `pnpm lint` / `lint:ci`, `pnpm knip`, `pnpm build`
15
- - ViraStack AI (via `npx @virastack/ai init`): `AGENTS.md`, `CLAUDE.md`, `.cursor/rules/*.mdc`, `docs/*`
16
- - Not included by default: Auth, DB/ORM, i18n, test runner, CSP
15
+ - ViraStack AI: `AGENTS.md`, `CLAUDE.md`, `.cursor/rules/*.mdc`, `docs/*`
16
+ - Not included by default: Auth, DB/ORM, test runner, CSP
17
17
 
18
18
  ## Docs
19
19
  - [Repository (GitHub)](https://github.com/virastack/start): CLI and templates
20
- - [README](https://github.com/virastack/start/tree/main/templates/tanstack): Features, structure, and conventions
21
- - [Architecture guide](https://github.com/virastack/ai/blob/main/templates/core/docs/architecture-guide.md): Placement rules and import conventions
20
+ - [README](https://github.com/virastack/start/tree/main/templates-i18n/tanstack): This edition
21
+ - [i18n docs](https://virastack.com/start/docs/i18n): Locale and message conventions
22
22
  - [Product docs](https://virastack.com/start/docs): ViraStack Start documentation
23
+ - [Start llms-full.txt](https://virastack.com/start/llms-full.txt): CLI flags and template map for agents
24
+ - [Ecosystem llms.txt](https://virastack.com/llms.txt): All ViraStack products
25
+ - [Architecture guide](https://github.com/virastack/ai/blob/main/templates/core/docs/architecture-guide.md): Placement rules
26
+ - [Paraglide JS](https://inlang.com/m/gerre34r/library-inlang-paraglideJs): i18n library docs
23
27
 
24
28
  ## Key Files & Entry Points
25
- - [`src/routes/__root.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/routes/__root.tsx): Root route, document shell, providers, SEO head
26
- - [`src/routes/index.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/routes/index.tsx): Home route → `<LandingPage />`
27
- - [`src/routes/robots[.]txt.ts`](https://github.com/virastack/start/blob/main/templates/tanstack/src/routes/robots%5B.%5Dtxt.ts): Dynamic robots.txt from `siteConfig`
28
- - [`src/routes/sitemap[.]xml.ts`](https://github.com/virastack/start/blob/main/templates/tanstack/src/routes/sitemap%5B.%5Dxml.ts): Dynamic sitemap from `siteConfig`
29
- - [`src/routes/site[.]webmanifest.ts`](https://github.com/virastack/start/blob/main/templates/tanstack/src/routes/site%5B.%5Dwebmanifest.ts): Dynamic web manifest from `siteConfig`
30
- - [`src/start.ts`](https://github.com/virastack/start/blob/main/templates/tanstack/src/start.ts): Global request middleware (baseline security headers)
31
- - [`src/router.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/router.tsx): Router factory + TanStack Query SSR integration
32
- - [`src/env.ts`](https://github.com/virastack/start/blob/main/templates/tanstack/src/env.ts): Zod-validated environment schema (`VITE_*` public vars)
33
- - [`src/config/site.config.ts`](https://github.com/virastack/start/blob/main/templates/tanstack/src/config/site.config.ts): Site config (name, URL, links)
34
- - [`src/config/seo.config.ts`](https://github.com/virastack/start/blob/main/templates/tanstack/src/config/seo.config.ts): Default SEO meta helpers
35
- - [`src/lib/api.ts`](https://github.com/virastack/start/blob/main/templates/tanstack/src/lib/api.ts): Native `fetch` wrapper with retry & typed `ApiError`
36
- - [`src/lib/query-client.ts`](https://github.com/virastack/start/blob/main/templates/tanstack/src/lib/query-client.ts): QueryClient factory & defaults
37
- - [`src/providers/Providers.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/providers/Providers.tsx): App-wide providers (Theme, Nuqs, Toaster)
38
- - [`vite.config.ts`](https://github.com/virastack/start/blob/main/templates/tanstack/vite.config.ts): Vite + TanStack Start + Tailwind
29
+ - [`src/routes/__root.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/src/routes/__root.tsx): Root route, document shell, providers, SEO head
30
+ - [`src/routes/index.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/src/routes/index.tsx): Home → `<LandingPage />`
31
+ - [`project.inlang/settings.json`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/project.inlang/settings.json): Language tags and Paraglide settings
32
+ - [`messages/en.json`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/messages/en.json): English message source
33
+ - [`messages/tr.json`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/messages/tr.json): Turkish message source
34
+ - [`src/paraglide/`](https://github.com/virastack/start/tree/main/templates-i18n/tanstack/src/paraglide): Generated runtime (do not hand-edit)
35
+ - [`src/start.ts`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/src/start.ts): Global request middleware
36
+ - [`src/router.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/src/router.tsx): Router factory + Query SSR
37
+ - [`src/env.ts`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/src/env.ts): Zod env (`VITE_*`)
38
+ - [`src/config/site.config.ts`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/src/config/site.config.ts): Site config
39
+ - [`src/lib/api.ts`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/src/lib/api.ts): Fetch wrapper + `ApiError`
40
+ - [`src/providers/Providers.tsx`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/src/providers/Providers.tsx): Theme, Nuqs, Toaster
41
+ - [`vite.config.ts`](https://github.com/virastack/start/blob/main/templates-i18n/tanstack/vite.config.ts): Vite + TanStack Start + Paraglide + Tailwind
39
42
 
40
43
  ## Landing Feature (demo — delete when building)
41
- Canonical tree under `src/features/landing/`. Home route composes `LandingPage`.
44
+ Canonical tree under `src/features/landing/`. Use Paraglide message functions for UI copy.
42
45
 
43
- - [`src/features/landing/index.ts`](https://github.com/virastack/start/blob/main/templates/tanstack/src/features/landing/index.ts): Public export (`LandingPage`)
44
- - [`src/features/landing/components/LandingPage.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/features/landing/components/LandingPage.tsx): Page composition (Header + sections + Footer)
45
- - [`src/features/landing/components/Hero.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/features/landing/components/Hero.tsx): Hero section
46
- - [`src/features/landing/components/Features.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/features/landing/components/Features.tsx): Feature grid
47
- - [`src/features/landing/components/Showcase.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/features/landing/components/Showcase.tsx): Stack demos host (Query, Zustand, forms, nuqs)
48
- - [`src/features/landing/components/UsersDemo.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/features/landing/components/UsersDemo.tsx): TanStack Query + `nuqs` demo
49
- - [`src/features/landing/components/CartDemo.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/features/landing/components/CartDemo.tsx): Zustand demo
50
- - [`src/features/landing/components/ProjectFormDemo.tsx`](https://github.com/virastack/start/blob/main/templates/tanstack/src/features/landing/components/ProjectFormDemo.tsx): RHF + Zod demo
46
+ Quick start: delete `src/features/landing`, replace home route, keep shared layout if useful.
51
47
 
52
- Quick start: delete `src/features/landing`, replace `src/routes/index.tsx`, keep `components/layout` if you still want chrome.
53
-
54
- ## UI & Shared Layers
55
- - [`src/components/ui`](https://github.com/virastack/start/tree/main/templates/tanstack/src/components/ui): Base UI primitives (Button, Input, Field, Dialog, Tabs, Skeleton, Label, Avatar, Table)
56
- - [`src/components/layout`](https://github.com/virastack/start/tree/main/templates/tanstack/src/components/layout): Header / Footer (reusable; Header accepts optional `links`)
57
- - [`src/components/shared`](https://github.com/virastack/start/tree/main/templates/tanstack/src/components/shared): Cross-feature components (ThemeToggle, NotFound, DefaultCatchBoundary)
58
- - [`src/hooks`](https://github.com/virastack/start/tree/main/templates/tanstack/src/hooks), [`src/stores`](https://github.com/virastack/start/tree/main/templates/tanstack/src/stores), [`src/schemas`](https://github.com/virastack/start/tree/main/templates/tanstack/src/schemas): Shared barrels (promote via Rule of Three)
59
- - [`src/helpers`](https://github.com/virastack/start/tree/main/templates/tanstack/src/helpers): Shared helpers
60
- - [`src/styles/tailwind.css`](https://github.com/virastack/start/blob/main/templates/tanstack/src/styles/tailwind.css): Tailwind v4 entry + design tokens
61
- - Assets: [`public/logo.webp`](https://github.com/virastack/start/blob/main/templates/tanstack/public/logo.webp), [`public/og.png`](https://github.com/virastack/start/blob/main/templates/tanstack/public/og.png), [`public/favicon.ico`](https://github.com/virastack/start/blob/main/templates/tanstack/public/favicon.ico)
62
-
63
- ## Customization & Imports
64
- - Search the project for `FIXME:` (site config, auth attachment on the API client).
65
- - Prefer short path aliases: `@/ui`, `@/hooks`, `@/schemas`, `@/layout` over long forms. Prefer feature-local imports under `@/features/[feature]/…` for demo-scoped code.
66
- - Default scope is `features/[feature]/` — promote to global `src/` only when a second feature needs it. No cross-feature imports.
48
+ ## Architecture for agents
49
+ - Feature-Sliced: `src/features/[feature]/` — no cross-feature imports
50
+ - Prefer short aliases; promote shared code only via Rule of Three
51
+ - Edit `messages/*.json` (or inlang sources), not generated `src/paraglide` output
52
+ - Brand name `ViraStack` stays untranslated
53
+ - Search for `FIXME:` after scaffold
67
54
 
68
55
  ## ViraStack AI
69
- - Install or refresh: `npx @virastack/ai init --force`
70
- - `AGENTS.md`: Agent operating guide (all agents)
71
- - `CLAUDE.md`: Claude Code entry point (`@AGENTS.md`)
72
- - `.cursor/rules/*.mdc`: Scoped coding rules (Cursor auto-loads)
73
- - `docs/architecture-guide.md`, `docs/MEMORIES.md`: Architecture and project memory
74
- - Skills: [emilkowalski/skills](https://github.com/emilkowalski/skills) (7 design-engineering skills) + [make-interfaces-feel-better](https://github.com/jakubkrehel/make-interfaces-feel-better)
56
+ - Refresh: `npx @virastack/ai init --force`
75
57
  - Package: [`@virastack/ai`](https://github.com/virastack/ai)
76
58
 
77
59
  ## External References
78
- - [TanStack Start Docs](https://tanstack.com/start/latest): Routing, SSR, server functions
79
- - [TanStack Router](https://tanstack.com/router/latest): File-based routing, loaders, type safety
80
- - [React](https://react.dev/): Modern React APIs
81
- - [Tailwind CSS v4](https://tailwindcss.com/): Design tokens & utility-first styling
82
- - [Base UI](https://base-ui.com/): Unstyled, accessible React components
83
- - [TanStack Query](https://tanstack.com/query/latest): Server-state syncing & caching
84
- - [nuqs](https://nuqs.dev/): Type-safe URL search param state
85
- - [Zod](https://zod.dev/): Runtime validation and parsing
86
- - [ViraStack AI](https://github.com/virastack/ai): Shared agent rules package (`@virastack/ai`)
60
+ - [TanStack Start](https://tanstack.com/start)
61
+ - [TanStack Query](https://tanstack.com/query/latest)
62
+ - [Paraglide JS](https://inlang.com/m/gerre34r/library-inlang-paraglideJs)
63
+ - [nuqs](https://nuqs.dev/)
64
+ - [Zod](https://zod.dev/)