[{"data":1,"prerenderedAt":855},["ShallowReactive",2],{"navigation":3,"\u002Fgetting-started\u002Finstallation":170,"\u002Fgetting-started\u002Finstallation-surround":850},[4,25,104,150,160],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-book-open",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-rocket",{"title":26,"icon":6,"path":27,"stem":28,"children":29,"page":6},"Guides","\u002Fguides","2.guides",[30,35,40,45,50,55,60,65,70,75,79,84,89,94,99],{"title":31,"path":32,"stem":33,"icon":34},"Seeds and TestBiome","\u002Fguides\u002Fseeds-and-testbiome","2.guides\u002F01.seeds-and-testbiome","i-lucide-sprout",{"title":36,"path":37,"stem":38,"icon":39},"Blueprints","\u002Fguides\u002Fblueprints","2.guides\u002F02.blueprints","i-lucide-drafting-compass",{"title":41,"path":42,"stem":43,"icon":44},"Customizing","\u002Fguides\u002Fcustomizing","2.guides\u002F03.customizing","i-lucide-sliders-horizontal",{"title":46,"path":47,"stem":48,"icon":49},"Parent\u002Fchild chains and .Under","\u002Fguides\u002Fparents-and-children","2.guides\u002F04.parents-and-children","i-lucide-git-fork",{"title":51,"path":52,"stem":53,"icon":54},"Fan-out","\u002Fguides\u002Ffan-out","2.guides\u002F05.fan-out","i-lucide-split",{"title":56,"path":57,"stem":58,"icon":59},"Sequences","\u002Fguides\u002Fsequences","2.guides\u002F06.sequences","i-lucide-list-ordered",{"title":61,"path":62,"stem":63,"icon":64},"Time and precision","\u002Fguides\u002Ftime-and-precision","2.guides\u002F07.time-and-precision","i-lucide-clock",{"title":66,"path":67,"stem":68,"icon":69},"Transients","\u002Fguides\u002Ftransients","2.guides\u002F08.transients","i-lucide-ghost",{"title":71,"path":72,"stem":73,"icon":74},"Aggregates","\u002Fguides\u002Faggregates","2.guides\u002F09.aggregates","i-lucide-boxes",{"title":76,"path":77,"stem":78,"icon":74},"Input blueprints","\u002Fguides\u002Finput-blueprints","2.guides\u002F09.input-blueprints",{"title":80,"path":81,"stem":82,"icon":83},"Save hooks and global defaults","\u002Fguides\u002Fsave-hooks-and-defaults","2.guides\u002F10.save-hooks-and-defaults","i-lucide-webhook",{"title":85,"path":86,"stem":87,"icon":88},"EF Core store","\u002Fguides\u002Fef-core-store","2.guides\u002F11.ef-core-store","i-lucide-database",{"title":90,"path":91,"stem":92,"icon":93},"No-DB unit tests","\u002Fguides\u002Fno-db-unit-tests","2.guides\u002F12.no-db-unit-tests","i-lucide-flask-conical",{"title":95,"path":96,"stem":97,"icon":98},"Generated grafts and scenario helpers","\u002Fguides\u002Fscenario-helpers-and-sugar","2.guides\u002F13.scenario-helpers-and-sugar","i-lucide-wand-sparkles",{"title":100,"path":101,"stem":102,"icon":103},"Constructor setup","\u002Fguides\u002Fconstructor-setup","2.guides\u002F14.constructor-setup","i-lucide-blocks",{"title":105,"path":106,"stem":107,"children":108,"icon":6},"Examples","\u002Fexamples","3.examples\u002F1.index",[109,111,116,121,126,130,135,140,145],{"title":105,"path":106,"stem":107,"icon":110},"i-lucide-library",{"title":112,"path":113,"stem":114,"icon":115},"Code reviews","\u002Fexamples\u002Fcode-reviews","3.examples\u002F2.code-reviews","i-lucide-git-pull-request",{"title":117,"path":118,"stem":119,"icon":120},"Membership","\u002Fexamples\u002Fmembership","3.examples\u002F3.membership","i-lucide-users",{"title":122,"path":123,"stem":124,"icon":125},"Board","\u002Fexamples\u002Fboard","3.examples\u002F4.board","i-lucide-kanban",{"title":127,"path":128,"stem":129,"icon":44},"Custom seed","\u002Fexamples\u002Fcustom-seed","3.examples\u002F5.custom-seed",{"title":131,"path":132,"stem":133,"icon":134},"Commerce","\u002Fexamples\u002Fcommerce","3.examples\u002F6.commerce","i-lucide-shopping-cart",{"title":136,"path":137,"stem":138,"icon":139},"Project management","\u002Fexamples\u002Fproject-management","3.examples\u002F7.project-management","i-lucide-folder-kanban",{"title":141,"path":142,"stem":143,"icon":144},"Learning","\u002Fexamples\u002Flearning","3.examples\u002F8.learning","i-lucide-graduation-cap",{"title":146,"path":147,"stem":148,"icon":149},"Docs ingest","\u002Fexamples\u002Fdocs-ingest","3.examples\u002F9.docs-ingest","i-lucide-file-search",{"title":151,"icon":6,"path":152,"stem":153,"children":154,"page":6},"Reference","\u002Freference","4.reference",[155],{"title":156,"path":157,"stem":158,"icon":159},"API cheat sheet","\u002Freference\u002Fapi-cheat-sheet","4.reference\u002F1.api-cheat-sheet","i-lucide-list-checks",{"title":161,"icon":6,"path":162,"stem":163,"children":164,"page":6},"Agent Skills","\u002Fagents","5.agents",[165],{"title":166,"path":167,"stem":168,"icon":169},"Agent skills","\u002Fagents\u002Fagent-skills","5.agents\u002F1.agent-skills","i-lucide-bot",{"id":171,"title":16,"body":172,"description":843,"extension":844,"links":845,"meta":846,"navigation":847,"path":17,"seo":848,"stem":18,"__hash__":849},"docs\u002F1.getting-started\u002F2.installation.md",{"type":173,"value":174,"toc":835},"minimark",[175,179,184,221,225,551,567,571,591,595,647,651,654,793,808,812,831],[176,177,178],"p",{},"Biome can work with the test framework you already use. Start with the core package; add the EF Core integration if your tests need to persist the graph.",[180,181,183],"h2",{"id":182},"requirements","Requirements",[185,186,187,204,215],"ul",{},[188,189,190,194,195,198,199,203],"li",{},[191,192,193],"strong",{},".NET 10",". Use ",[191,196,197],{},"C# 14"," if you write handwritten context overloads or scenario helpers with ",[200,201,202],"code",{},"extension"," blocks; generated graft methods use regular extension methods.",[188,205,206,207,214],{},"Any test framework. The examples use ",[208,209,213],"a",{"href":210,"rel":211},"https:\u002F\u002Ftunit.dev",[212],"nofollow","TUnit",".",[188,216,217,218,214],{},"The core package has ",[191,219,220],{},"no dependencies",[180,222,224],{"id":223},"add-the-packages","Add the packages",[226,227,228,276,452],"code-group",{},[229,230,236],"pre",{"className":231,"code":232,"filename":233,"language":234,"meta":235,"style":235},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark","dotnet add package Zeeq.Biome\n# Optional: save with a DbContext\ndotnet add package Zeeq.Biome.EntityFrameworkCore\n","dotnet CLI","bash","",[200,237,238,257,264],{"__ignoreMap":235},[239,240,243,247,251,254],"span",{"class":241,"line":242},"line",1,[239,244,246],{"class":245},"sbgvK","dotnet",[239,248,250],{"class":249},"s_sjI"," add",[239,252,253],{"class":249}," package",[239,255,256],{"class":249}," Zeeq.Biome\n",[239,258,260],{"class":241,"line":259},2,[239,261,263],{"class":262},"sutJx","# Optional: save with a DbContext\n",[239,265,267,269,271,273],{"class":241,"line":266},3,[239,268,246],{"class":245},[239,270,250],{"class":249},[239,272,253],{"class":249},[239,274,275],{"class":249}," Zeeq.Biome.EntityFrameworkCore\n",[229,277,285],{"className":278,"code":279,"filename":280,"highlights":281,"language":284,"meta":235,"style":235},"language-xml shiki shiki-themes material-theme-lighter github-light github-dark","\u003CProject Sdk=\"Microsoft.NET.Sdk\">\n  \u003CPropertyGroup>\n    \u003CTargetFramework>net10.0\u003C\u002FTargetFramework>\n  \u003C\u002FPropertyGroup>\n  \u003CItemGroup>\n    \u003CPackageReference Include=\"Zeeq.Biome\" Version=\"*\" \u002F>\n    \u003CPackageReference Include=\"Zeeq.Biome.EntityFrameworkCore\" Version=\"*\" \u002F>\n  \u003C\u002FItemGroup>\n\u003C\u002FProject>\n","Tests.csproj",[282,283],6,7,"xml",[200,286,287,316,326,348,358,368,404,434,443],{"__ignoreMap":235},[239,288,289,293,297,301,304,308,311,313],{"class":241,"line":242},[239,290,292],{"class":291},"sP7_E","\u003C",[239,294,296],{"class":295},"sQzsp","Project",[239,298,300],{"class":299},"s9AJx"," Sdk",[239,302,303],{"class":291},"=",[239,305,307],{"class":306},"sjJ54","\"",[239,309,310],{"class":249},"Microsoft.NET.Sdk",[239,312,307],{"class":306},[239,314,315],{"class":291},">\n",[239,317,318,321,324],{"class":241,"line":259},[239,319,320],{"class":291},"  \u003C",[239,322,323],{"class":295},"PropertyGroup",[239,325,315],{"class":291},[239,327,328,331,334,337,341,344,346],{"class":241,"line":266},[239,329,330],{"class":291},"    \u003C",[239,332,333],{"class":295},"TargetFramework",[239,335,336],{"class":291},">",[239,338,340],{"class":339},"su5hD","net10.0",[239,342,343],{"class":291},"\u003C\u002F",[239,345,333],{"class":295},[239,347,315],{"class":291},[239,349,351,354,356],{"class":241,"line":350},4,[239,352,353],{"class":291},"  \u003C\u002F",[239,355,323],{"class":295},[239,357,315],{"class":291},[239,359,361,363,366],{"class":241,"line":360},5,[239,362,320],{"class":291},[239,364,365],{"class":295},"ItemGroup",[239,367,315],{"class":291},[239,369,372,374,377,380,382,384,387,389,392,394,396,399,401],{"class":370,"line":282},[241,371],"highlight",[239,373,330],{"class":291},[239,375,376],{"class":295},"PackageReference",[239,378,379],{"class":299}," Include",[239,381,303],{"class":291},[239,383,307],{"class":306},[239,385,386],{"class":249},"Zeeq.Biome",[239,388,307],{"class":306},[239,390,391],{"class":299}," Version",[239,393,303],{"class":291},[239,395,307],{"class":306},[239,397,398],{"class":249},"*",[239,400,307],{"class":306},[239,402,403],{"class":291}," \u002F>\n",[239,405,407,409,411,413,415,417,420,422,424,426,428,430,432],{"class":406,"line":283},[241,371],[239,408,330],{"class":291},[239,410,376],{"class":295},[239,412,379],{"class":299},[239,414,303],{"class":291},[239,416,307],{"class":306},[239,418,419],{"class":249},"Zeeq.Biome.EntityFrameworkCore",[239,421,307],{"class":306},[239,423,391],{"class":299},[239,425,303],{"class":291},[239,427,307],{"class":306},[239,429,398],{"class":249},[239,431,307],{"class":306},[239,433,403],{"class":291},[239,435,437,439,441],{"class":241,"line":436},8,[239,438,353],{"class":291},[239,440,365],{"class":295},[239,442,315],{"class":291},[239,444,446,448,450],{"class":241,"line":445},9,[239,447,343],{"class":291},[239,449,296],{"class":295},[239,451,315],{"class":291},[229,453,457],{"className":278,"code":454,"filename":455,"highlights":456,"language":284,"meta":235,"style":235},"\u003CProject>\n  \u003CItemGroup>\n    \u003CPackageVersion Include=\"Zeeq.Biome\" Version=\"x.y.z\" \u002F>\n    \u003CPackageVersion Include=\"Zeeq.Biome.EntityFrameworkCore\" Version=\"x.y.z\" \u002F>\n  \u003C\u002FItemGroup>\n\u003C\u002FProject>\n","Directory.Packages.props",[266,350],[200,458,459,467,475,506,535,543],{"__ignoreMap":235},[239,460,461,463,465],{"class":241,"line":242},[239,462,292],{"class":291},[239,464,296],{"class":295},[239,466,315],{"class":291},[239,468,469,471,473],{"class":241,"line":259},[239,470,320],{"class":291},[239,472,365],{"class":295},[239,474,315],{"class":291},[239,476,478,480,483,485,487,489,491,493,495,497,499,502,504],{"class":477,"line":266},[241,371],[239,479,330],{"class":291},[239,481,482],{"class":295},"PackageVersion",[239,484,379],{"class":299},[239,486,303],{"class":291},[239,488,307],{"class":306},[239,490,386],{"class":249},[239,492,307],{"class":306},[239,494,391],{"class":299},[239,496,303],{"class":291},[239,498,307],{"class":306},[239,500,501],{"class":249},"x.y.z",[239,503,307],{"class":306},[239,505,403],{"class":291},[239,507,509,511,513,515,517,519,521,523,525,527,529,531,533],{"class":508,"line":350},[241,371],[239,510,330],{"class":291},[239,512,482],{"class":295},[239,514,379],{"class":299},[239,516,303],{"class":291},[239,518,307],{"class":306},[239,520,419],{"class":249},[239,522,307],{"class":306},[239,524,391],{"class":299},[239,526,303],{"class":291},[239,528,307],{"class":306},[239,530,501],{"class":249},[239,532,307],{"class":306},[239,534,403],{"class":291},[239,536,537,539,541],{"class":241,"line":360},[239,538,353],{"class":291},[239,540,365],{"class":295},[239,542,315],{"class":291},[239,544,545,547,549],{"class":241,"line":282},[239,546,343],{"class":291},[239,548,296],{"class":295},[239,550,315],{"class":291},[552,553,554],"note",{},[176,555,556,557,559,560,566],{},"Only add ",[200,558,419],{}," when you want to ",[191,561,562,563],{},"save through a ",[200,564,565],{},"DbContext",". For pure unit tests, the core package alone is enough.",[180,568,570],{"id":569},"input-blueprint-api-version","Input blueprint API version",[176,572,573,574,577,578,581,582,584,585,587,588,590],{},"Ordinary entity outputs for ",[200,575,576],{},"Blueprint.FromInput",", and ",[200,579,580],{},"Blueprint.ChildFromInput",", are available in ",[200,583,386],{}," 1.1.0 and later. If you also use ",[200,586,419],{},", use the matching package version. See ",[208,589,76],{"href":77}," for their behavior.",[180,592,594],{"id":593},"namespaces","Namespaces",[229,596,601],{"className":597,"code":598,"filename":599,"language":600,"meta":235,"style":235},"language-csharp shiki shiki-themes material-theme-lighter github-light github-dark","\u002F\u002F Biome, Blueprint, Sequence, BiomeOptions, IBiomeStore, …\nusing Zeeq.Biome;\nusing Zeeq.Biome.EntityFrameworkCore;   \u002F\u002F EfCoreStore, db.AsBiomeStore()\n","Usings.cs","csharp",[200,602,603,608,626],{"__ignoreMap":235},[239,604,605],{"class":241,"line":242},[239,606,607],{"class":262},"\u002F\u002F Biome, Blueprint, Sequence, BiomeOptions, IBiomeStore, …\n",[239,609,610,614,618,620,623],{"class":241,"line":259},[239,611,613],{"class":612},"sw1J6","using",[239,615,617],{"class":616},"sfCm-"," Zeeq",[239,619,214],{"class":291},[239,621,622],{"class":616},"Biome",[239,624,625],{"class":291},";\n",[239,627,628,630,632,634,636,638,641,644],{"class":241,"line":266},[239,629,613],{"class":612},[239,631,617],{"class":616},[239,633,214],{"class":291},[239,635,622],{"class":616},[239,637,214],{"class":291},[239,639,640],{"class":616},"EntityFrameworkCore",[239,642,643],{"class":291},";",[239,645,646],{"class":262},"   \u002F\u002F EfCoreStore, db.AsBiomeStore()\n",[180,648,650],{"id":649},"verify-the-install","Verify the install",[176,652,653],{},"To check the install before defining your app's blueprints, start a small session in a test. This example needs no store:",[229,655,659],{"className":597,"code":656,"filename":657,"highlights":658,"language":600,"meta":235,"style":235},"public sealed class InstallTests\n{\n    [Test]\n    public async Task Biome_starts()\n    {\n        var biome = Biome.Start(\"seed\", new BiomeOptions\u003Cstring>());\n        await biome.BuildAsync(); \u002F\u002F NullStore: nothing is saved\n    }\n}\n","InstallTests.cs",[282,283],[200,660,661,677,682,693,711,716,764,783,788],{"__ignoreMap":235},[239,662,663,667,670,674],{"class":241,"line":242},[239,664,666],{"class":665},"sbsja","public",[239,668,669],{"class":665}," sealed",[239,671,673],{"class":672},"sG8yY"," class",[239,675,676],{"class":245}," InstallTests\n",[239,678,679],{"class":241,"line":259},[239,680,681],{"class":291},"{\n",[239,683,684,687,690],{"class":241,"line":266},[239,685,686],{"class":291},"    [",[239,688,689],{"class":245},"Test",[239,691,692],{"class":291},"]\n",[239,694,695,698,701,704,708],{"class":241,"line":350},[239,696,697],{"class":665},"    public",[239,699,700],{"class":665}," async",[239,702,703],{"class":245}," Task",[239,705,707],{"class":706},"sGLFI"," Biome_starts",[239,709,710],{"class":291},"()\n",[239,712,713],{"class":241,"line":360},[239,714,715],{"class":291},"    {\n",[239,717,719,722,725,729,732,734,737,740,742,745,747,750,753,756,758,761],{"class":718,"line":282},[241,371],[239,720,721],{"class":672},"        var",[239,723,724],{"class":245}," biome",[239,726,728],{"class":727},"smGrS"," =",[239,730,731],{"class":339}," Biome",[239,733,214],{"class":291},[239,735,736],{"class":706},"Start",[239,738,739],{"class":291},"(",[239,741,307],{"class":306},[239,743,744],{"class":249},"seed",[239,746,307],{"class":306},[239,748,749],{"class":291},",",[239,751,752],{"class":727}," new",[239,754,755],{"class":245}," BiomeOptions",[239,757,292],{"class":291},[239,759,760],{"class":727},"string",[239,762,763],{"class":291},">());\n",[239,765,767,770,772,774,777,780],{"class":766,"line":283},[241,371],[239,768,769],{"class":727},"        await",[239,771,724],{"class":339},[239,773,214],{"class":291},[239,775,776],{"class":706},"BuildAsync",[239,778,779],{"class":291},"();",[239,781,782],{"class":262}," \u002F\u002F NullStore: nothing is saved\n",[239,784,785],{"class":241,"line":436},[239,786,787],{"class":291},"    }\n",[239,789,790],{"class":241,"line":445},[239,791,792],{"class":291},"}\n",[794,795,796],"tip",{},[176,797,798,799,801,802,804,805,214],{},"The minimal install above starts a session with a plain ",[200,800,760],{}," as the seed. The ",[208,803,21],{"href":22}," replaces it with a real seed and your own ",[200,806,807],{},"TestBiome",[180,809,811],{"id":810},"local-builds","Local builds",[176,813,814,815,818,819,822,823,826,827,830],{},"Packages built from a clone report ",[200,816,817],{},"0.0.0-local",". Releases are versioned with Semantic Versioning, computed from Conventional Commits (",[200,820,821],{},"feat:"," is a minor bump, ",[200,824,825],{},"fix:"," a patch, ",[200,828,829],{},"feat!:"," a major).",[832,833,834],"style",{},"html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sw1J6, html code.shiki .sw1J6{--shiki-light:#F76D47;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sfCm-, html code.shiki .sfCm-{--shiki-light:#90A4AE;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sG8yY, html code.shiki .sG8yY{--shiki-light:#E2931D;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sQzsp, html code.shiki .sQzsp{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .s9AJx, html code.shiki .s9AJx{--shiki-light:#9C3EDA;--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":235,"searchDepth":242,"depth":259,"links":836},[837,838,839,840,841,842],{"id":182,"depth":259,"text":183},{"id":223,"depth":259,"text":224},{"id":569,"depth":259,"text":570},{"id":593,"depth":259,"text":594},{"id":649,"depth":259,"text":650},{"id":810,"depth":259,"text":811},"Add Zeeq Biome to a .NET 10 test project.","md",null,{},{"icon":19},{"title":16,"description":843},"Yzev5BHH1JN970Tx58ZXMsbqHEKI_6mqgzwDRIQ1Eng",[851,853],{"title":11,"path":12,"stem":13,"description":852,"icon":14,"children":-1},"Why terse, readable tests matter for coding agents, and how Biome reduces setup and context overhead.",{"title":21,"path":22,"stem":23,"description":854,"icon":24,"children":-1},"Write a seed, a blueprint, a chain and a saved test in six steps.",1791831050382]