diff --git a/.changeset/i18n-docs-support.md b/.changeset/i18n-docs-support.md deleted file mode 100644 index 23b8cfd..0000000 --- a/.changeset/i18n-docs-support.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"leadtype": patch ---- - -Add first-class docs i18n support with locale-aware generation, localized source loading, per-locale search/LLM/readability artifacts, and a new `leadtype/i18n` helper surface. Locale-scoped search generation now uses URL-path document ids to align generated indexes with the source API. diff --git a/.changeset/leadtype-next-adapter.md b/.changeset/leadtype-next-adapter.md deleted file mode 100644 index fade2fd..0000000 --- a/.changeset/leadtype-next-adapter.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"leadtype": minor ---- - -Add `leadtype/next` framework adapter and formalize the core/adapter boundary. - -`leadtype/next` exposes three server-only helpers for Next.js App Router: `createGenerateStaticParams(...)`, `createLoadPageData(...)`, and `createDocsRouteHandler(...)`. The route handler wraps `createAgentMarkdownResponse` so a docs app can serve raw markdown, handle `Accept: text/markdown` negotiation, and detect AI user agents from a one-line `route.ts`. The companion `leadtype/next/client` subpath exports a `useLeadtypeSearch` React hook plus a framework-free `createSearchClient` factory that lazy-loads `search-index.json` / `search-content.json` and runs BM25 per keystroke. - -`react` is now an optional peer dependency for `leadtype/next/client`. Server-only consumers never pull in React. - -Documents the core/adapter boundary in a new `docs/reference/architecture` page: leadtype core has zero framework runtime deps, adapters live at flat `leadtype/` subpaths, and **no leadtype package — core or adapter — ever ships rendered DOM**. State primitives (hooks, composables, stores, handler factories) are allowed; ``-style components are not. The docs also name the planned native adapter shapes for Nuxt, SvelteKit, Astro, TanStack Start, Vue search, and Svelte search without exporting those APIs yet. The boundary is now enforced by tests in `packages/leadtype/src/internal/package-surface.test.ts` that scan import graphs and fail if framework runtimes leak into core or one adapter imports from another. diff --git a/.changeset/type-table-source-root.md b/.changeset/type-table-source-root.md deleted file mode 100644 index ee692d4..0000000 --- a/.changeset/type-table-source-root.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"leadtype": patch ---- - -Default `` and `` path resolution to the Leadtype source root instead of `process.cwd()/docs`. - -This fixes generated docs for source roots such as `.c15t` or `.leadtype`, where `path="./packages/..."` should resolve against the configured source root. Source-MDX consumers can now pass `typeTableBasePath` / `typeTableStrict` through `createDocsSource()` or use `createMdxSourcePlugins()` for bundler-level configuration. Failed type extraction now emits a visible warning by default and can fail generation in strict mode. - -This changes the bare `mdxSourcePlugins` default for bundler consumers: when Leadtype can see the source MDX file path, it derives the base path from the first `docs` path segment instead of always using `process.cwd()/docs`. Projects that intentionally keep referenced TypeScript files under their docs folder should switch to `createMdxSourcePlugins({ typeTableBasePath: path.resolve(process.cwd(), "docs") })`. diff --git a/packages/leadtype/CHANGELOG.md b/packages/leadtype/CHANGELOG.md index 9c8ef52..641ffc3 100644 --- a/packages/leadtype/CHANGELOG.md +++ b/packages/leadtype/CHANGELOG.md @@ -1,5 +1,26 @@ # leadtype +## 0.2.0 + +### Minor Changes + +- e923e9f: Add `leadtype/next` framework adapter and formalize the core/adapter boundary. + + `leadtype/next` exposes three server-only helpers for Next.js App Router: `createGenerateStaticParams(...)`, `createLoadPageData(...)`, and `createDocsRouteHandler(...)`. The route handler wraps `createAgentMarkdownResponse` so a docs app can serve raw markdown, handle `Accept: text/markdown` negotiation, and detect AI user agents from a one-line `route.ts`. The companion `leadtype/next/client` subpath exports a `useLeadtypeSearch` React hook plus a framework-free `createSearchClient` factory that lazy-loads `search-index.json` / `search-content.json` and runs BM25 per keystroke. + + `react` is now an optional peer dependency for `leadtype/next/client`. Server-only consumers never pull in React. + + Documents the core/adapter boundary in a new `docs/reference/architecture` page: leadtype core has zero framework runtime deps, adapters live at flat `leadtype/` subpaths, and **no leadtype package — core or adapter — ever ships rendered DOM**. State primitives (hooks, composables, stores, handler factories) are allowed; ``-style components are not. The docs also name the planned native adapter shapes for Nuxt, SvelteKit, Astro, TanStack Start, Vue search, and Svelte search without exporting those APIs yet. The boundary is now enforced by tests in `packages/leadtype/src/internal/package-surface.test.ts` that scan import graphs and fail if framework runtimes leak into core or one adapter imports from another. + +### Patch Changes + +- c7fcbf6: Add first-class docs i18n support with locale-aware generation, localized source loading, per-locale search/LLM/readability artifacts, and a new `leadtype/i18n` helper surface. Locale-scoped search generation now uses URL-path document ids to align generated indexes with the source API. +- 844a94d: Default `` and `` path resolution to the Leadtype source root instead of `process.cwd()/docs`. + + This fixes generated docs for source roots such as `.c15t` or `.leadtype`, where `path="./packages/..."` should resolve against the configured source root. Source-MDX consumers can now pass `typeTableBasePath` / `typeTableStrict` through `createDocsSource()` or use `createMdxSourcePlugins()` for bundler-level configuration. Failed type extraction now emits a visible warning by default and can fail generation in strict mode. + + This changes the bare `mdxSourcePlugins` default for bundler consumers: when Leadtype can see the source MDX file path, it derives the base path from the first `docs` path segment instead of always using `process.cwd()/docs`. Projects that intentionally keep referenced TypeScript files under their docs folder should switch to `createMdxSourcePlugins({ typeTableBasePath: path.resolve(process.cwd(), "docs") })`. + ## 0.1.2 ### Patch Changes diff --git a/packages/leadtype/package.json b/packages/leadtype/package.json index 5a880d8..13f8e33 100644 --- a/packages/leadtype/package.json +++ b/packages/leadtype/package.json @@ -1,6 +1,6 @@ { "name": "leadtype", - "version": "0.1.2", + "version": "0.2.0", "description": "Framework-neutral docs pipeline tooling for MDX, LLM bundles, and search", "type": "module", "license": "MIT",