Commit Graph

3 Commits

Author SHA1 Message Date
3a7b4f2456 feat(core): adopt remark/unified as the internal Markdown parser (ADR 0002)
Add unified + remark-parse as dependencies of @kitchen-md/core and wire a
private internal processor (packages/core/src/markdown.ts) that parses
CommonMark into mdast. remark stays an implementation detail and is not
re-exported from the package entry, so consumers take no transitive remark
dependency (ADR 0003).

The OFM wikilink plugin and the public parse/AST surface are deferred to the
core-parser spec: canonical remark-wiki-link@2.0.1 targets an old micromark
generation incompatible with remark-parse@11, and OFM plus annotation
handling is that spec's scope.

This also exercises the flake's bun2nix vendoring against a real dependency
closure (58 vendored packages); nix build still compiles a working binary
offline in the sandbox.
2026-07-25 21:11:01 -04:00
9958b6e6d5 docs: sync core-parser spec and add unit normalisation
Bring core-parser.md in line with the resolved design in CONTEXT.md and
ADRs 0004/0005, and promote a new decision to normalise ingredient/cookware
units.

- Full sync of the core-parser spec: diagnostics/total-function channel,
  container blocks (ListItemBlock, BlockquoteBlock), RawInline alongside
  RawBlock via position-slicing, the unified WikilinkNode/TransclusionNode
  shape as two typed nodes, and the minimal remark plugin set.
- New ADR 0006: normalise ingredient/cookware units via a known-alias table
  with passthrough, case-insensitive, canonical-only; align Timer matching
  to case-insensitive too.
- SPEC.md: units are normalised (new Units section, alias table); Timer table
  marked case-insensitive.
- CONTEXT.md: add Unit Normalisation entry, resolve the open item.
- fixtures/basic.md: add a blockquote (callout) carrying an annotation and a
  non-canonical unit so the integration test exercises containers and
  normalisation.
- Expand the core test.todo checklists to cover the new behaviour (containers,
  raw fallbacks, diagnostics, unit normalisation, wikilink/transclusion
  variants); still pending, suite stays green.
2026-07-14 21:55:09 -04:00
220f73d8f7 chore: scaffold Bun workspace monorepo
Sets up the initial project structure: two packages (@kitchen-md/core
and @kitchen-md/bin), shared tsconfig, shared fixtures, per-package
test stubs (unit, integration, smoke), .gitignore, and project
CLAUDE.md with Conventional Commits convention.
2026-07-08 21:33:20 -04:00