@koda-sl/baker-cli 0.185.2 → 0.186.0-dev.6d88981c0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -1
- package/dist/{chunk-3TXZKSAR.js → chunk-PJ5KH27L.js} +4 -4
- package/dist/chunk-PJ5KH27L.js.map +1 -0
- package/dist/cli.js +2723 -279
- package/dist/cli.js.map +1 -1
- package/dist/engine/index.js +1 -1
- package/package.json +2 -1
- package/dist/chunk-3TXZKSAR.js.map +0 -1
package/README.md
CHANGED
|
@@ -5080,6 +5080,32 @@ Without `--slug` the command behaves as before (one creative record per publishe
|
|
|
5080
5080
|
|
|
5081
5081
|
## Landing Quality (`baker landing`)
|
|
5082
5082
|
|
|
5083
|
+
Two tools that bracket a landing build: **`inspiration`** before you design (what does good look like here?) and **`critique`** after you build (did this settle into generic defaults?).
|
|
5084
|
+
|
|
5085
|
+
### `baker landing inspiration`
|
|
5086
|
+
|
|
5087
|
+
A searchable library of real landing-page sections. Each entry is one section of a real page: a screenshot, a standalone HTML+CSS reproduction with a measured fidelity score, a description of how it moves, and the transferable idea behind it — classified in the same vocabulary the landing skill teaches, so a hit is directly buildable.
|
|
5088
|
+
|
|
5089
|
+
```bash
|
|
5090
|
+
baker landing inspiration search "pricing with a monthly/annual toggle" --scope all
|
|
5091
|
+
baker landing inspiration view <section id> # full DNA + screenshots + motion filmstrip
|
|
5092
|
+
baker landing inspiration code <section id> # the standalone bundle
|
|
5093
|
+
baker landing inspiration page <source id> # a whole page as a section sequence
|
|
5094
|
+
baker landing inspiration add https://linear.app --note "client likes this density"
|
|
5095
|
+
baker landing inspiration favorites # what this company has saved
|
|
5096
|
+
baker landing inspiration scrape <url> --out <dir> # capture any page now, synchronously
|
|
5097
|
+
```
|
|
5098
|
+
|
|
5099
|
+
- **Hybrid search over three signals** — keywords, meaning, and *appearance* (the screenshot is embedded, so a query like "dark developer hero with a terminal" can match a section whose text never says "terminal"). Filters: `--type --composition --register --interaction --motion --media --device --theme --max-rank --min-craft --min-fidelity --domain --similar-to --scope --limit`.
|
|
5100
|
+
- **Screenshots are downloaded to `.baker/inspiration/`** so an agent can actually look at a result rather than read a description of it.
|
|
5101
|
+
- **`fidelity` says how much to trust the code.** A measured 0–1 match between the live section and our standalone re-render, always reported. Above ~0.95 the markup renders like the original; below ~0.75 the section is scroll- or JS-driven and it does not.
|
|
5102
|
+
- **`used_on_pages`** appears when a section shows up on more than one of that site's pages — a nav or footer they ship everywhere, which is a stronger reference than a one-off.
|
|
5103
|
+
- **The corpus is shared across companies; favorites are per-company**, and search defaults to this company's saved sections.
|
|
5104
|
+
- **`add` studies in the background; `scrape` returns with the page on disk.** `add` grows the shared library and takes minutes, so it can never answer "build our page like this one" within the same turn. `scrape` runs the identical capture locally and blocks until it finishes, writing section screenshots, standalone markup, a whole-page reproduction and `report.html`. `--no-motion` roughly halves the runtime; `--no-mobile`, `--no-code` and `--no-report` skip further passes.
|
|
5105
|
+
- **Inspiration, never a clipboard.** Both `code` and `scrape` record what was consulted, and `critique`'s `originality` family blocks a publish that reuses a reference's copy verbatim.
|
|
5106
|
+
|
|
5107
|
+
### `baker landing critique`
|
|
5108
|
+
|
|
5083
5109
|
Deterministic design-quality critic for landing pages — an offline, no-LLM detector for the well-known "AI slop" tells (gradient text, overused fonts like Inter, side-tab colored borders, cream/parchment grounds, purple-on-heading palettes, buzzword copy, broken images, and more). It scores a landing's `.astro` source and returns findings tiered **block / warn / advisory**.
|
|
5084
5110
|
|
|
5085
5111
|
```bash
|
|
@@ -5097,7 +5123,9 @@ baker landing critique spring-offer summer-offer claude # score three landings
|
|
|
5097
5123
|
|
|
5098
5124
|
- **Agent washing is a copy tell.** A page that claims autonomy ("fully autonomous", "while you sleep", "no human intervention") and never says anywhere what the buyer approves, overrides, or audits scores an `agent-washing` warn. One signal about oversight of the agent's actions — approval, review, override, undo/rollback, audit log, escalation — anywhere on the page clears it; the rule is page-scope precisely because the hero can defer the trust story to a section below it. Generic privacy boilerplate ("GDPR", "encrypted", "your data") deliberately does **not** clear it, since it appears in most footers and says nothing about who is in charge of the agent.
|
|
5099
5125
|
|
|
5100
|
-
|
|
5126
|
+
- **The `originality` family compares your copy against inspiration sections you actually consulted.** It fires only on sections opened with `baker landing inspiration code`, so it flags facts rather than resemblances. Reusing a reference's headline, subhead, or CTA verbatim is block-tier.
|
|
5127
|
+
|
|
5128
|
+
Output is the standard envelope `{ ok, data, hints }` with `data = { advisory, slug, overall, counts, dimensions, findings }`. `dimensions` scores eight design families (typography, color, borders_depth, motion, spacing, copy, integrity, originality) 0–1 (higher is better); `counts` is the block/warn/advisory tally.
|
|
5101
5129
|
|
|
5102
5130
|
## Brand Fonts (`baker brand fonts`)
|
|
5103
5131
|
|
|
@@ -7,9 +7,9 @@ import {
|
|
|
7
7
|
__toESM
|
|
8
8
|
} from "./chunk-YL3HDEIJ.js";
|
|
9
9
|
|
|
10
|
-
//
|
|
10
|
+
// ../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/810146e81bae4e3a061fe487864f2fde80c4b03b886877dc0f1fffbc6480b67e/node_modules/safe-stable-stringify/index.js
|
|
11
11
|
var require_safe_stable_stringify = __commonJS({
|
|
12
|
-
"
|
|
12
|
+
"../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/810146e81bae4e3a061fe487864f2fde80c4b03b886877dc0f1fffbc6480b67e/node_modules/safe-stable-stringify/index.js"(exports, module) {
|
|
13
13
|
"use strict";
|
|
14
14
|
var { hasOwnProperty } = Object.prototype;
|
|
15
15
|
var stringify = configure2();
|
|
@@ -1075,7 +1075,7 @@ function resolveAdaptFormats(params) {
|
|
|
1075
1075
|
return params.formats ?? [];
|
|
1076
1076
|
}
|
|
1077
1077
|
|
|
1078
|
-
//
|
|
1078
|
+
// ../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/810146e81bae4e3a061fe487864f2fde80c4b03b886877dc0f1fffbc6480b67e/node_modules/safe-stable-stringify/esm/wrapper.js
|
|
1079
1079
|
var import__ = __toESM(require_safe_stable_stringify(), 1);
|
|
1080
1080
|
var configure = import__.default.configure;
|
|
1081
1081
|
var wrapper_default = import__.default;
|
|
@@ -8244,4 +8244,4 @@ export {
|
|
|
8244
8244
|
defaultRegistry,
|
|
8245
8245
|
createEngineFromEnv
|
|
8246
8246
|
};
|
|
8247
|
-
//# sourceMappingURL=chunk-
|
|
8247
|
+
//# sourceMappingURL=chunk-PJ5KH27L.js.map
|