AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證recipe ingredient line item parser 🍳
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
ingredient-parser is a Rust project for parsing recipe ingredient lines into structured data. This repository contains the core library and related tooling.
For full documentation, usage examples, and features, see the detailed ingredient-parser/readme.md.檢視完整 README ↗ingredient-parser is a Rust project for parsing recipe ingredient lines into structured data. This repository contains the core library and related tooling.
For full documentation, usage examples, and features, see the detailed ingredient-parser/readme.md.
The canonical backlog is GitHub Issues, tracked in the Ingredient parser Project. See the contributor workflow before starting work.
Run pnpm --filter @ingredient-parser/ui desktop:dev for the macOS Parser and Cookbooks
desktop workspaces. See desktop setup and testing.
The terminal interface has six command families: ingredient, amount, text,
recipe, cookbook, and corpus. Use --help on a family or command to see its
inputs. Results default to human-readable output, including when piped. Select
--format json for structured output; ingredient batch also supports
--format jsonl. Progress, errors, and parser traces go to stderr.
corpus table writes HTML and does not support a structured format.
cargo run -p food-cli -- ingredient parse "1 cup flour, sifted"
cargo run -p food-cli -- ingredient parse "1 cup flour" --explain --format json
printf '1 cup flour\n2 tbsp sugar\n' | cargo run -p food-cli -- ingredient batch - --format jsonl
cargo run -p food-cli -- amount parse "2 cups" --format json
cargo run -p food-cli -- cookbook inspect book.epub
cargo run -p food-cli -- cookbook estimate book.epub
cargo run -p food-cli -- cookbook extract book.epub --out run.json
cargo run -p food-cli -- cookbook explain run.json --title "piecrust"
Ingredient batches retain every input line, including empty or review-needed
lines, with a line number and an error field in structured output. A successful
batch means all lines were processed; review flags remain visible per record.
The cookbook family reads an EPUB offline (inspect, explain), prices a run
before spending anything (estimate), extracts through the AI gateway
(extract), and re-runs a recorded dump with no credentials (replay). eval
scores extractions against hand-authored answer keys, sample draws random
recipes or books, and runs and models list saved runs and the model catalog.
See cookbook extraction, or
cargo run -p food-cli -- cookbook --help.
Exit codes are 1 for operational errors, 2 for invalid invocations, 3 for
incomplete extraction, and 4 for evaluation mismatches.
cookbook-fixtures builds deterministic EPUB bytes in
memory — cookbook_epub() plus fixtures covering real publisher layouts
(split_spine, epub3_nav_pagebreaks, typographic_variations). They need no
network and no extraction model. To write one out for manual inspection:
cargo run -p cookbook-fixtures --example write_fixture -- cookbook /tmp/synthetic-cookbook.epub
ui/ is the one frontend: the public website (landing page plus the Parser and
Cookbooks workbench) and the desktop window are the same build. Both run the
same Rust command layer, food-core: natively in the desktop app,
compiled to WebAssembly (food-wasm) in a worker on the web. The
TypeScript contract ui/src/api/generated.ts is generated from Rust.
Run pnpm install --frozen-lockfile at the repository root, then:
pnpm dev: build the WASM package and start the website at http://localhost:1420.pnpm --filter @ingredient-parser/ui desktop:dev: start the macOS app.pnpm build: build the WASM package and the frontend (ui/dist).pnpm lint / pnpm test: lint and unit-test the frontend.pnpm --filter @ingredient-parser/ui test:e2e: Playwright against the production
build — the website in Chromium with real WASM, and the desktop shell in WebKit
against a recorded fixture (see food-app).cargo run -p food-app --example export_bindings: regenerate the TypeScript contract.The WASM build needs the wasm32-unknown-unknown target and wasm-pack.
The website is a Cloudflare Worker serving ui/dist as static assets
(ui/wrangler.jsonc). CI deploys it to
https://ingredient.nickysemenza.com on every push to main, and uploads a
Worker Preview named pr-<number> for each pull request from this repository.