@koda-sl/baker-cli 0.425.0-dev.107cc9af3 → 0.426.0-dev.5af7a82af
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 +5 -3
- package/dist/{chunk-5EMMHYLP.js → chunk-GTHLEQHU.js} +14 -1
- package/dist/chunk-GTHLEQHU.js.map +1 -0
- package/dist/cli.js +2117 -1712
- package/dist/cli.js.map +1 -1
- package/dist/engine/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-5EMMHYLP.js.map +0 -1
package/README.md
CHANGED
|
@@ -1810,12 +1810,14 @@ Ads start from what customers said. Three commands carry the process; the agent
|
|
|
1810
1810
|
```bash
|
|
1811
1811
|
baker creatives brief [--adset <id>] [--account-id act_<id>] # one read: viewer, account bottleneck, what works, taste, customer quotes, ideas on file
|
|
1812
1812
|
baker creatives ideas [--full] # check and rank src/creatives/_ideas/*.md; build_next
|
|
1813
|
-
baker creatives make <idea> [--slug <s>] [--adset <id>] [--reference <adId>] [--spec <beats.json>]
|
|
1813
|
+
baker creatives make <idea> [--slug <s>] [--adset <id>] [--reference <adId>] [--spec <beats.json>] [--from-idea]
|
|
1814
|
+
baker creatives learn [--days <n>] [--dry-run] # what each idea's ads did, written back onto the idea
|
|
1814
1815
|
```
|
|
1815
1816
|
|
|
1816
|
-
- `brief` returns a verdict, not raw numbers: `account.bottleneck` is `hook`, `after_click`, `none` or `too_little_data`. A part that cannot be read says `unavailable`.
|
|
1817
|
+
- `brief` returns a verdict, not raw numbers: `account.bottleneck` is `hook`, `after_click`, `none` or `too_little_data`. A part that cannot be read says `unavailable`. `market` says what competitors' ads already say (the followed brands, else the library), how sophisticated the market is, and which awareness stages nobody speaks to.
|
|
1817
1818
|
- `ideas` is free and local. An idea's `evidence` resolves to `src/content/insights/` entries, or it is an `explore` bet. Numbers must be in the Knowledge or our own customers' quotes (a Reddit, forum or web quote never sources a claim), no two ideas may share an angle and format, and a review or testimonial format needs a quote from our own customer.
|
|
1818
|
-
- `
|
|
1819
|
+
- `learn` pools each built idea's creatives, judges them against the rest of the account's cost per result and writes `status` (`winner`, `failed`, `inconclusive`, `testing`) and a frozen `result` onto the idea. `ideas` then warns when a new idea repeats a failed one.
|
|
1820
|
+
- `make` builds one idea. A static searches the idea's container for ads made for our viewer, checks the closest three with `winning-ads fit` and scaffolds from the first that fits. A video idea takes its beats spec. Either way it records the idea on `_definition.md`, sets `prompt.json`'s `message` and syncs the definition. Drafted copy lines claiming a figure the company never wrote come back first in `hints`. When no proven ad fits (or with `--from-idea`), a static starts from the idea itself: `prompt.json` holds the message and placeholders, and `canvas run` refuses to render until the scene and copy are written.
|
|
1819
1821
|
|
|
1820
1822
|
### Competitive Intelligence (`baker research`)
|
|
1821
1823
|
|
|
@@ -6919,6 +6919,18 @@ function conceptProblems(spec) {
|
|
|
6919
6919
|
}
|
|
6920
6920
|
return problems;
|
|
6921
6921
|
}
|
|
6922
|
+
var PLACEHOLDER = "[TODO";
|
|
6923
|
+
function unwrittenProblems(spec) {
|
|
6924
|
+
const problems = [];
|
|
6925
|
+
if (spec.scene.description.includes(PLACEHOLDER)) {
|
|
6926
|
+
problems.push("The scene is still a placeholder: write what the viewer sees in `scene.description`.");
|
|
6927
|
+
}
|
|
6928
|
+
const lines = spec.copy.filter((line) => line.text.includes(PLACEHOLDER));
|
|
6929
|
+
if (lines.length > 0) {
|
|
6930
|
+
problems.push(`${lines.length} line(s) of copy are still placeholders: write each as it prints, or drop it.`);
|
|
6931
|
+
}
|
|
6932
|
+
return problems;
|
|
6933
|
+
}
|
|
6922
6934
|
function readAdSpec(raw) {
|
|
6923
6935
|
if (isAdSpec(raw)) return AdSpecSchema.parse(raw);
|
|
6924
6936
|
const advertiser = raw?.reference?.advertiser;
|
|
@@ -18464,6 +18476,7 @@ export {
|
|
|
18464
18476
|
isAdSpec,
|
|
18465
18477
|
conceptSummary,
|
|
18466
18478
|
conceptProblems,
|
|
18479
|
+
unwrittenProblems,
|
|
18467
18480
|
readAdSpec,
|
|
18468
18481
|
withRenderedLettering,
|
|
18469
18482
|
conceptClassOf,
|
|
@@ -18551,4 +18564,4 @@ export {
|
|
|
18551
18564
|
defaultRegistry,
|
|
18552
18565
|
createEngineFromEnv
|
|
18553
18566
|
};
|
|
18554
|
-
//# sourceMappingURL=chunk-
|
|
18567
|
+
//# sourceMappingURL=chunk-GTHLEQHU.js.map
|