# Changelog

> Release notes of Npm Factory.

Source: https://npm-factory.n.yatsyk.com/changelog

## @npm-factory/docs-preset

## 0.1.6

### Patch Changes

- [#17](https://github.com/npm-factory/npm-factory/pull/17) [`c5d2576`](https://github.com/npm-factory/npm-factory/commit/c5d2576fef4a044aee869c856b98b575a75409fc) Thanks [@yatsyk](https://github.com/yatsyk)! - Republish to Gitea registry (registry switch).

## 0.1.5

### Patch Changes

- [#6](https://github.com/npm-factory/npm-factory/pull/6) [`72dddf3`](https://github.com/npm-factory/npm-factory/commit/72dddf30942709b7ce70f9bf9ff74c6c791e2952) Thanks [@yatsyk](https://github.com/yatsyk)! - Direction A design — source-mode Fumadocs CSS that compiles `bg-fd-*` / `text-fd-*` utilities against the DOT design tokens via `@theme` forwarding. Theme switcher, footer, and unified site shell wired into the preset so generated docs sites pick up the same look as the npm-factory landing.

## 0.1.4

### Patch Changes

- [#1](https://github.com/npm-factory/npm-factory/pull/1) [`6b84857`](https://github.com/npm-factory/npm-factory/commit/6b84857c22c7afffa0fdec2f7f832074e50c9167) Thanks [@yatsyk](https://github.com/yatsyk)! - Direction A design rolled into both the npm-factory site and the init template.

  - New `design` block on the DOT (accent / bg / serif / sans / mono / scale / density)
    with defaults matching the Claude Design canvas; `designClassName(dot)` exported
    from `@npm-factory/npm-factory-config`.
  - Source-mode Fumadocs CSS so Tailwind v4 compiles `bg-fd-*` / `text-fd-*` utilities
    against DOT tokens via `@theme` forwarding.
  - Unified site shell rendered by `@npm-factory/init` templates: full-width header,
    footer with theme toggle, FactoryMark favicon, `--fd-docs-row-2` offset so
    Fumadocs' mobile TOC popover sticks under the header.
  - `/llms.txt` route handler.

## 0.1.3

### Patch Changes

- Fix docs site templates and client components

## 0.1.2

### Patch Changes

- fix: align fumadocs templates and docs-preset client boundary

## 0.1.1

### Patch Changes

- [`c3b2ab4`](https://github.com/npm-factory/npm-factory/commit/c3b2ab45453b68fd8f8c6b15f78ad61fa8771e44) - chore: initialize npm-factory monorepo

## @npm-factory/init

## 0.4.0

### Minor Changes

- [#14](https://github.com/npm-factory/npm-factory/pull/14) [`f2bd8c5`](https://github.com/npm-factory/npm-factory/commit/f2bd8c5f7ba3e4427cf0ff0d28fc67ca3b899704) Thanks [@yatsyk](https://github.com/yatsyk)! - Build-time JSDoc generator; resolve entry from package.json exports; populate dot.modules at scaffold time.

  The site template now ships `apps/<site>/scripts/build-jsdoc.mjs`, which runs before `next build`, scans `dot.modules`, resolves each package's TypeScript source entry from `package.json` `exports['.']` (handling `dist/*.js` -> `src/*.ts` rewrite, plus `types`/`main`/`module` fallbacks), parses with the shared TypeScript parser, and writes `lib/jsdoc-data.json`. The runtime page imports the JSON directly with no FS reads or `process.cwd()`, so JSDoc renders correctly on Vercel serverless. Re-exports (`export { x } from "./y"`, `export *`) are now followed via the TypeScript checker's `getExportsOfModule`.

### Patch Changes

- [#14](https://github.com/npm-factory/npm-factory/pull/14) [`f2bd8c5`](https://github.com/npm-factory/npm-factory/commit/f2bd8c5f7ba3e4427cf0ff0d28fc67ca3b899704) Thanks [@yatsyk](https://github.com/yatsyk)! - Fix `scripts/pack-smoke.mjs` to use relative `packageDirs` paths.

  `packSmokeScript` was using `m.packageDir` directly (an absolute path
  captured at scaffold time on the dev machine), which then failed in CI
  because that absolute path doesn't exist on GitHub Actions runners.
  Now uses `path.relative(config.cwd, m.packageDir)` to mirror the
  parallel `changesetRequiredScript` and `dotValidateScript` functions.

## 0.3.0

### Minor Changes

- [#12](https://github.com/npm-factory/npm-factory/pull/12) [`b805123`](https://github.com/npm-factory/npm-factory/commit/b80512334bd6a759d1f226e061e6573f9f156918) Thanks [@yatsyk](https://github.com/yatsyk)! - Generate the three CI workflows that every monorepo needs:

  - `.github/workflows/release.yml` — Node 24, OIDC publish via npm Trusted Publishers (no `NPM_TOKEN`).
  - `.github/workflows/ci.yml` — `pnpm install --frozen-lockfile && pnpm -r build && pnpm -r test --if-present` on PRs and main.
  - `.github/workflows/deploy-site.yml` — `pnpm build → vercel pull → vercel build → vercel deploy --prebuilt --prod` on every main push. Uses repo-level `VERCEL_TOKEN` secret + `VERCEL_ORG_ID` / `VERCEL_PROJECT_ID` variables (Vercel's git integration intentionally NOT used; prebuilt only).

  Also fix `scripts/pack-smoke.mjs` — `spawn(...)` now passes `shell: true` so PATH lookup works on GitHub Actions runners (was failing with `spawn pnpm ENOENT`).

### Patch Changes

- [#9](https://github.com/npm-factory/npm-factory/pull/9) [`3a73a44`](https://github.com/npm-factory/npm-factory/commit/3a73a44712da94193da76284ac78848a001cd790) Thanks [@yatsyk](https://github.com/yatsyk)! - Fix three bugs in init-generated repos that broke first-time builds:

  - **`turbo.json`** now defaults to the turbo 2.x `tasks` key (was `pipeline`, which turbo 2.x rejects). Existing turbo.json files keep `pipeline` if it's already there to avoid silent migration churn.
  - **Site `tsconfig.json`** now sets `exactOptionalPropertyTypes: false`, overriding the strict base. Fumadocs `MDXComponents` types are incompatible with `exactOptionalPropertyTypes: true` and Next.js builds fail with a TS error otherwise.
  - **`.gitignore`** is now generated at the repo root (was missing entirely, so `git add -A` after `pnpm install` would stage `node_modules` and exceed GitHub's 100 MB push limit).

## 0.2.0

### Minor Changes

- [#1](https://github.com/npm-factory/npm-factory/pull/1) [`6b84857`](https://github.com/npm-factory/npm-factory/commit/6b84857c22c7afffa0fdec2f7f832074e50c9167) Thanks [@yatsyk](https://github.com/yatsyk)! - Direction A design rolled into both the npm-factory site and the init template.

  - New `design` block on the DOT (accent / bg / serif / sans / mono / scale / density)
    with defaults matching the Claude Design canvas; `designClassName(dot)` exported
    from `@npm-factory/npm-factory-config`.
  - Source-mode Fumadocs CSS so Tailwind v4 compiles `bg-fd-*` / `text-fd-*` utilities
    against DOT tokens via `@theme` forwarding.
  - Unified site shell rendered by `@npm-factory/init` templates: full-width header,
    footer with theme toggle, FactoryMark favicon, `--fd-docs-row-2` offset so
    Fumadocs' mobile TOC popover sticks under the header.
  - `/llms.txt` route handler.

## 0.1.10

### Patch Changes

- Fix JSDoc rendering and docs search scaffolding

## 0.1.9

### Patch Changes

- Improve JSDoc rendering from TypeScript AST

## 0.1.8

### Patch Changes

- Add richer module API scaffolding with JSDoc

## 0.1.7

### Patch Changes

- Add JSDoc link to API page template

## 0.1.6

### Patch Changes

- Fix doc links in generated module index

## 0.1.5

### Patch Changes

- Fix docs site templates and client components

## 0.1.4

### Patch Changes

- fix: align fumadocs templates and docs-preset client boundary

## 0.1.3

### Patch Changes

- fix: correct docs and jsdoc file paths for generated site

## 0.1.2

### Patch Changes

- fix: ensure generated docs routes work in Next 16 and remove invalid fumadocs deps

## 0.1.1

### Patch Changes

- [`c3b2ab4`](https://github.com/npm-factory/npm-factory/commit/c3b2ab45453b68fd8f8c6b15f78ad61fa8771e44) - chore: initialize npm-factory monorepo
