Intlayer
Personal AI agent skills I use in development workflows.
npx -y skills add DobroslavRadosavljevic/skills --skill intlayerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Build, review, debug, configure, migrate, or plan Intlayer v9 internationalization in TanStack Start React apps with current docs. Use for intlayer, react-intlayer, vite-intlayer, intlayer.config.ts, .content.ts dictionaries, t(), useIntlayer, useLocale, IntlayerProvider, getIntlayer, getLocale, validatePrefix, getPrefix, locale routing with {-$locale}, LocalizedLink, locale switchers, Vite locale proxy, SSR cookies/headers, SEO head/sitemap, CLI build/fill/push/pull, collections, variants, and Next.js next-intlayer avoidance on Start.
SKILL.md
4.5 KB, as published. Nobody here has run it
Intlayer
Use this skill when work touches Intlayer i18n, especially Intlayer v9 with TanStack Start (@tanstack/react-start) via intlayer + react-intlayer + vite-intlayer.
Workflow
- Inspect the local Intlayer + Start shape before changing code:
- Package versions for
intlayer,react-intlayer,vite-intlayer,@tanstack/react-start,@tanstack/react-router. - Config:
intlayer.config.tslocales,routing.mode,routing.enableProxy,content.contentDir,dictionary.importMode,compiler.enabled. - Vite:
intlayer()plugin,proxy.ignore,tanstackStart({ router: { routeFileIgnorePattern } }). - Routes:
src/routes/__root.tsxshell +IntlayerProvider,src/routes/{-$locale}/layout withvalidatePrefix. - Content:
*.content.{ts,tsx,js,json,...}dictionaries and generated.intlayer/output.
- Package versions for
- Refresh docs when the task depends on latest behavior, v9 defaults, CMS/editor, or package drift. Start from source-map.md.
- For install, config, Vite plugin, provider, and TypeScript includes, use setup-tanstack-start.md.
- For content declarations,
t(),useIntlayer, collections, variants, and attribute string rendering, use content-dictionaries.md. - For locale routing, links/navigate, SSR
getLocale/getIntlayer, SEO head, sitemap, and 404s, use routing-ssr-seo.md. - Prefer
bun/bunxin command examples. Prefer the official Start guide over Next.js or Solid Start docs.
Implementation Judgment
- TanStack Start uses
intlayer+react-intlayer+vite-intlayer. Do not install or copy APIs fromnext-intlayer/next-intlayer/serverorsolid-intlayer. - There is no
tanstack-intlayerpackage. Locale detection/redirect is the Viteintlayer()proxy (routing.enableProxy, defaulttrue), not a TanStack Router middleware API. - Always set
routeFileIgnorePatternfor.content.*so content files are not treated as routes. - Match the locale route slot to
routing.mode:{-$locale}forprefix-no-default; prefer$localeforprefix-all; remove the slot forno-prefix/search-params. - Client UI:
useIntlayer/useLocalefromreact-intlayer. Server functions,head, and non-React code:getIntlayer/getLocalefromintlayer. - In
beforeLoad, validate locale fromparams.localeviavalidatePrefix— not from cookies/headers (the proxy already handled request locale). - Co-locate
.content.*with features. Setcontent.contentDirexplicitly for Start apps undersrc(do not assume a Next-style./appdefault without checking config). - v9:
compiler.enableddefaults tofalse; bundled proxy/compiler live insideintlayer()— do not require separateintlayerProxy()/intlayerCompiler()unless plugin order demands it. - For production SSR that needs the locale proxy, keep
vite-intlayeravailable at runtime (move out ofdevDependencieswhen docs/proxy require it). - For HTML attributes (
alt,title,aria-label), use.value,.toString(), orString(...)on content nodes.
Verification
Prefer the repo's existing checks. For meaningful Intlayer + Start work, include the relevant subset:
- Typecheck with
.intlayer/**/*.tsincluded and route tree regenerated. - Locale smoke: default locale (no prefix or prefixed), alternate locales, invalid prefix → 404 redirect, locale switcher.
- SSR smoke: first HTML
lang/dir, cookie/Accept-Languageproxy redirects, server functiongetLocale+getIntlayer. - Content smoke: missing keys, attribute string rendering, collections/variants when used.
- CLI:
bunx intlayer buildandbunx intlayer content test(orintlayer test) when dictionaries change. - Sitemap/prerender smoke when changing localized SEO routes.
Report which checks ran, which did not, and any version-sensitive assumptions that remain.